@rathnasgala2/schemas 3.15.0 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +12 -7
  2. package/diagnostics/diagnostic-map.json +399 -4
  3. package/docs/catalogs/app-routes.json +7 -2
  4. package/docs/catalogs/schema-inventory.json +15 -5
  5. package/examples/valid/analytics-config/canonical.json +6 -0
  6. package/examples/valid/analytics-config/rules.json +334 -0
  7. package/examples/valid/build-input/rules.json +202 -0
  8. package/examples/valid/publication/rules.json +49 -0
  9. package/examples/valid/theme-contract/rules.json +64 -4
  10. package/fixtures/boundary/analytics-config/root.json +6 -0
  11. package/fixtures/boundary/analytics-config/rules.json +470 -0
  12. package/fixtures/boundary/build-input/rules.json +207 -0
  13. package/fixtures/boundary/publication/rules.json +54 -0
  14. package/fixtures/boundary/theme-contract/rules.json +64 -4
  15. package/fixtures/invalid/analytics-config/BCP47_INVALID/cases.json +56 -0
  16. package/fixtures/invalid/analytics-config/CANONICAL_ROUTE_INVALID/cases.json +38 -0
  17. package/fixtures/invalid/analytics-config/DIGEST_INVALID/cases.json +20 -0
  18. package/fixtures/invalid/analytics-config/EXTENSION_KEY_INVALID/cases.json +20 -0
  19. package/fixtures/invalid/analytics-config/GIT_OBJECT_ID_INVALID/cases.json +20 -0
  20. package/fixtures/invalid/analytics-config/HTTPS_URL_INVALID/cases.json +29 -0
  21. package/fixtures/invalid/analytics-config/ISO_COUNTRY_INVALID/cases.json +20 -0
  22. package/fixtures/invalid/analytics-config/PACKAGE_EXACT_INVALID/cases.json +38 -0
  23. package/fixtures/invalid/analytics-config/PACKAGE_RANGE_INVALID/cases.json +38 -0
  24. package/fixtures/invalid/analytics-config/PASSIVE_VISUAL_TOKEN_INVALID/cases.json +11 -0
  25. package/fixtures/invalid/analytics-config/PLAIN_LABEL_INVALID/cases.json +31 -0
  26. package/fixtures/invalid/analytics-config/PLAIN_TEXT_INVALID/cases.json +20 -0
  27. package/fixtures/invalid/analytics-config/REPOSITORY_GLOB_INVALID/cases.json +47 -0
  28. package/fixtures/invalid/analytics-config/REPOSITORY_PATH_INVALID/cases.json +58 -0
  29. package/fixtures/invalid/analytics-config/REQUEST_FIELD_UNKNOWN/cases.json +46 -0
  30. package/fixtures/invalid/analytics-config/RFC3339_INVALID/cases.json +29 -0
  31. package/fixtures/invalid/analytics-config/SCHEMA_ENUM_INVALID/cases.json +24 -0
  32. package/fixtures/invalid/analytics-config/SCHEMA_PATTERN_INVALID/cases.json +13 -0
  33. package/fixtures/invalid/analytics-config/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +92 -0
  34. package/fixtures/invalid/analytics-config/SCHEMA_TYPE_INVALID/cases.json +40 -0
  35. package/fixtures/invalid/analytics-config/SCHEMA_VERSION_UNSUPPORTED/cases.json +20 -0
  36. package/fixtures/invalid/analytics-config/SEMVER_INVALID/cases.json +20 -0
  37. package/fixtures/invalid/analytics-config/SEMVER_RANGE_INVALID/cases.json +38 -0
  38. package/fixtures/invalid/analytics-config/SLUG_INVALID/cases.json +38 -0
  39. package/fixtures/invalid/analytics-config/STABLE_ID_INVALID/cases.json +20 -0
  40. package/fixtures/invalid/analytics-config/URN_INVALID/cases.json +38 -0
  41. package/fixtures/invalid/build-input/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
  42. package/fixtures/invalid/build-input/REQUEST_FIELD_UNKNOWN/cases.json +137 -0
  43. package/fixtures/invalid/build-input/SCHEMA_ENUM_INVALID/cases.json +22 -0
  44. package/fixtures/invalid/build-input/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  45. package/fixtures/invalid/build-input/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +194 -0
  46. package/fixtures/invalid/build-input/SCHEMA_TYPE_INVALID/cases.json +71 -0
  47. package/fixtures/invalid/build-input/SCHEMA_VERSION_UNSUPPORTED/cases.json +22 -0
  48. package/fixtures/invalid/publication/GRAPHEME_LENGTH_INVALID/cases.json +11 -0
  49. package/fixtures/invalid/publication/REQUEST_FIELD_UNKNOWN/cases.json +28 -0
  50. package/fixtures/invalid/publication/SCHEMA_PATTERN_INVALID/cases.json +11 -0
  51. package/fixtures/invalid/publication/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +44 -0
  52. package/fixtures/invalid/publication/SCHEMA_TYPE_INVALID/cases.json +18 -0
  53. package/fixtures/invalid/theme-contract/SCHEMA_CONSTANT_INVALID/cases.json +33 -22
  54. package/fixtures/invalid/theme-contract/SCHEMA_ENUM_INVALID/cases.json +33 -0
  55. package/fixtures/invalid/theme-contract/SCHEMA_REQUIRED_FIELD_MISSING/cases.json +22 -0
  56. package/fixtures/manifest.json +3066 -16
  57. package/fixtures/s2/empty-modules-placements.json +452 -0
  58. package/fixtures/s2/manifest.json +2 -0
  59. package/fixtures/unknown-field/analytics-config/root.json +7 -0
  60. package/fixtures/unknown-field/analytics-config/rules.json +131 -0
  61. package/fixtures/unknown-field/build-input/rules.json +162 -0
  62. package/fixtures/unknown-field/publication/rules.json +38 -0
  63. package/fixtures/unknown-field/theme-contract/rules.json +8 -2
  64. package/generated/browser/validator-core.mjs +4 -3
  65. package/generated/typescript/contracts/analytics-config.d.ts +54 -0
  66. package/generated/typescript/contracts/build-input.d.ts +26 -0
  67. package/generated/typescript/contracts/publication.d.ts +11 -0
  68. package/generated/typescript/index.d.ts +4 -0
  69. package/generated/typescript/index.js +14 -0
  70. package/openapi/http-catalog.json +54 -2
  71. package/openapi/openapi.yaml +4564 -3334
  72. package/package.json +4 -1
  73. package/sbom.cdx.json +23 -23
  74. package/schemas/analytics-config.schema.json +161 -0
  75. package/schemas/build-input.schema.json +66 -0
  76. package/schemas/publication.schema.json +22 -0
  77. package/schemas/theme-contract.schema.json +25 -3
  78. package/site-policy-defaults.json +10 -0
  79. package/src/internal/schema-validator.js +3 -0
