Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacob Beck committed Apr 26, 2019
1 parent 5ea91b0 commit 6f8ae46
Show file tree
Hide file tree
Showing 3 changed files with 232 additions and 8 deletions.
8 changes: 4 additions & 4 deletions test/integration/004_simple_archive_test/seed.sql
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ create table {database}.{schema}.archive_expected (
updated_at TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_from TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_to TIMESTAMP WITHOUT TIME ZONE,
dbt_scd_id VARCHAR(255),
dbt_scd_id VARCHAR(256),
dbt_updated_at TIMESTAMP WITHOUT TIME ZONE
);

Expand Down Expand Up @@ -93,7 +93,7 @@ create table {database}.{schema}.archive_castillo_expected (
updated_at TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_from TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_to TIMESTAMP WITHOUT TIME ZONE,
dbt_scd_id VARCHAR(255),
dbt_scd_id VARCHAR(256),
dbt_updated_at TIMESTAMP WITHOUT TIME ZONE
);

Expand Down Expand Up @@ -139,7 +139,7 @@ create table {database}.{schema}.archive_alvarez_expected (
updated_at TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_from TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_to TIMESTAMP WITHOUT TIME ZONE,
dbt_scd_id VARCHAR(255),
dbt_scd_id VARCHAR(256),
dbt_updated_at TIMESTAMP WITHOUT TIME ZONE
);

Expand Down Expand Up @@ -185,7 +185,7 @@ create table {database}.{schema}.archive_kelly_expected (
updated_at TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_from TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_to TIMESTAMP WITHOUT TIME ZONE,
dbt_scd_id VARCHAR(255),
dbt_scd_id VARCHAR(256),
dbt_updated_at TIMESTAMP WITHOUT TIME ZONE
);

Expand Down
221 changes: 221 additions & 0 deletions test/integration/004_simple_archive_test/seed_pg.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
create table {database}.{schema}.seed (
id INTEGER,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(50),
gender VARCHAR(50),
ip_address VARCHAR(20),
updated_at TIMESTAMP WITHOUT TIME ZONE
);

create table {database}.{schema}.archive_expected (
id INTEGER,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(50),
gender VARCHAR(50),
ip_address VARCHAR(20),

-- archival fields
updated_at TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_from TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_to TIMESTAMP WITHOUT TIME ZONE,
dbt_scd_id TEXT,
dbt_updated_at TIMESTAMP WITHOUT TIME ZONE
);


-- seed inserts
insert into {database}.{schema}.seed (id, first_name, last_name, email, gender, ip_address, updated_at) values
(1, 'Judith', 'Kennedy', 'jkennedy0@phpbb.com', 'Female', '54.60.24.128', '2015-12-24 12:19:28'),
(2, 'Arthur', 'Kelly', 'akelly1@eepurl.com', 'Male', '62.56.24.215', '2015-10-28 16:22:15'),
(3, 'Rachel', 'Moreno', 'rmoreno2@msu.edu', 'Female', '31.222.249.23', '2016-04-05 02:05:30'),
(4, 'Ralph', 'Turner', 'rturner3@hp.com', 'Male', '157.83.76.114', '2016-08-08 00:06:51'),
(5, 'Laura', 'Gonzales', 'lgonzales4@howstuffworks.com', 'Female', '30.54.105.168', '2016-09-01 08:25:38'),
(6, 'Katherine', 'Lopez', 'klopez5@yahoo.co.jp', 'Female', '169.138.46.89', '2016-08-30 18:52:11'),
(7, 'Jeremy', 'Hamilton', 'jhamilton6@mozilla.org', 'Male', '231.189.13.133', '2016-07-17 02:09:46'),
(8, 'Heather', 'Rose', 'hrose7@goodreads.com', 'Female', '87.165.201.65', '2015-12-29 22:03:56'),
(9, 'Gregory', 'Kelly', 'gkelly8@trellian.com', 'Male', '154.209.99.7', '2016-03-24 21:18:16'),
(10, 'Rachel', 'Lopez', 'rlopez9@themeforest.net', 'Female', '237.165.82.71', '2016-08-20 15:44:49'),
(11, 'Donna', 'Welch', 'dwelcha@shutterfly.com', 'Female', '103.33.110.138', '2016-02-27 01:41:48'),
(12, 'Russell', 'Lawrence', 'rlawrenceb@qq.com', 'Male', '189.115.73.4', '2016-06-11 03:07:09'),
(13, 'Michelle', 'Montgomery', 'mmontgomeryc@scientificamerican.com', 'Female', '243.220.95.82', '2016-06-18 16:27:19'),
(14, 'Walter', 'Castillo', 'wcastillod@pagesperso-orange.fr', 'Male', '71.159.238.196', '2016-10-06 01:55:44'),
(15, 'Robin', 'Mills', 'rmillse@vkontakte.ru', 'Female', '172.190.5.50', '2016-10-31 11:41:21'),
(16, 'Raymond', 'Holmes', 'rholmesf@usgs.gov', 'Male', '148.153.166.95', '2016-10-03 08:16:38'),
(17, 'Gary', 'Bishop', 'gbishopg@plala.or.jp', 'Male', '161.108.182.13', '2016-08-29 19:35:20'),
(18, 'Anna', 'Riley', 'arileyh@nasa.gov', 'Female', '253.31.108.22', '2015-12-11 04:34:27'),
(19, 'Sarah', 'Knight', 'sknighti@foxnews.com', 'Female', '222.220.3.177', '2016-09-26 00:49:06'),
(20, 'Phyllis', 'Fox', 'pfoxj@creativecommons.org', 'Female', '163.191.232.95', '2016-08-21 10:35:19');


