Skip to content

Commit 414b1ec

Browse files
validation tests
1 parent da6b38a commit 414b1ec

File tree

7 files changed

+230
-1
lines changed

7 files changed

+230
-1
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
[PR #16](https://github.com/fivetran/dbt_salesforce_marketing_cloud/pull/16) includes the following updates:
44

5+
## Bug Fix
6+
- Corrects identifier for the `triggered_send` source table. Previously, this was pointing to the `send` table.
7+
58
## Under the Hood
69
- Nests the `enabled` attribute under `config:` for relevant source tables to align with recent dbt updates.
10+
- Adds consistency data validation tests for all end models.
711

812
# dbt_salesforce_marketing_cloud v0.5.0
913

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{{ config(
2+
tags="fivetran_validations",
3+
enabled=var('fivetran_validation_tests_enabled', false)
4+
) }}
5+
6+
with prod as (
7+
select *
8+
from {{ target.schema }}_salesforce_marketing_cloud_prod.salesforce_marketing_cloud__email_overview
9+
),
10+
11+
dev as (
12+
select *
13+
from {{ target.schema }}_salesforce_marketing_cloud_dev.salesforce_marketing_cloud__email_overview
14+
),
15+
16+
prod_not_in_dev as (
17+
-- rows from prod not found in dev
18+
select * from prod
19+
except distinct
20+
select * from dev
21+
),
22+
23+
dev_not_in_prod as (
24+
-- rows from dev not found in prod
25+
select * from dev
26+
except distinct
27+
select * from prod
28+
),
29+
30+
final as (
31+
select
32+
*,
33+
'from prod' as source
34+
from prod_not_in_dev
35+
36+
union all -- union since we only care if rows are produced
37+
38+
select
39+
*,
40+
'from dev' as source
41+
from dev_not_in_prod
42+
)
43+
44+
select *
45+
from final
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{{ config(
2+
tags="fivetran_validations",
3+
enabled=var('fivetran_validation_tests_enabled', false) and var('salesforce_marketing_cloud__link_enabled', true)
4+
) }}
5+
6+
with prod as (
7+
select *
8+
from {{ target.schema }}_salesforce_marketing_cloud_prod.salesforce_marketing_cloud__sends_links
9+
),
10+
11+
dev as (
12+
select *
13+
from {{ target.schema }}_salesforce_marketing_cloud_dev.salesforce_marketing_cloud__sends_links
14+
),
15+
16+
prod_not_in_dev as (
17+
-- rows from prod not found in dev
18+
select * from prod
19+
except distinct
20+
select * from dev
21+
),
22+
23+
dev_not_in_prod as (
24+
-- rows from dev not found in prod
25+
select * from dev
26+
except distinct
27+
select * from prod
28+
),
29+
30+
final as (
31+
select
32+
*,
33+
'from prod' as source
34+
from prod_not_in_dev
35+
36+
union all -- union since we only care if rows are produced
37+
38+
select
39+
*,
40+
'from dev' as source
41+
from dev_not_in_prod
42+
)
43+
44+
select *
45+
from final
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{{ config(
2+
tags="fivetran_validations",
3+
enabled=var('fivetran_validation_tests_enabled', false) and var('salesforce_marketing_cloud__link_enabled', true)
4+
) }}
5+
6+
with prod as (
7+
select *
8+
from {{ target.schema }}_salesforce_marketing_cloud_prod.salesforce_marketing_cloud__sends_overview
9+
),
10+
11+
dev as (
12+
select *
13+
from {{ target.schema }}_salesforce_marketing_cloud_dev.salesforce_marketing_cloud__sends_overview
14+
),
15+
16+
prod_not_in_dev as (
17+
-- rows from prod not found in dev
18+
select * from prod
19+
except distinct
20+
select * from dev
21+
),
22+
23+
dev_not_in_prod as (
24+
-- rows from dev not found in prod
25+
select * from dev
26+
except distinct
27+
select * from prod
28+
),
29+
30+
final as (
31+
select
32+
*,
33+
'from prod' as source
34+
from prod_not_in_dev
35+
36+
union all -- union since we only care if rows are produced
37+
38+
select
39+
*,
40+
'from dev' as source
41+
from dev_not_in_prod
42+
)
43+
44+
select *
45+
from final
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{{ config(
2+
tags="fivetran_validations",
3+
enabled=var('fivetran_validation_tests_enabled', false)
4+
) }}
5+
6+
with prod as (
7+
select *
8+
from {{ target.schema }}_salesforce_marketing_cloud_prod.salesforce_marketing_cloud__subscriber_lists
9+
),
10+
11+
dev as (
12+
select *
13+
from {{ target.schema }}_salesforce_marketing_cloud_dev.salesforce_marketing_cloud__subscriber_lists
14+
),
15+
16+
prod_not_in_dev as (
17+
-- rows from prod not found in dev
18+
select * from prod
19+
except distinct
20+
select * from dev
21+
),
22+
23+
dev_not_in_prod as (
24+
-- rows from dev not found in prod
25+
select * from dev
26+
except distinct
27+
select * from prod
28+
),
29+
30+
final as (
31+
select
32+
*,
33+
'from prod' as source
34+
from prod_not_in_dev
35+
36+
union all -- union since we only care if rows are produced
37+
38+
select
39+
*,
40+
'from dev' as source
41+
from dev_not_in_prod
42+
)
43+
44+
select *
45+
from final
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{{ config(
2+
tags="fivetran_validations",
3+
enabled=var('fivetran_validation_tests_enabled', false)
4+
) }}
5+
6+
with prod as (
7+
select *
8+
from {{ target.schema }}_salesforce_marketing_cloud_prod.salesforce_marketing_cloud__subscriber_overview
9+
),
10+
11+
dev as (
12+
select *
13+
from {{ target.schema }}_salesforce_marketing_cloud_dev.salesforce_marketing_cloud__subscriber_overview
14+
),
15+
16+
prod_not_in_dev as (
17+
-- rows from prod not found in dev
18+
select * from prod
19+
except distinct
20+
select * from dev
21+
),
22+
23+
dev_not_in_prod as (
24+
-- rows from dev not found in prod
25+
select * from dev
26+
except distinct
27+
select * from prod
28+
),
29+
30+
final as (
31+
select
32+
*,
33+
'from prod' as source
34+
from prod_not_in_dev
35+
36+
union all -- union since we only care if rows are produced
37+
38+
select
39+
*,
40+
'from dev' as source
41+
from dev_not_in_prod
42+
)
43+
44+
select *
45+
from final

models/staging/src_salesforce_marketing_cloud.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ sources:
260260
description: '{{ doc("unsubscribed_date") }}'
261261

262262
- name: triggered_send
263-
identifier: '{{ var("salesforce_marketing_cloud_triggered_send_identifier", "send") }}'
263+
identifier: '{{ var("salesforce_marketing_cloud_triggered_send_identifier", "triggered_send") }}'
264264
description: '{{ doc("triggered_send") }}'
265265
columns:
266266
- name: id

0 commit comments

Comments
 (0)