@@ -0,0 +1,38 @@
1
+ [
2
+ {
3
+ "caseId": "analytics-config-invalid-32d4f3a7311a6f63",
4
+ "coveredRuleIds": ["analytics-config:#/$defs/slug:pattern"],
5
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
6
+ "schemaPointer": "#/$defs/slug",
7
+ "keyword": "pattern",
8
+ "instance": "",
9
+ "expectedCodes": ["SLUG_INVALID"]
10
+ },
11
+ {
12
+ "caseId": "analytics-config-invalid-42588b13a0af79a2",
13
+ "coveredRuleIds": ["analytics-config:#/$defs/slug:maxLength"],
14
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
15
+ "schemaPointer": "#/$defs/slug",
16
+ "keyword": "maxLength",
17
+ "recipe": { "kind": "repeat-string", "value": "a", "count": 81 },
18
+ "expectedCodes": ["SLUG_INVALID"]
19
+ },
20
+ {
21
+ "caseId": "analytics-config-invalid-d857af7755c22286",
22
+ "coveredRuleIds": ["analytics-config:#/$defs/slug:minLength"],
23
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
24
+ "schemaPointer": "#/$defs/slug",
25
+ "keyword": "minLength",
26
+ "instance": "",
27
+ "expectedCodes": ["SLUG_INVALID"]
28
+ },
29
+ {
30
+ "caseId": "analytics-config-invalid-f2c8923c5e85b625",
31
+ "coveredRuleIds": ["analytics-config:#/$defs/slug:type"],
32
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
33
+ "schemaPointer": "#/$defs/slug",
34
+ "keyword": "type",
35
+ "instance": null,
36
+ "expectedCodes": ["SLUG_INVALID"]
37
+ }
38
+ ]
@@ -0,0 +1,20 @@
1
+ [
2
+ {
3
+ "caseId": "analytics-config-invalid-7fc0032c0cbc5e70",
4
+ "coveredRuleIds": ["analytics-config:#/$defs/stableId:pattern"],
5
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
6
+ "schemaPointer": "#/$defs/stableId",
7
+ "keyword": "pattern",
8
+ "instance": "",
9
+ "expectedCodes": ["STABLE_ID_INVALID"]
10
+ },
11
+ {
12
+ "caseId": "analytics-config-invalid-9e37dd99d6b92a7e",
13
+ "coveredRuleIds": ["analytics-config:#/$defs/stableId:type"],
14
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
15
+ "schemaPointer": "#/$defs/stableId",
16
+ "keyword": "type",
17
+ "instance": null,
18
+ "expectedCodes": ["STABLE_ID_INVALID"]
19
+ }
20
+ ]
@@ -0,0 +1,38 @@
1
+ [
2
+ {
3
+ "caseId": "analytics-config-invalid-0246b6c4c9c0bbc0",
4
+ "coveredRuleIds": ["analytics-config:#/$defs/urn:maxLength"],
5
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
6
+ "schemaPointer": "#/$defs/urn",
7
+ "keyword": "maxLength",
8
+ "recipe": { "kind": "repeat-string", "value": "a", "count": 256 },
9
+ "expectedCodes": ["URN_INVALID"]
10
+ },
11
+ {
12
+ "caseId": "analytics-config-invalid-6b29682436f13e87",
13
+ "coveredRuleIds": ["analytics-config:#/$defs/urn:type"],
14
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
15
+ "schemaPointer": "#/$defs/urn",
16
+ "keyword": "type",
17
+ "instance": null,
18
+ "expectedCodes": ["URN_INVALID"]
19
+ },
20
+ {
21
+ "caseId": "analytics-config-invalid-b7faab3270c85e13",
22
+ "coveredRuleIds": ["analytics-config:#/$defs/urn:minLength"],
23
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
24
+ "schemaPointer": "#/$defs/urn",
25
+ "keyword": "minLength",
26
+ "instance": "aaaaaaaaa",
27
+ "expectedCodes": ["URN_INVALID"]
28
+ },
29
+ {
30
+ "caseId": "analytics-config-invalid-f4607c2431c61e56",
31
+ "coveredRuleIds": ["analytics-config:#/$defs/urn:pattern"],
32
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
33
+ "schemaPointer": "#/$defs/urn",
34
+ "keyword": "pattern",
35
+ "instance": "",
36
+ "expectedCodes": ["URN_INVALID"]
37
+ }
38
+ ]
@@ -142,6 +142,17 @@
142
142
  "recipe": { "kind": "repeat-string", "value": "a", "count": 121 },