-- populate archive table
insert into {database}.{schema}.archive_expected (
id,
first_name,
last_name,
email,
gender,
ip_address,
updated_at,
dbt_valid_from,
dbt_valid_to,
dbt_updated_at,
dbt_scd_id
)

select
id,
first_name,
last_name,
email,
gender,
ip_address,
updated_at,
-- fields added by archival
updated_at as dbt_valid_from,
null::timestamp as dbt_valid_to,
updated_at as dbt_updated_at,
md5(id || '-' || first_name || '|' || updated_at::text) as dbt_scd_id
from {database}.{schema}.seed;



create table {database}.{schema}.archive_castillo_expected (
id INTEGER,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(50),
gender VARCHAR(50),
ip_address VARCHAR(20),

-- archival fields
updated_at TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_from TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_to TIMESTAMP WITHOUT TIME ZONE,
dbt_scd_id TEXT,
dbt_updated_at TIMESTAMP WITHOUT TIME ZONE
);

-- one entry
insert into {database}.{schema}.archive_castillo_expected (
id,
first_name,
last_name,
email,
gender,
ip_address,
updated_at,
dbt_valid_from,
dbt_valid_to,
dbt_updated_at,
dbt_scd_id
)

select
id,
first_name,
last_name,
email,
gender,
ip_address,
updated_at,
-- fields added by archival
updated_at as dbt_valid_from,
null::timestamp as dbt_valid_to,
updated_at as dbt_updated_at,
md5(id || '-' || first_name || '|' || updated_at::text) as dbt_scd_id
from {database}.{schema}.seed where last_name = 'Castillo';

create table {database}.{schema}.archive_alvarez_expected (
id INTEGER,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(50),
gender VARCHAR(50),
ip_address VARCHAR(20),

-- archival fields
updated_at TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_from TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_to TIMESTAMP WITHOUT TIME ZONE,
dbt_scd_id TEXT,
dbt_updated_at TIMESTAMP WITHOUT TIME ZONE
);

-- 0 entries
insert into {database}.{schema}.archive_alvarez_expected (
id,
first_name,
last_name,
email,
gender,
ip_address,
updated_at,
dbt_valid_from,
dbt_valid_to,
dbt_updated_at,
dbt_scd_id
)

select
id,
first_name,
last_name,
email,
gender,
ip_address,
updated_at,
-- fields added by archival
updated_at as dbt_valid_from,
null::timestamp as dbt_valid_to,
updated_at as dbt_updated_at,
md5(id || '-' || first_name || '|' || updated_at::text) as dbt_scd_id
from {database}.{schema}.seed where last_name = 'Alvarez';

create table {database}.{schema}.archive_kelly_expected (
id INTEGER,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(50),
gender VARCHAR(50),
ip_address VARCHAR(20),

-- archival fields
updated_at TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_from TIMESTAMP WITHOUT TIME ZONE,
dbt_valid_to TIMESTAMP WITHOUT TIME ZONE,
dbt_scd_id TEXT,
dbt_updated_at TIMESTAMP WITHOUT TIME ZONE
);


-- 2 entries
insert into {database}.{schema}.archive_kelly_expected (
id,
first_name,
last_name,
email,
gender,
ip_address,
updated_at,
dbt_valid_from,
dbt_valid_to,
dbt_updated_at,
dbt_scd_id
)

select
id,
first_name,
last_name,
email,
gender,
ip_address,
updated_at,
-- fields added by archival
updated_at as dbt_valid_from,
null::timestamp as dbt_valid_to,
updated_at as dbt_updated_at,
md5(id || '-' || first_name || '|' || updated_at::text) as dbt_scd_id
from {database}.{schema}.seed where last_name = 'Kelly';
11 changes: 7 additions & 4 deletions test/integration/004_simple_archive_test/test_simple_archive.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,10 @@ def project_config(self):
}

def dbt_run_seed_archive(self):
self.run_sql_file('test/integration/004_simple_archive_test/seed.sql')
if self.adapter_type == 'postgres':
self.run_sql_file('test/integration/004_simple_archive_test/seed_pg.sql')
else:
self.run_sql_file('test/integration/004_simple_archive_test/seed.sql')

results = self.run_archive()
self.assertEqual(len(results), self.NUM_ARCHIVE_MODELS)
Expand Down Expand Up @@ -316,7 +319,7 @@ def project_config(self):

@use_profile('postgres')
def test__postgres__select_archives(self):
self.run_sql_file('test/integration/004_simple_archive_test/seed.sql')
self.run_sql_file('test/integration/004_simple_archive_test/seed_pg.sql')

results = self.run_dbt(['archive'])
self.assertEqual(len(results), 4)
Expand All @@ -337,7 +340,7 @@ def test__postgres__select_archives(self):

@use_profile('postgres')
def test__postgres_exclude_archives(self):
self.run_sql_file('test/integration/004_simple_archive_test/seed.sql')
self.run_sql_file('test/integration/004_simple_archive_test/seed_pg.sql')
results = self.run_dbt(['archive', '--exclude', 'archive_castillo'])
self.assertEqual(len(results), 3)
self.assertTableDoesNotExist('archive_castillo')
Expand All @@ -347,7 +350,7 @@ def test__postgres_exclude_archives(self):

@use_profile('postgres')
def test__postgres_select_archives(self):
self.run_sql_file('test/integration/004_simple_archive_test/seed.sql')
self.run_sql_file('test/integration/004_simple_archive_test/seed_pg.sql')
results = self.run_dbt(['archive', '--models', 'archive_castillo'])
self.assertEqual(len(results), 1)
self.assertTablesEqual('archive_castillo', 'archive_castillo_expected')
Expand Down

0 comments on commit 6f8ae46

Please sign in to comment.