Scope

This test set is designed to test the loading of Hubs.

 

Only 1 instance of each Key must be present in the Source Table.

Definitions

The Business Keys of the Source Table are used to detect Inserts.

Allowable Data Types:

  1. bigint
  2. binary
  3. bit
  4. char
  5. date
  6. datetime
  7. datetimeoffset
  8. datetime2
  9. decimal
  10. float
  11. int
  12. money
  13. nchar
  14. numeric
  15. nvarchar
  16. real
  17. smalldatetime
  18. smallint
  19. smallmoney
  20. time
  21. tinyint
  22. varbinary
  23. varchar

Functions

The following functions are tested:

  1. Inserts – when a new Key is detected, a Hub Row is created with:
    1. A Load Date/Time which reflects the current Server Clock Time;
    2. A Record Source, which is the Config Key of the Source Table which Sourced the New Key;
    3. One or More columns holding the New Business Key;
    4. A surrogate Key, which generates a unique integer key, which will be used throughout the Data Vault to refer to the Business Key.

Test Scheme

In order to achieve a thorough test of the “Load Hub” feature

Arrange:

  1. Create 3 Source Tables ST1, ST2 and  ST3;
  2. ST1 should have a single Column of Integer Data Type;
  3. ST2 should have 3 columns, 1 varchar(10), 1 integer and 1 nvarchar with a special Collation Sequence;
  4. ST3 should have exactly the same definition as ST1;
  5. Create the necessary Configuration to be able to load HUB1 from ST1 as well as ST3;
  6. Create the necessary Configuration Data to be able to load HUB2 from ST3.

Act:

  1. Create Key1 in ST1 with the Key Populated;
  2. Create Key2 in ST1 where the key is null;
  3. Create Key1 in ST2 where all columns are populated;
  4. Create Key3 in ST3 with  the Key populated with a value which doesn’t exist in ST1;
  5. Run1: load all Tables;
  6. Create Key4 in ST1 with a new, distinct value;
  7. Delete Key1 in ST2;
  8. Create Key2 in ST2, with new values;
  9. Create Key5 in ST3, with the same value as Key1 in ST1;
  10. Run2: load all tables;

Assert:

  1. HUB1 Key1:
    1. The Load Date/Time should be the Server Clock Time as at Run1;
    2. The record Source should point to ST1;
    3. The Payload should be the value of ST1, Key1.
  2. HUB1 Key2:
    1. The Load Date/Time should be the Server Clock Time as at Run1;
    2. The record source should point to ST1;
    3. The Key Value should be NULL;
  3. HUB1 Key3:
    1. The Load Date/Time should be the Server Clock Time as at Run1;
    2. The record source should point to ST3;
    3. The Payload should be the value of ST3, Key3.
  4. HUB1 Key4:
    1. The Load Date/Time should be the Server Clock Time as at Run2;
    2. The record Source should point to ST1;
    3. The Payload should be the value of ST1 Key4.
  5. HUB2 Key1:
    1. The Load Date/Time should be the Server Clock Time as at Run2;
    2. The Record Source should point to ST2;
    3. The Payload should be the value of ST2 Key1
  6. HUB2 Key2;
    1. The Load Date should be the Server Clock Time as at Run2;
    2. The Record Source should point to ST2;
    3. The Payload should be the value of ST2 Key2;

Description of the Raw Vault Hub Load Feature