Skip to content

Commit 776dbfe

Browse files
Data model:
- remove pointless self-referencing alias (daum.net aliasing itself) - disallow domain lists if an alias is set Note: after this change, the data should pass the updated tests in WhoTracks.me: whotracksme/whotracks.me@edfa924
1 parent 08b292a commit 776dbfe

4 files changed

Lines changed: 27 additions & 5 deletions

File tree

‎db/patterns/daum.net.eno‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ name: Daum Search
22
category: customer_interaction
33
website_url: https://www.daum.net/
44
organization: kakao
5-
alias: daum.net
65

76
--- domains
87
daum.net

‎db/patterns/google_analytics.eno‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ organization: google
55

66
--- domains
77
google-analytics.com
8+
googleoptimize.com
89
region1.google-analytics.com
910
googleanalytics.com
1011
--- domains

‎db/patterns/google_website_optimizer.eno‎

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@ website_url: https://www.google.com/analytics/siteopt/prev
44
organization: google
55
alias: google_analytics
66

7-
--- domains
8-
googleoptimize.com
9-
--- domains
10-
117
--- filters
128
||google-analytics.com/siteopt.js
139
--- filters

‎test/db/patterns.test.js‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,32 @@ test(RESOURCE_PATH, async (t) => {
121121
}
122122
});
123123

124+
await t.test('alias must reference a different existing pattern', () => {
125+
const alias = spec.field('alias').optionalStringValue();
126+
if (alias) {
127+
assert.notStrictEqual(
128+
alias,
129+
specName,
130+
`${specFile} has a self-referring alias; remove the alias line`,
131+
);
132+
assert.ok(
133+
specFiles.includes(`${alias}.eno`),
134+
`${specFile} aliases to '${alias}' but db/patterns/${alias}.eno does not exist`,
135+
);
136+
}
137+
});
138+
139+
await t.test('has no domains if it is an alias', () => {
140+
const alias = spec.field('alias').optionalStringValue();
141+
const domains = spec.field('domains').optionalStringValue() || '';
142+
if (alias) {
143+
assert.ok(
144+
domains.length === 0,
145+
`${specFile} is an alias of '${alias}' but still defines domains: ${domains.replace(/\n/g, ', ')}. Move them to '${alias}.eno'.`,
146+
);
147+
}
148+
});
149+
124150
await t.test('has valid filters', () => {
125151
const filters = spec.field('filters').optionalStringValue();
126152
if (filters) {

0 commit comments

Comments
 (0)