143
143
  "expectedCodes": ["GRAPHEME_LENGTH_INVALID"]
144
144
  },
145
+ {
146
+ "caseId": "build-input-invalid-bcd3ac8bde567068",
147
+ "coveredRuleIds": [
148
+ "build-input:#/$defs/policyPageNormalized/properties/title:x-gala-graphemeLength"
149
+ ],
150
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
151
+ "schemaPointer": "#/$defs/policyPageNormalized/properties/title",
152
+ "keyword": "x-gala-graphemeLength",
153
+ "recipe": { "kind": "repeat-string", "value": "a", "count": 81 },
154
+ "expectedCodes": ["GRAPHEME_LENGTH_INVALID"]
155
+ },
145
156
  {
146
157
  "caseId": "build-input-invalid-c226da3a1e501e13",
147
158
  "coveredRuleIds": [
@@ -1,4 +1,24 @@
1
1
  [
2
+ {
3
+ "caseId": "build-input-invalid-012062b00a76ee58",
4
+ "coveredRuleIds": [
5
+ "build-input:#/$defs/analyticsConfig:additionalProperties"
6
+ ],
7
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
8
+ "schemaPointer": "#/$defs/analyticsConfig",
9
+ "keyword": "additionalProperties",
10
+ "instance": {
11
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
12
+ "schemaVersion": "2.0.0",
13
+ "provider": {
14
+ "kind": "google-analytics-4",
15
+ "measurementId": "G-ABC123XYZ"
16
+ },
17
+ "consent": { "policy": "opt-in" },
18
+ "unexpected": true
19
+ },
20
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
21
+ },
2
22
  {
3
23
  "caseId": "build-input-invalid-02ea8ac9a2bfe9b0",
4
24
  "coveredRuleIds": [
@@ -113,6 +133,39 @@
113
133
  },
114
134
  "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
115
135
  },
136
+ {
137
+ "caseId": "build-input-invalid-200468e4c44696db",
138
+ "coveredRuleIds": [
139
+ "build-input:#/$defs/moduleBuildSelection/properties/analytics:additionalProperties"
140
+ ],
141
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
142
+ "schemaPointer": "#/$defs/moduleBuildSelection/properties/analytics",
143
+ "keyword": "additionalProperties",
144
+ "instance": {
145
+ "config": {
146
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
147
+ "schemaVersion": "2.0.0",
148
+ "provider": {
149
+ "kind": "google-analytics-4",
150
+ "measurementId": "G-ABC123XYZ"
151
+ },
152
+ "consent": { "policy": "opt-in" }
153
+ },
154
+ "unexpected": true
155
+ },
156
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
157
+ },
158
+ {
159
+ "caseId": "build-input-invalid-244815496877bc8b",
160
+ "coveredRuleIds": [
161
+ "build-input:#/$defs/analyticsConfig/properties/consent:additionalProperties"
162
+ ],
163
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
164
+ "schemaPointer": "#/$defs/analyticsConfig/properties/consent",
165
+ "keyword": "additionalProperties",
166
+ "instance": { "policy": "opt-in", "unexpected": true },
167
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
168
+ },
116
169
  {
117
170
  "caseId": "build-input-invalid-28c4e29d9fe6733e",
118
171
  "coveredRuleIds": [
@@ -223,6 +276,32 @@
223
276
  },
224
277
  "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
225
278
  },
279
+ {
280
+ "caseId": "build-input-invalid-4893479780f32734",
281
+ "coveredRuleIds": [
282
+ "build-input:#/$defs/policyPageNormalized:additionalProperties"
283
+ ],
284
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
285
+ "schemaPointer": "#/$defs/policyPageNormalized",
286
+ "keyword": "additionalProperties",
287
+ "instance": {
288
+ "title": "fixture-1",
289
+ "body": {
290
+ "sourcePath": "content/fixture-1.md",
291
+ "sourceDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
292
+ "bodyMediaType": "text/html",
293
+ "body": "fixture-1",
294
+ "bodyDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
295
+ "renderPolicy": {
296
+ "name": "gala-render-policy",
297
+ "version": "2.0.0",
298
+ "digest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
299
+ }
300
+ },
301
+ "unexpected": true
302
+ },
303
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
304
+ },
226
305
  {
227
306
  "caseId": "build-input-invalid-4df34ff7bd3501db",
228
307
  "coveredRuleIds": [
@@ -273,6 +352,21 @@
273
352
  },
274
353
  "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
275
354
  },
355
+ {
356
+ "caseId": "build-input-invalid-565dfdd3ef826339",
357
+ "coveredRuleIds": [
358
+ "build-input:#/$defs/analyticsConfig/properties/provider:additionalProperties"
359
+ ],
360
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
361
+ "schemaPointer": "#/$defs/analyticsConfig/properties/provider",
362
+ "keyword": "additionalProperties",
363
+ "instance": {
364
+ "kind": "google-analytics-4",
365
+ "measurementId": "G-ABC123XYZ",
366
+ "unexpected": true
367
+ },
368
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
369
+ },
276
370
  {
277
371
  "caseId": "build-input-invalid-5f118990cd93a43f",
278
372
  "coveredRuleIds": ["build-input:#/$defs/resolvedFile:additionalProperties"],
@@ -941,6 +1035,49 @@
941
1035
  },
942
1036
  "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
943
1037
  },
1038
+ {
1039
+ "caseId": "build-input-invalid-c6711ca7ec3aed4f",
1040
+ "coveredRuleIds": [
1041
+ "build-input:#/$defs/policiesNormalized:additionalProperties"
1042
+ ],
1043
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1044
+ "schemaPointer": "#/$defs/policiesNormalized",
1045
+ "keyword": "additionalProperties",
1046
+ "instance": {
1047
+ "terms": {
1048
+ "title": "fixture-1",
1049
+ "body": {
1050
+ "sourcePath": "content/fixture-1.md",
1051
+ "sourceDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
1052
+ "bodyMediaType": "text/html",
1053
+ "body": "fixture-1",
1054
+ "bodyDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
1055
+ "renderPolicy": {
1056
+ "name": "gala-render-policy",
1057
+ "version": "2.0.0",
1058
+ "digest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
1059
+ }
1060
+ }
1061
+ },
1062
+ "privacy": {
1063
+ "title": "fixture-1",
1064
+ "body": {
1065
+ "sourcePath": "content/fixture-1.md",
1066
+ "sourceDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
1067
+ "bodyMediaType": "text/html",
1068
+ "body": "fixture-1",
1069
+ "bodyDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
1070
+ "renderPolicy": {
1071
+ "name": "gala-render-policy",
1072
+ "version": "2.0.0",
1073
+ "digest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
1074
+ }
1075
+ }
1076
+ },
1077
+ "unexpected": true
1078
+ },
1079
+ "expectedCodes": ["REQUEST_FIELD_UNKNOWN"]
1080
+ },
944
1081
  {
945
1082
  "caseId": "build-input-invalid-cb97b11a55797a13",
946
1083
  "coveredRuleIds": [
@@ -107,6 +107,28 @@
107
107
  "instance": "__invalid_enum__",
108
108
  "expectedCodes": ["SCHEMA_ENUM_INVALID"]
109
109
  },
110
+ {
111
+ "caseId": "build-input-invalid-675276105983e5c3",
112
+ "coveredRuleIds": [
113
+ "build-input:#/$defs/analyticsConfig/properties/provider/properties/kind:enum"
114
+ ],
115
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
116
+ "schemaPointer": "#/$defs/analyticsConfig/properties/provider/properties/kind",
117
+ "keyword": "enum",
118
+ "instance": "__invalid_enum__",
119
+ "expectedCodes": ["SCHEMA_ENUM_INVALID"]
120
+ },
121
+ {
122
+ "caseId": "build-input-invalid-927a9135b6784bbf",
123
+ "coveredRuleIds": [
124
+ "build-input:#/$defs/analyticsConfig/properties/consent/properties/policy:enum"
125
+ ],
126
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
127
+ "schemaPointer": "#/$defs/analyticsConfig/properties/consent/properties/policy",
128
+ "keyword": "enum",
129
+ "instance": "__invalid_enum__",
130
+ "expectedCodes": ["SCHEMA_ENUM_INVALID"]
131
+ },
110
132
  {
111
133
  "caseId": "build-input-invalid-b12389ca44d6e5b3",
112
134
  "coveredRuleIds": [
@@ -30,6 +30,17 @@
30
30
  "instance": "",
31
31
  "expectedCodes": ["SCHEMA_PATTERN_INVALID"]
32
32
  },
33
+ {
34
+ "caseId": "build-input-invalid-59dd5beadda1dd0c",
35
+ "coveredRuleIds": [
36
+ "build-input:#/$defs/analyticsConfig/properties/provider/properties/measurementId:pattern"
37
+ ],
38
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
39
+ "schemaPointer": "#/$defs/analyticsConfig/properties/provider/properties/measurementId",
40
+ "keyword": "pattern",
41
+ "instance": "",
42
+ "expectedCodes": ["SCHEMA_PATTERN_INVALID"]
43
+ },
33
44
  {
34
45
  "caseId": "build-input-invalid-66e02d6bb349c217",
35
46
  "coveredRuleIds": [
@@ -309,6 +309,17 @@
309
309
  "instance": { "displayName": "fixture-1", "biography": "fixture-1" },
310
310
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
311
311
  },
312
+ {
313
+ "caseId": "build-input-invalid-08e6b28500d442c7",
314
+ "coveredRuleIds": [
315
+ "build-input:#/$defs/analyticsConfig/properties/consent:required:policy"
316
+ ],
317
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
318
+ "schemaPointer": "#/$defs/analyticsConfig/properties/consent",
319
+ "keyword": "required",
320
+ "instance": {},
321
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
322
+ },
312
323
  {
313
324
  "caseId": "build-input-invalid-095dcc1a39560cdc",
314
325
  "coveredRuleIds": ["build-input:#:required:packages"],
@@ -866,6 +877,31 @@
866
877
  "instance": {},
867
878
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
868
879
  },
880
+ {
881
+ "caseId": "build-input-invalid-1073f4273fa5ccb3",
882
+ "coveredRuleIds": ["build-input:#/$defs/policiesNormalized:required:terms"],
883
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
884
+ "schemaPointer": "#/$defs/policiesNormalized",
885
+ "keyword": "required",
886
+ "instance": {
887
+ "privacy": {
888
+ "title": "fixture-1",
889
+ "body": {
890
+ "sourcePath": "content/fixture-1.md",
891
+ "sourceDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
892
+ "bodyMediaType": "text/html",
893
+ "body": "fixture-1",
894
+ "bodyDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
895
+ "renderPolicy": {
896
+ "name": "gala-render-policy",
897
+ "version": "2.0.0",
898
+ "digest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
899
+ }
900
+ }
901
+ }
902
+ },
903
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
904
+ },
869
905
  {
870
906
  "caseId": "build-input-invalid-12154ab45191bd98",
871
907
  "coveredRuleIds": ["build-input:#/$defs/reactionDefinition:required:label"],
@@ -1100,6 +1136,22 @@
1100
1136
  },
1101
1137
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
1102
1138
  },
1139
+ {
1140
+ "caseId": "build-input-invalid-2038ee64d3d3739a",
1141
+ "coveredRuleIds": ["build-input:#/$defs/analyticsConfig:required:schemaId"],
1142
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1143
+ "schemaPointer": "#/$defs/analyticsConfig",
1144
+ "keyword": "required",
1145
+ "instance": {
1146
+ "schemaVersion": "2.0.0",
1147
+ "provider": {
1148
+ "kind": "google-analytics-4",
1149
+ "measurementId": "G-ABC123XYZ"
1150
+ },
1151
+ "consent": { "policy": "opt-in" }
1152
+ },
1153
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
1154
+ },
1103
1155
  {
1104
1156
  "caseId": "build-input-invalid-2054f9da3ecec9f1",
1105
1157
  "coveredRuleIds": ["build-input:#/$defs/colorMode:required:default"],
@@ -1144,6 +1196,33 @@
1144
1196
  },
1145
1197
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
1146
1198
  },
1199
+ {
1200
+ "caseId": "build-input-invalid-22c47dad4e7d85ef",
1201
+ "coveredRuleIds": [
1202
+ "build-input:#/$defs/policiesNormalized:required:privacy"
1203
+ ],
1204
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1205
+ "schemaPointer": "#/$defs/policiesNormalized",
1206
+ "keyword": "required",
1207
+ "instance": {
1208
+ "terms": {
1209
+ "title": "fixture-1",
1210
+ "body": {
1211
+ "sourcePath": "content/fixture-1.md",
1212
+ "sourceDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
1213
+ "bodyMediaType": "text/html",
1214
+ "body": "fixture-1",
1215
+ "bodyDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
1216
+ "renderPolicy": {
1217
+ "name": "gala-render-policy",
1218
+ "version": "2.0.0",
1219
+ "digest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
1220
+ }
1221
+ }
1222
+ }
1223
+ },
1224
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
1225
+ },
1147
1226
  {
1148
1227
  "caseId": "build-input-invalid-232278b0985a08cc",
1149
1228
  "coveredRuleIds": [
@@ -1715,6 +1794,30 @@
1715
1794
  },
1716
1795
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
1717
1796
  },
1797
+ {
1798
+ "caseId": "build-input-invalid-4ee40f640b6bef4c",
1799
+ "coveredRuleIds": [
1800
+ "build-input:#/$defs/policyPageNormalized:required:title"
1801
+ ],
1802
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
1803
+ "schemaPointer": "#/$defs/policyPageNormalized",
1804
+ "keyword": "required",
1805
+ "instance": {
1806
+ "body": {
1807
+ "sourcePath": "content/fixture-1.md",
1808
+ "sourceDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
1809
+ "bodyMediaType": "text/html",
1810
+ "body": "fixture-1",
1811
+ "bodyDigest": "sha256:0000000000000000000000000000000000000000000000000000000000000001",
1812
+ "renderPolicy": {
1813
+ "name": "gala-render-policy",
1814
+ "version": "2.0.0",
1815
+ "digest": "sha256:0000000000000000000000000000000000000000000000000000000000000001"
1816
+ }
1817
+ }
1818
+ },
1819
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
1820
+ },
1718
1821
  {
1719
1822
  "caseId": "build-input-invalid-50e9fcfccb5a9195",
1720
1823
  "coveredRuleIds": [
@@ -2007,6 +2110,19 @@
2007
2110
  },
2008
2111
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
2009
2112
  },
2113
+ {
2114
+ "caseId": "build-input-invalid-562e64ae01b54bad",
2115
+ "coveredRuleIds": ["build-input:#/$defs/analyticsConfig:required:provider"],
2116
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2117
+ "schemaPointer": "#/$defs/analyticsConfig",
2118
+ "keyword": "required",
2119
+ "instance": {
2120
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
2121
+ "schemaVersion": "2.0.0",
2122
+ "consent": { "policy": "opt-in" }
2123
+ },
2124
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
2125
+ },
2010
2126
  {
2011
2127
  "caseId": "build-input-invalid-56f1d3b28b5e256d",
2012
2128
  "coveredRuleIds": [
@@ -2435,6 +2551,17 @@
2435
2551
  },
2436
2552
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
2437
2553
  },
2554
+ {
2555
+ "caseId": "build-input-invalid-69d71e88cbd256d0",
2556
+ "coveredRuleIds": [
2557
+ "build-input:#/$defs/analyticsConfig/properties/provider:required:kind"
2558
+ ],
2559
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
2560
+ "schemaPointer": "#/$defs/analyticsConfig/properties/provider",
2561
+ "keyword": "required",
2562
+ "instance": { "measurementId": "G-ABC123XYZ" },
2563
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
2564
+ },
2438
2565
  {
2439
2566
  "caseId": "build-input-invalid-6a5a89beb514de09",
2440
2567
  "coveredRuleIds": [
@@ -3276,6 +3403,17 @@
3276
3403
  },
3277
3404
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
3278
3405
  },
3406
+ {
3407
+ "caseId": "build-input-invalid-7e8026035d3f376a",
3408
+ "coveredRuleIds": [
3409
+ "build-input:#/$defs/moduleBuildSelection/properties/analytics:required:config"
3410
+ ],
3411
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3412
+ "schemaPointer": "#/$defs/moduleBuildSelection/properties/analytics",
3413
+ "keyword": "required",
3414
+ "instance": {},
3415
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
3416
+ },
3279
3417
  {
3280
3418
  "caseId": "build-input-invalid-7ef10b57f3901e1f",
3281
3419
  "coveredRuleIds": [
@@ -3450,6 +3588,22 @@
3450
3588
  },
3451
3589
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
3452
3590
  },
3591
+ {
3592
+ "caseId": "build-input-invalid-874fb62759c4d884",
3593
+ "coveredRuleIds": ["build-input:#/$defs/analyticsConfig:required:consent"],
3594
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
3595
+ "schemaPointer": "#/$defs/analyticsConfig",
3596
+ "keyword": "required",
3597
+ "instance": {
3598
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
3599
+ "schemaVersion": "2.0.0",
3600
+ "provider": {
3601
+ "kind": "google-analytics-4",
3602
+ "measurementId": "G-ABC123XYZ"
3603
+ }
3604
+ },
3605
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
3606
+ },
3453
3607
  {
3454
3608
  "caseId": "build-input-invalid-880420ad27806f01",
3455
3609
  "coveredRuleIds": [
@@ -3944,6 +4098,17 @@
3944
4098
  },
3945
4099
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
3946
4100
  },
4101
+ {
4102
+ "caseId": "build-input-invalid-8c9994177d57da40",
4103
+ "coveredRuleIds": [
4104
+ "build-input:#/$defs/policyPageNormalized:required:body"
4105
+ ],
4106
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
4107
+ "schemaPointer": "#/$defs/policyPageNormalized",
4108
+ "keyword": "required",
4109
+ "instance": { "title": "fixture-1" },
4110
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
4111
+ },
3947
4112
  {
3948
4113
  "caseId": "build-input-invalid-957df134cb1cbbcd",
3949
4114
  "coveredRuleIds": [
@@ -5440,6 +5605,17 @@
5440
5605
  },
5441
5606
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
5442
5607
  },
5608
+ {
5609
+ "caseId": "build-input-invalid-da6219eecfc78c76",
5610
+ "coveredRuleIds": [
5611
+ "build-input:#/$defs/analyticsConfig/properties/provider:required:measurementId"
5612
+ ],
5613
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
5614
+ "schemaPointer": "#/$defs/analyticsConfig/properties/provider",
5615
+ "keyword": "required",
5616
+ "instance": { "kind": "google-analytics-4" },
5617
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
5618
+ },
5443
5619
  {
5444
5620
  "caseId": "build-input-invalid-dc3b66073ce28d40",
5445
5621
  "coveredRuleIds": [
@@ -6647,6 +6823,24 @@
6647
6823
  },
6648
6824
  "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
6649
6825
  },
6826
+ {
6827
+ "caseId": "build-input-invalid-fc173e7a690fc07c",
6828
+ "coveredRuleIds": [
6829
+ "build-input:#/$defs/analyticsConfig:required:schemaVersion"
6830
+ ],
6831
+ "schemaId": "urn:gala:schema:build-input:2.0.0",
6832
+ "schemaPointer": "#/$defs/analyticsConfig",
6833
+ "keyword": "required",
6834
+ "instance": {
6835
+ "schemaId": "urn:gala:schema:analytics-config:2.0.0",
6836
+ "provider": {
6837
+ "kind": "google-analytics-4",
6838
+ "measurementId": "G-ABC123XYZ"
6839
+ },
6840
+ "consent": { "policy": "opt-in" }
6841
+ },
6842
+ "expectedCodes": ["SCHEMA_REQUIRED_FIELD_MISSING"]
6843
+ },
6650
6844
  {
6651
6845
  "caseId": "build-input-invalid-fc74590ff8951c1d",
6652
6846
  "coveredRuleIds": [