ondc-code-generator 0.8.9 → 1.0.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 (95) hide show
  1. package/alpha/possible-json-paths.json +34134 -0
  2. package/alpha/table/page/index.html +11487 -0
  3. package/alpha/table/page/style.css +449 -0
  4. package/alpha/table/rag-table-docs/confirm.md +63 -0
  5. package/alpha/table/rag-table-docs/init.md +81 -0
  6. package/alpha/table/rag-table-docs/on_confirm.md +164 -0
  7. package/alpha/table/rag-table-docs/on_init.md +146 -0
  8. package/alpha/table/rag-table-docs/on_search.md +163 -0
  9. package/alpha/table/rag-table-docs/on_select.md +99 -0
  10. package/alpha/table/rag-table-docs/on_status.md +153 -0
  11. package/alpha/table/rag-table-docs/on_update.md +164 -0
  12. package/alpha/table/rag-table-docs/raw_table.json +11198 -0
  13. package/alpha/table/rag-table-docs/search.md +128 -0
  14. package/alpha/table/rag-table-docs/select.md +70 -0
  15. package/alpha/table/rag-table-docs/status.md +44 -0
  16. package/alpha/table/rag-table-docs/update.md +51 -0
  17. package/alpha/table/readme.md +1312 -0
  18. package/alpha/table/validPaths.json +34134 -0
  19. package/alpha/table.zip +0 -0
  20. package/dist/bin/cli.js +4 -0
  21. package/dist/generator/config-compiler.d.ts +16 -2
  22. package/dist/generator/config-compiler.js +57 -19
  23. package/dist/generator/generators/classes/abstract-generator.d.ts +2 -0
  24. package/dist/generator/generators/documentation/md-generator.d.ts +12 -5
  25. package/dist/generator/generators/documentation/md-generator.js +23 -28
  26. package/dist/generator/generators/documentation/templates/index.mustache +162 -26
  27. package/dist/generator/generators/documentation/templates/style.css +387 -142
  28. package/dist/generator/generators/go/go-generator.js +1 -1
  29. package/dist/generator/generators/javascript/js-generator.js +1 -1
  30. package/dist/generator/generators/python/py-generator.js +1 -1
  31. package/dist/generator/generators/rag/rag-generator.d.ts +48 -0
  32. package/dist/generator/generators/rag/rag-generator.js +185 -0
  33. package/dist/generator/generators/rag/rag-table-generator.d.ts +55 -0
  34. package/dist/generator/generators/rag/rag-table-generator.js +269 -0
  35. package/dist/generator/generators/typescript/ts-generator.js +1 -1
  36. package/dist/index.test.js +12 -3
  37. package/dist/types/build.d.ts +4 -0
  38. package/dist/types/compiler-types.d.ts +3 -1
  39. package/dist/types/compiler-types.js +2 -0
  40. package/package.json +1 -1
  41. package/alpha/docs/page/index.html +0 -6137
  42. package/alpha/docs/page/style.css +0 -204
  43. package/alpha/docs/readme.md +0 -5939
  44. package/alpha/docs/validPaths.json +0 -14351
  45. package/alpha/page/index.html +0 -6137
  46. package/alpha/page/style.css +0 -204
  47. package/alpha/readme.md +0 -5939
  48. package/alpha/validationpkg/examples/search.json +0 -143
  49. package/alpha/validationpkg/examples_output/search/case-001/output.json +0 -12
  50. package/alpha/validationpkg/go.mod +0 -8
  51. package/alpha/validationpkg/go.sum +0 -4
  52. package/alpha/validationpkg/jsonvalidations/cancel.go +0 -1289
  53. package/alpha/validationpkg/jsonvalidations/confirm.go +0 -9121
  54. package/alpha/validationpkg/jsonvalidations/init.go +0 -4864
  55. package/alpha/validationpkg/jsonvalidations/issue.go +0 -4868
  56. package/alpha/validationpkg/jsonvalidations/on_cancel.go +0 -7111
  57. package/alpha/validationpkg/jsonvalidations/on_confirm.go +0 -8903
  58. package/alpha/validationpkg/jsonvalidations/on_init.go +0 -4445
  59. package/alpha/validationpkg/jsonvalidations/on_issue.go +0 -2828
  60. package/alpha/validationpkg/jsonvalidations/on_issue_status.go +0 -1938
  61. package/alpha/validationpkg/jsonvalidations/on_search.go +0 -3356
  62. package/alpha/validationpkg/jsonvalidations/on_status.go +0 -8129
  63. package/alpha/validationpkg/jsonvalidations/on_track.go +0 -1415
  64. package/alpha/validationpkg/jsonvalidations/on_update.go +0 -8700
  65. package/alpha/validationpkg/jsonvalidations/search.go +0 -3585
  66. package/alpha/validationpkg/jsonvalidations/status.go +0 -1073
  67. package/alpha/validationpkg/jsonvalidations/track.go +0 -1073
  68. package/alpha/validationpkg/jsonvalidations/update.go +0 -3012
  69. package/alpha/validationpkg/main-validator.go +0 -196
  70. package/alpha/validationpkg/main-validator_test.go +0 -165
  71. package/alpha/validationpkg/storageutils/api_save_utils.go +0 -83
  72. package/alpha/validationpkg/storageutils/cancel.go +0 -30
  73. package/alpha/validationpkg/storageutils/confirm.go +0 -30
  74. package/alpha/validationpkg/storageutils/index.go +0 -132
  75. package/alpha/validationpkg/storageutils/init.go +0 -30
  76. package/alpha/validationpkg/storageutils/issue.go +0 -30
  77. package/alpha/validationpkg/storageutils/on_cancel.go +0 -30
  78. package/alpha/validationpkg/storageutils/on_confirm.go +0 -30
  79. package/alpha/validationpkg/storageutils/on_init.go +0 -30
  80. package/alpha/validationpkg/storageutils/on_issue.go +0 -30
  81. package/alpha/validationpkg/storageutils/on_issue_status.go +0 -30
  82. package/alpha/validationpkg/storageutils/on_search.go +0 -30
  83. package/alpha/validationpkg/storageutils/on_status.go +0 -30
  84. package/alpha/validationpkg/storageutils/on_track.go +0 -30
  85. package/alpha/validationpkg/storageutils/on_update.go +0 -30
  86. package/alpha/validationpkg/storageutils/save_utils.go +0 -75
  87. package/alpha/validationpkg/storageutils/search.go +0 -30
  88. package/alpha/validationpkg/storageutils/status.go +0 -30
  89. package/alpha/validationpkg/storageutils/track.go +0 -30
  90. package/alpha/validationpkg/storageutils/update.go +0 -30
  91. package/alpha/validationpkg/validationutils/json_normalizer.go +0 -152
  92. package/alpha/validationpkg/validationutils/json_path_utils.go +0 -173
  93. package/alpha/validationpkg/validationutils/storage-interface.go +0 -107
  94. package/alpha/validationpkg/validationutils/test-config.go +0 -69
  95. package/alpha/validationpkg/validationutils/validation_utils.go +0 -429
@@ -1,1415 +0,0 @@
1
- // Code generated by github.com/ONDC-Official/automation-validation-compiler, DO NOT EDIT.
2
-
3
- package jsonvalidations
4
-
5
- import (
6
- "validationpkg/validationutils"
7
- )
8
-
9
- func On_track_Tests(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
10
- totalResults, err := On_trackValidations(input)
11
- if err != nil {
12
- return nil, err
13
- }
14
-
15
- if !input.Config.Debug {
16
- for i := range totalResults {
17
- totalResults[i].DebugInfo = nil
18
- }
19
- }
20
-
21
- if input.Config.HideParentErrors {
22
- // Delete results with valid false and no description
23
- filtered := make([]validationutils.ValidationOutput, 0)
24
- for _, r := range totalResults {
25
- if !r.Valid && r.Description == "" {
26
- continue
27
- }
28
- filtered = append(filtered, r)
29
- }
30
- totalResults = filtered
31
- }
32
-
33
- if input.Config.OnlyInvalid {
34
- res := make([]validationutils.ValidationOutput, 0)
35
- for _, r := range totalResults {
36
- if !r.Valid {
37
- res = append(res, r)
38
- }
39
- }
40
-
41
- if len(res) == 0 {
42
- // Find the overall test result
43
- var targetSuccess *validationutils.ValidationOutput
44
- for i := range totalResults {
45
- if totalResults[i].TestName == "On_trackValidations" {
46
- targetSuccess = &totalResults[i]
47
- break
48
- }
49
- }
50
-
51
- if targetSuccess == nil {
52
- panic("Critical: Overall test result not found")
53
- }
54
-
55
- return []validationutils.ValidationOutput{*targetSuccess}, nil
56
- }
57
-
58
- return res, nil
59
- }
60
-
61
- return totalResults, nil
62
- }
63
-
64
- var On_trackValidations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
65
-
66
- if input.Config.SkipTestsDict != nil {
67
- if _, skip := input.Config.SkipTestsDict["On_trackValidations"]; skip {
68
- return []validationutils.ValidationOutput{}, nil
69
- }
70
- }
71
-
72
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
73
-
74
- subResults := make([]validationutils.ValidationOutput, 0)
75
- valid := true
76
- configureDebugInfo := ""
77
- for _, testObjMap := range scope {
78
- validationutils.UnusedFunction(testObjMap)
79
-
80
- var REQUIRED_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
81
-
82
- if input.Config.SkipTestsDict != nil {
83
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_DOMAIN"]; skip {
84
- return []validationutils.ValidationOutput{}, nil
85
- }
86
- }
87
-
88
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
89
-
90
- subResults := make([]validationutils.ValidationOutput, 0)
91
- valid := true
92
- configureDebugInfo := ""
93
- for _, testObjMap := range scope {
94
- validationutils.UnusedFunction(testObjMap)
95
-
96
- attr := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
97
- validationutils.UnusedFunction(attr)
98
- enumList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`, `ONDC:LOG11`, `nic2004:60232`})
99
- validationutils.UnusedFunction(enumList)
100
-
101
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
102
-
103
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_DOMAIN","attr":"$.context.domain","_RETURN_":"attr are present && attr all in enumList","enumList":["ONDC:LOG10","ONDC:LOG11","nic2004:60232"]}`
104
-
105
- if !validate {
106
- result := validationutils.ValidationOutput{
107
- TestName: "REQUIRED_CONTEXT_DOMAIN",
108
- Valid: false,
109
- Code: 30000,
110
- Description: `#### **REQUIRED_CONTEXT_DOMAIN**
111
-
112
- **All of the following must be true:**
113
- - $.context.domain must be present in the payload
114
- - All elements of $.context.domain must be in ["ONDC:LOG10", "ONDC:LOG11", "nic2004:60232"]`,
115
- DebugInfo: &validationutils.DebugInfo{
116
- FedConfig: configureDebugInfo,
117
- },
118
- }
119
- return []validationutils.ValidationOutput{result}, nil
120
- }
121
-
122
- }
123
-
124
- result := validationutils.ValidationOutput{
125
- TestName: "REQUIRED_CONTEXT_DOMAIN",
126
- Valid: valid,
127
- Code: 0,
128
- DebugInfo: &validationutils.DebugInfo{
129
- FedConfig: configureDebugInfo,
130
- },
131
- }
132
-
133
- if valid {
134
- result.Code = 200
135
- } else {
136
- result.Code = 30000
137
- }
138
-
139
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
140
- results = append(results, result)
141
- results = append(results, subResults...)
142
-
143
- return results, nil
144
- }
145
- var REQUIRED_CONTEXT_COUNTRY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
146
-
147
- if input.Config.SkipTestsDict != nil {
148
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_COUNTRY"]; skip {
149
- return []validationutils.ValidationOutput{}, nil
150
- }
151
- }
152
-
153
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
154
-
155
- subResults := make([]validationutils.ValidationOutput, 0)
156
- valid := true
157
- configureDebugInfo := ""
158
- for _, testObjMap := range scope {
159
- validationutils.UnusedFunction(testObjMap)
160
-
161
- attr := validationutils.GetJsonPath(testObjMap, "$.context.country", true)
162
- validationutils.UnusedFunction(attr)
163
-
164
- validate := validationutils.ArePresent(attr)
165
-
166
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_COUNTRY","attr":"$.context.country","_RETURN_":"attr are present"}`
167
-
168
- if !validate {
169
- result := validationutils.ValidationOutput{
170
- TestName: "REQUIRED_CONTEXT_COUNTRY",
171
- Valid: false,
172
- Code: 30000,
173
- Description: `#### **REQUIRED_CONTEXT_COUNTRY**
174
-
175
- - $.context.country must be present in the payload`,
176
- DebugInfo: &validationutils.DebugInfo{
177
- FedConfig: configureDebugInfo,
178
- },
179
- }
180
- return []validationutils.ValidationOutput{result}, nil
181
- }
182
-
183
- }
184
-
185
- result := validationutils.ValidationOutput{
186
- TestName: "REQUIRED_CONTEXT_COUNTRY",
187
- Valid: valid,
188
- Code: 0,
189
- DebugInfo: &validationutils.DebugInfo{
190
- FedConfig: configureDebugInfo,
191
- },
192
- }
193
-
194
- if valid {
195
- result.Code = 200
196
- } else {
197
- result.Code = 30000
198
- }
199
-
200
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
201
- results = append(results, result)
202
- results = append(results, subResults...)
203
-
204
- return results, nil
205
- }
206
- var REQUIRED_CONTEXT_CITY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
207
-
208
- if input.Config.SkipTestsDict != nil {
209
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_CITY"]; skip {
210
- return []validationutils.ValidationOutput{}, nil
211
- }
212
- }
213
-
214
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
215
-
216
- subResults := make([]validationutils.ValidationOutput, 0)
217
- valid := true
218
- configureDebugInfo := ""
219
- for _, testObjMap := range scope {
220
- validationutils.UnusedFunction(testObjMap)
221
-
222
- attr := validationutils.GetJsonPath(testObjMap, "$.context.city", true)
223
- validationutils.UnusedFunction(attr)
224
-
225
- validate := validationutils.ArePresent(attr)
226
-
227
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_CITY","attr":"$.context.city","_RETURN_":"attr are present"}`
228
-
229
- if !validate {
230
- result := validationutils.ValidationOutput{
231
- TestName: "REQUIRED_CONTEXT_CITY",
232
- Valid: false,
233
- Code: 30000,
234
- Description: `#### **REQUIRED_CONTEXT_CITY**
235
-
236
- - $.context.city must be present in the payload`,
237
- DebugInfo: &validationutils.DebugInfo{
238
- FedConfig: configureDebugInfo,
239
- },
240
- }
241
- return []validationutils.ValidationOutput{result}, nil
242
- }
243
-
244
- }
245
-
246
- result := validationutils.ValidationOutput{
247
- TestName: "REQUIRED_CONTEXT_CITY",
248
- Valid: valid,
249
- Code: 0,
250
- DebugInfo: &validationutils.DebugInfo{
251
- FedConfig: configureDebugInfo,
252
- },
253
- }
254
-
255
- if valid {
256
- result.Code = 200
257
- } else {
258
- result.Code = 30000
259
- }
260
-
261
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
262
- results = append(results, result)
263
- results = append(results, subResults...)
264
-
265
- return results, nil
266
- }
267
- var REQUIRED_CONTEXT_ACTION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
268
-
269
- if input.Config.SkipTestsDict != nil {
270
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_ACTION"]; skip {
271
- return []validationutils.ValidationOutput{}, nil
272
- }
273
- }
274
-
275
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
276
-
277
- subResults := make([]validationutils.ValidationOutput, 0)
278
- valid := true
279
- configureDebugInfo := ""
280
- for _, testObjMap := range scope {
281
- validationutils.UnusedFunction(testObjMap)
282
-
283
- attr := validationutils.GetJsonPath(testObjMap, "$.context.action", true)
284
- validationutils.UnusedFunction(attr)
285
-
286
- validate := validationutils.ArePresent(attr)
287
-
288
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_ACTION","attr":"$.context.action","_RETURN_":"attr are present"}`
289
-
290
- if !validate {
291
- result := validationutils.ValidationOutput{
292
- TestName: "REQUIRED_CONTEXT_ACTION",
293
- Valid: false,
294
- Code: 30000,
295
- Description: `#### **REQUIRED_CONTEXT_ACTION**
296
-
297
- - $.context.action must be present in the payload`,
298
- DebugInfo: &validationutils.DebugInfo{
299
- FedConfig: configureDebugInfo,
300
- },
301
- }
302
- return []validationutils.ValidationOutput{result}, nil
303
- }
304
-
305
- }
306
-
307
- result := validationutils.ValidationOutput{
308
- TestName: "REQUIRED_CONTEXT_ACTION",
309
- Valid: valid,
310
- Code: 0,
311
- DebugInfo: &validationutils.DebugInfo{
312
- FedConfig: configureDebugInfo,
313
- },
314
- }
315
-
316
- if valid {
317
- result.Code = 200
318
- } else {
319
- result.Code = 30000
320
- }
321
-
322
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
323
- results = append(results, result)
324
- results = append(results, subResults...)
325
-
326
- return results, nil
327
- }
328
- var REQUIRED_CONTEXT_CORE_VERSION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
329
-
330
- if input.Config.SkipTestsDict != nil {
331
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_CORE_VERSION"]; skip {
332
- return []validationutils.ValidationOutput{}, nil
333
- }
334
- }
335
-
336
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
337
-
338
- subResults := make([]validationutils.ValidationOutput, 0)
339
- valid := true
340
- configureDebugInfo := ""
341
- for _, testObjMap := range scope {
342
- validationutils.UnusedFunction(testObjMap)
343
-
344
- attr := validationutils.GetJsonPath(testObjMap, "$.context.core_version", true)
345
- validationutils.UnusedFunction(attr)
346
-
347
- validate := validationutils.ArePresent(attr)
348
-
349
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_CORE_VERSION","attr":"$.context.core_version","_RETURN_":"attr are present"}`
350
-
351
- if !validate {
352
- result := validationutils.ValidationOutput{
353
- TestName: "REQUIRED_CONTEXT_CORE_VERSION",
354
- Valid: false,
355
- Code: 30000,
356
- Description: `#### **REQUIRED_CONTEXT_CORE_VERSION**
357
-
358
- - $.context.core_version must be present in the payload`,
359
- DebugInfo: &validationutils.DebugInfo{
360
- FedConfig: configureDebugInfo,
361
- },
362
- }
363
- return []validationutils.ValidationOutput{result}, nil
364
- }
365
-
366
- }
367
-
368
- result := validationutils.ValidationOutput{
369
- TestName: "REQUIRED_CONTEXT_CORE_VERSION",
370
- Valid: valid,
371
- Code: 0,
372
- DebugInfo: &validationutils.DebugInfo{
373
- FedConfig: configureDebugInfo,
374
- },
375
- }
376
-
377
- if valid {
378
- result.Code = 200
379
- } else {
380
- result.Code = 30000
381
- }
382
-
383
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
384
- results = append(results, result)
385
- results = append(results, subResults...)
386
-
387
- return results, nil
388
- }
389
- var REQUIRED_CONTEXT_BAP_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
390
-
391
- if input.Config.SkipTestsDict != nil {
392
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BAP_ID"]; skip {
393
- return []validationutils.ValidationOutput{}, nil
394
- }
395
- }
396
-
397
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
398
-
399
- subResults := make([]validationutils.ValidationOutput, 0)
400
- valid := true
401
- configureDebugInfo := ""
402
- for _, testObjMap := range scope {
403
- validationutils.UnusedFunction(testObjMap)
404
-
405
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bap_id", true)
406
- validationutils.UnusedFunction(attr)
407
-
408
- validate := validationutils.ArePresent(attr)
409
-
410
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BAP_ID","attr":"$.context.bap_id","_RETURN_":"attr are present"}`
411
-
412
- if !validate {
413
- result := validationutils.ValidationOutput{
414
- TestName: "REQUIRED_CONTEXT_BAP_ID",
415
- Valid: false,
416
- Code: 30000,
417
- Description: `#### **REQUIRED_CONTEXT_BAP_ID**
418
-
419
- - $.context.bap_id must be present in the payload`,
420
- DebugInfo: &validationutils.DebugInfo{
421
- FedConfig: configureDebugInfo,
422
- },
423
- }
424
- return []validationutils.ValidationOutput{result}, nil
425
- }
426
-
427
- }
428
-
429
- result := validationutils.ValidationOutput{
430
- TestName: "REQUIRED_CONTEXT_BAP_ID",
431
- Valid: valid,
432
- Code: 0,
433
- DebugInfo: &validationutils.DebugInfo{
434
- FedConfig: configureDebugInfo,
435
- },
436
- }
437
-
438
- if valid {
439
- result.Code = 200
440
- } else {
441
- result.Code = 30000
442
- }
443
-
444
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
445
- results = append(results, result)
446
- results = append(results, subResults...)
447
-
448
- return results, nil
449
- }
450
- var REQUIRED_CONTEXT_BAP_URI = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
451
-
452
- if input.Config.SkipTestsDict != nil {
453
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BAP_URI"]; skip {
454
- return []validationutils.ValidationOutput{}, nil
455
- }
456
- }
457
-
458
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
459
-
460
- subResults := make([]validationutils.ValidationOutput, 0)
461
- valid := true
462
- configureDebugInfo := ""
463
- for _, testObjMap := range scope {
464
- validationutils.UnusedFunction(testObjMap)
465
-
466
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bap_uri", true)
467
- validationutils.UnusedFunction(attr)
468
-
469
- validate := validationutils.ArePresent(attr)
470
-
471
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BAP_URI","attr":"$.context.bap_uri","_RETURN_":"attr are present"}`
472
-
473
- if !validate {
474
- result := validationutils.ValidationOutput{
475
- TestName: "REQUIRED_CONTEXT_BAP_URI",
476
- Valid: false,
477
- Code: 30000,
478
- Description: `#### **REQUIRED_CONTEXT_BAP_URI**
479
-
480
- - $.context.bap_uri must be present in the payload`,
481
- DebugInfo: &validationutils.DebugInfo{
482
- FedConfig: configureDebugInfo,
483
- },
484
- }
485
- return []validationutils.ValidationOutput{result}, nil
486
- }
487
-
488
- }
489
-
490
- result := validationutils.ValidationOutput{
491
- TestName: "REQUIRED_CONTEXT_BAP_URI",
492
- Valid: valid,
493
- Code: 0,
494
- DebugInfo: &validationutils.DebugInfo{
495
- FedConfig: configureDebugInfo,
496
- },
497
- }
498
-
499
- if valid {
500
- result.Code = 200
501
- } else {
502
- result.Code = 30000
503
- }
504
-
505
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
506
- results = append(results, result)
507
- results = append(results, subResults...)
508
-
509
- return results, nil
510
- }
511
- var REQUIRED_CONTEXT_BPP_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
512
-
513
- if input.Config.SkipTestsDict != nil {
514
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BPP_ID"]; skip {
515
- return []validationutils.ValidationOutput{}, nil
516
- }
517
- }
518
-
519
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
520
-
521
- subResults := make([]validationutils.ValidationOutput, 0)
522
- valid := true
523
- configureDebugInfo := ""
524
- for _, testObjMap := range scope {
525
- validationutils.UnusedFunction(testObjMap)
526
-
527
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bpp_id", true)
528
- validationutils.UnusedFunction(attr)
529
-
530
- validate := validationutils.ArePresent(attr)
531
-
532
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BPP_ID","attr":"$.context.bpp_id","_RETURN_":"attr are present"}`
533
-
534
- if !validate {
535
- result := validationutils.ValidationOutput{
536
- TestName: "REQUIRED_CONTEXT_BPP_ID",
537
- Valid: false,
538
- Code: 30000,
539
- Description: `#### **REQUIRED_CONTEXT_BPP_ID**
540
-
541
- - $.context.bpp_id must be present in the payload`,
542
- DebugInfo: &validationutils.DebugInfo{
543
- FedConfig: configureDebugInfo,
544
- },
545
- }
546
- return []validationutils.ValidationOutput{result}, nil
547
- }
548
-
549
- }
550
-
551
- result := validationutils.ValidationOutput{
552
- TestName: "REQUIRED_CONTEXT_BPP_ID",
553
- Valid: valid,
554
- Code: 0,
555
- DebugInfo: &validationutils.DebugInfo{
556
- FedConfig: configureDebugInfo,
557
- },
558
- }
559
-
560
- if valid {
561
- result.Code = 200
562
- } else {
563
- result.Code = 30000
564
- }
565
-
566
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
567
- results = append(results, result)
568
- results = append(results, subResults...)
569
-
570
- return results, nil
571
- }
572
- var REQUIRED_CONTEXT_BPP_URI = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
573
-
574
- if input.Config.SkipTestsDict != nil {
575
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BPP_URI"]; skip {
576
- return []validationutils.ValidationOutput{}, nil
577
- }
578
- }
579
-
580
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
581
-
582
- subResults := make([]validationutils.ValidationOutput, 0)
583
- valid := true
584
- configureDebugInfo := ""
585
- for _, testObjMap := range scope {
586
- validationutils.UnusedFunction(testObjMap)
587
-
588
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bpp_uri", true)
589
- validationutils.UnusedFunction(attr)
590
-
591
- validate := validationutils.ArePresent(attr)
592
-
593
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BPP_URI","attr":"$.context.bpp_uri","_RETURN_":"attr are present"}`
594
-
595
- if !validate {
596
- result := validationutils.ValidationOutput{
597
- TestName: "REQUIRED_CONTEXT_BPP_URI",
598
- Valid: false,
599
- Code: 30000,
600
- Description: `#### **REQUIRED_CONTEXT_BPP_URI**
601
-
602
- - $.context.bpp_uri must be present in the payload`,
603
- DebugInfo: &validationutils.DebugInfo{
604
- FedConfig: configureDebugInfo,
605
- },
606
- }
607
- return []validationutils.ValidationOutput{result}, nil
608
- }
609
-
610
- }
611
-
612
- result := validationutils.ValidationOutput{
613
- TestName: "REQUIRED_CONTEXT_BPP_URI",
614
- Valid: valid,
615
- Code: 0,
616
- DebugInfo: &validationutils.DebugInfo{
617
- FedConfig: configureDebugInfo,
618
- },
619
- }
620
-
621
- if valid {
622
- result.Code = 200
623
- } else {
624
- result.Code = 30000
625
- }
626
-
627
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
628
- results = append(results, result)
629
- results = append(results, subResults...)
630
-
631
- return results, nil
632
- }
633
- var REQUIRED_CONTEXT_TRANSACTION_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
634
-
635
- if input.Config.SkipTestsDict != nil {
636
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TRANSACTION_ID"]; skip {
637
- return []validationutils.ValidationOutput{}, nil
638
- }
639
- }
640
-
641
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
642
-
643
- subResults := make([]validationutils.ValidationOutput, 0)
644
- valid := true
645
- configureDebugInfo := ""
646
- for _, testObjMap := range scope {
647
- validationutils.UnusedFunction(testObjMap)
648
-
649
- attr := validationutils.GetJsonPath(testObjMap, "$.context.transaction_id", true)
650
- validationutils.UnusedFunction(attr)
651
-
652
- validate := validationutils.ArePresent(attr)
653
-
654
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TRANSACTION_ID","attr":"$.context.transaction_id","_RETURN_":"attr are present"}`
655
-
656
- if !validate {
657
- result := validationutils.ValidationOutput{
658
- TestName: "REQUIRED_CONTEXT_TRANSACTION_ID",
659
- Valid: false,
660
- Code: 30000,
661
- Description: `#### **REQUIRED_CONTEXT_TRANSACTION_ID**
662
-
663
- - $.context.transaction_id must be present in the payload`,
664
- DebugInfo: &validationutils.DebugInfo{
665
- FedConfig: configureDebugInfo,
666
- },
667
- }
668
- return []validationutils.ValidationOutput{result}, nil
669
- }
670
-
671
- }
672
-
673
- result := validationutils.ValidationOutput{
674
- TestName: "REQUIRED_CONTEXT_TRANSACTION_ID",
675
- Valid: valid,
676
- Code: 0,
677
- DebugInfo: &validationutils.DebugInfo{
678
- FedConfig: configureDebugInfo,
679
- },
680
- }
681
-
682
- if valid {
683
- result.Code = 200
684
- } else {
685
- result.Code = 30000
686
- }
687
-
688
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
689
- results = append(results, result)
690
- results = append(results, subResults...)
691
-
692
- return results, nil
693
- }
694
- var REQUIRED_CONTEXT_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
695
-
696
- if input.Config.SkipTestsDict != nil {
697
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_MESSAGE_ID"]; skip {
698
- return []validationutils.ValidationOutput{}, nil
699
- }
700
- }
701
-
702
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
703
-
704
- subResults := make([]validationutils.ValidationOutput, 0)
705
- valid := true
706
- configureDebugInfo := ""
707
- for _, testObjMap := range scope {
708
- validationutils.UnusedFunction(testObjMap)
709
-
710
- attr := validationutils.GetJsonPath(testObjMap, "$.context.message_id", true)
711
- validationutils.UnusedFunction(attr)
712
-
713
- validate := validationutils.ArePresent(attr)
714
-
715
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_MESSAGE_ID","attr":"$.context.message_id","_RETURN_":"attr are present"}`
716
-
717
- if !validate {
718
- result := validationutils.ValidationOutput{
719
- TestName: "REQUIRED_CONTEXT_MESSAGE_ID",
720
- Valid: false,
721
- Code: 30000,
722
- Description: `#### **REQUIRED_CONTEXT_MESSAGE_ID**
723
-
724
- - $.context.message_id must be present in the payload`,
725
- DebugInfo: &validationutils.DebugInfo{
726
- FedConfig: configureDebugInfo,
727
- },
728
- }
729
- return []validationutils.ValidationOutput{result}, nil
730
- }
731
-
732
- }
733
-
734
- result := validationutils.ValidationOutput{
735
- TestName: "REQUIRED_CONTEXT_MESSAGE_ID",
736
- Valid: valid,
737
- Code: 0,
738
- DebugInfo: &validationutils.DebugInfo{
739
- FedConfig: configureDebugInfo,
740
- },
741
- }
742
-
743
- if valid {
744
- result.Code = 200
745
- } else {
746
- result.Code = 30000
747
- }
748
-
749
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
750
- results = append(results, result)
751
- results = append(results, subResults...)
752
-
753
- return results, nil
754
- }
755
- var REQUIRED_CONTEXT_TIMESTAMP = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
756
-
757
- if input.Config.SkipTestsDict != nil {
758
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TIMESTAMP"]; skip {
759
- return []validationutils.ValidationOutput{}, nil
760
- }
761
- }
762
-
763
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
764
-
765
- subResults := make([]validationutils.ValidationOutput, 0)
766
- valid := true
767
- configureDebugInfo := ""
768
- for _, testObjMap := range scope {
769
- validationutils.UnusedFunction(testObjMap)
770
-
771
- attr := validationutils.GetJsonPath(testObjMap, "$.context.timestamp", true)
772
- validationutils.UnusedFunction(attr)
773
-
774
- validate := validationutils.ArePresent(attr)
775
-
776
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TIMESTAMP","attr":"$.context.timestamp","_RETURN_":"attr are present"}`
777
-
778
- if !validate {
779
- result := validationutils.ValidationOutput{
780
- TestName: "REQUIRED_CONTEXT_TIMESTAMP",
781
- Valid: false,
782
- Code: 30000,
783
- Description: `#### **REQUIRED_CONTEXT_TIMESTAMP**
784
-
785
- - $.context.timestamp must be present in the payload`,
786
- DebugInfo: &validationutils.DebugInfo{
787
- FedConfig: configureDebugInfo,
788
- },
789
- }
790
- return []validationutils.ValidationOutput{result}, nil
791
- }
792
-
793
- }
794
-
795
- result := validationutils.ValidationOutput{
796
- TestName: "REQUIRED_CONTEXT_TIMESTAMP",
797
- Valid: valid,
798
- Code: 0,
799
- DebugInfo: &validationutils.DebugInfo{
800
- FedConfig: configureDebugInfo,
801
- },
802
- }
803
-
804
- if valid {
805
- result.Code = 200
806
- } else {
807
- result.Code = 30000
808
- }
809
-
810
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
811
- results = append(results, result)
812
- results = append(results, subResults...)
813
-
814
- return results, nil
815
- }
816
- var REQUIRED_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
817
-
818
- if input.Config.SkipTestsDict != nil {
819
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID"]; skip {
820
- return []validationutils.ValidationOutput{}, nil
821
- }
822
- }
823
-
824
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
825
-
826
- subResults := make([]validationutils.ValidationOutput, 0)
827
- valid := true
828
- configureDebugInfo := ""
829
- for _, testObjMap := range scope {
830
- validationutils.UnusedFunction(testObjMap)
831
-
832
- attr := validationutils.GetJsonPath(testObjMap, "$.message.tracking.id", true)
833
- validationutils.UnusedFunction(attr)
834
-
835
- validate := validationutils.ArePresent(attr)
836
-
837
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID","attr":"$.message.tracking.id","_RETURN_":"attr are present"}`
838
-
839
- if !validate {
840
- result := validationutils.ValidationOutput{
841
- TestName: "REQUIRED_MESSAGE_ID",
842
- Valid: false,
843
- Code: 30000,
844
- Description: `#### **REQUIRED_MESSAGE_ID**
845
-
846
- - $.message.tracking.id must be present in the payload`,
847
- DebugInfo: &validationutils.DebugInfo{
848
- FedConfig: configureDebugInfo,
849
- },
850
- }
851
- return []validationutils.ValidationOutput{result}, nil
852
- }
853
-
854
- }
855
-
856
- result := validationutils.ValidationOutput{
857
- TestName: "REQUIRED_MESSAGE_ID",
858
- Valid: valid,
859
- Code: 0,
860
- DebugInfo: &validationutils.DebugInfo{
861
- FedConfig: configureDebugInfo,
862
- },
863
- }
864
-
865
- if valid {
866
- result.Code = 200
867
- } else {
868
- result.Code = 30000
869
- }
870
-
871
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
872
- results = append(results, result)
873
- results = append(results, subResults...)
874
-
875
- return results, nil
876
- }
877
- var REQUIRED_MESSAGE_STATUS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
878
-
879
- if input.Config.SkipTestsDict != nil {
880
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_STATUS"]; skip {
881
- return []validationutils.ValidationOutput{}, nil
882
- }
883
- }
884
-
885
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
886
-
887
- subResults := make([]validationutils.ValidationOutput, 0)
888
- valid := true
889
- configureDebugInfo := ""
890
- for _, testObjMap := range scope {
891
- validationutils.UnusedFunction(testObjMap)
892
-
893
- attr := validationutils.GetJsonPath(testObjMap, "$.message.tracking.status", true)
894
- validationutils.UnusedFunction(attr)
895
- enumList := validationutils.StringSliceToInterface([]string{`active`, `inactive`})
896
- validationutils.UnusedFunction(enumList)
897
-
898
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
899
-
900
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_STATUS","attr":"$.message.tracking.status","_RETURN_":"attr are present && attr all in enumList","enumList":["active","inactive"]}`
901
-
902
- if !validate {
903
- result := validationutils.ValidationOutput{
904
- TestName: "REQUIRED_MESSAGE_STATUS",
905
- Valid: false,
906
- Code: 30000,
907
- Description: `#### **REQUIRED_MESSAGE_STATUS**
908
-
909
- **All of the following must be true:**
910
- - $.message.tracking.status must be present in the payload
911
- - All elements of $.message.tracking.status must be in ["active", "inactive"]`,
912
- DebugInfo: &validationutils.DebugInfo{
913
- FedConfig: configureDebugInfo,
914
- },
915
- }
916
- return []validationutils.ValidationOutput{result}, nil
917
- }
918
-
919
- }
920
-
921
- result := validationutils.ValidationOutput{
922
- TestName: "REQUIRED_MESSAGE_STATUS",
923
- Valid: valid,
924
- Code: 0,
925
- DebugInfo: &validationutils.DebugInfo{
926
- FedConfig: configureDebugInfo,
927
- },
928
- }
929
-
930
- if valid {
931
- result.Code = 200
932
- } else {
933
- result.Code = 30000
934
- }
935
-
936
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
937
- results = append(results, result)
938
- results = append(results, subResults...)
939
-
940
- return results, nil
941
- }
942
- var VALID_ENUM_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
943
-
944
- if input.Config.SkipTestsDict != nil {
945
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_CONTEXT_DOMAIN"]; skip {
946
- return []validationutils.ValidationOutput{}, nil
947
- }
948
- }
949
-
950
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
951
-
952
- subResults := make([]validationutils.ValidationOutput, 0)
953
- valid := true
954
- configureDebugInfo := ""
955
- for _, testObjMap := range scope {
956
- validationutils.UnusedFunction(testObjMap)
957
-
958
- enumList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`, `ONDC:LOG11`, `nic2004:60232`})
959
- validationutils.UnusedFunction(enumList)
960
- enumPath := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
961
- validationutils.UnusedFunction(enumPath)
962
-
963
- skipCheck := !(validationutils.ArePresent(enumPath))
964
- if skipCheck {
965
- continue
966
- }
967
-
968
- validate := validationutils.AllIn(enumPath, enumList)
969
-
970
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_CONTEXT_DOMAIN","enumList":["ONDC:LOG10","ONDC:LOG11","nic2004:60232"],"enumPath":"$.context.domain","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
971
-
972
- if !validate {
973
- result := validationutils.ValidationOutput{
974
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
975
- Valid: false,
976
- Code: 30000,
977
- Description: `#### **VALID_ENUM_CONTEXT_DOMAIN**
978
-
979
- - All elements of $.context.domain must be in ["ONDC:LOG10", "ONDC:LOG11", "nic2004:60232"]
980
-
981
- > **Skip if:**
982
- >
983
- > - $.context.domain is not in the payload`,
984
- DebugInfo: &validationutils.DebugInfo{
985
- FedConfig: configureDebugInfo,
986
- },
987
- }
988
- return []validationutils.ValidationOutput{result}, nil
989
- }
990
-
991
- }
992
-
993
- result := validationutils.ValidationOutput{
994
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
995
- Valid: valid,
996
- Code: 0,
997
- DebugInfo: &validationutils.DebugInfo{
998
- FedConfig: configureDebugInfo,
999
- },
1000
- }
1001
-
1002
- if valid {
1003
- result.Code = 200
1004
- } else {
1005
- result.Code = 30000
1006
- }
1007
-
1008
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1009
- results = append(results, result)
1010
- results = append(results, subResults...)
1011
-
1012
- return results, nil
1013
- }
1014
- var VALID_ENUM_MESSAGE_STATUS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1015
-
1016
- if input.Config.SkipTestsDict != nil {
1017
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_STATUS"]; skip {
1018
- return []validationutils.ValidationOutput{}, nil
1019
- }
1020
- }
1021
-
1022
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1023
-
1024
- subResults := make([]validationutils.ValidationOutput, 0)
1025
- valid := true
1026
- configureDebugInfo := ""
1027
- for _, testObjMap := range scope {
1028
- validationutils.UnusedFunction(testObjMap)
1029
-
1030
- enumList := validationutils.StringSliceToInterface([]string{`active`, `inactive`})
1031
- validationutils.UnusedFunction(enumList)
1032
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.tracking.status", true)
1033
- validationutils.UnusedFunction(enumPath)
1034
-
1035
- skipCheck := !(validationutils.ArePresent(enumPath))
1036
- if skipCheck {
1037
- continue
1038
- }
1039
-
1040
- validate := validationutils.AllIn(enumPath, enumList)
1041
-
1042
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_STATUS","enumList":["active","inactive"],"enumPath":"$.message.tracking.status","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1043
-
1044
- if !validate {
1045
- result := validationutils.ValidationOutput{
1046
- TestName: "VALID_ENUM_MESSAGE_STATUS",
1047
- Valid: false,
1048
- Code: 30000,
1049
- Description: `#### **VALID_ENUM_MESSAGE_STATUS**
1050
-
1051
- - All elements of $.message.tracking.status must be in ["active", "inactive"]
1052
-
1053
- > **Skip if:**
1054
- >
1055
- > - $.message.tracking.status is not in the payload`,
1056
- DebugInfo: &validationutils.DebugInfo{
1057
- FedConfig: configureDebugInfo,
1058
- },
1059
- }
1060
- return []validationutils.ValidationOutput{result}, nil
1061
- }
1062
-
1063
- }
1064
-
1065
- result := validationutils.ValidationOutput{
1066
- TestName: "VALID_ENUM_MESSAGE_STATUS",
1067
- Valid: valid,
1068
- Code: 0,
1069
- DebugInfo: &validationutils.DebugInfo{
1070
- FedConfig: configureDebugInfo,
1071
- },
1072
- }
1073
-
1074
- if valid {
1075
- result.Code = 200
1076
- } else {
1077
- result.Code = 30000
1078
- }
1079
-
1080
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1081
- results = append(results, result)
1082
- results = append(results, subResults...)
1083
-
1084
- return results, nil
1085
- }
1086
- var Validate_tag_0 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1087
-
1088
- if input.Config.SkipTestsDict != nil {
1089
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0"]; skip {
1090
- return []validationutils.ValidationOutput{}, nil
1091
- }
1092
- }
1093
-
1094
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1095
-
1096
- subResults := make([]validationutils.ValidationOutput, 0)
1097
- valid := true
1098
- configureDebugInfo := ""
1099
- for _, testObjMap := range scope {
1100
- validationutils.UnusedFunction(testObjMap)
1101
-
1102
- validTags := validationutils.StringSliceToInterface([]string{`order`, `config`, `path`})
1103
- validationutils.UnusedFunction(validTags)
1104
- tagPath := validationutils.GetJsonPath(testObjMap, "$.message.tracking.tags[*].code", true)
1105
- validationutils.UnusedFunction(tagPath)
1106
-
1107
- skipCheck := !(validationutils.ArePresent(tagPath))
1108
- if skipCheck {
1109
- continue
1110
- }
1111
-
1112
- validate := validationutils.AllIn(tagPath, validTags)
1113
-
1114
- configureDebugInfo = `{"_NAME_":"validate_tag_0","validTags":["order","config","path"],"tagPath":"$.message.tracking.tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
1115
-
1116
- if !validate {
1117
- result := validationutils.ValidationOutput{
1118
- TestName: "validate_tag_0",
1119
- Valid: false,
1120
- Code: 30000,
1121
- Description: `#### **validate_tag_0**
1122
-
1123
- - All elements of $.message.tracking.tags[*].code must be in ["order", "config", "path"]
1124
-
1125
- > **Skip if:**
1126
- >
1127
- > - $.message.tracking.tags[*].code is not in the payload`,
1128
- DebugInfo: &validationutils.DebugInfo{
1129
- FedConfig: configureDebugInfo,
1130
- },
1131
- }
1132
- return []validationutils.ValidationOutput{result}, nil
1133
- }
1134
-
1135
- }
1136
-
1137
- result := validationutils.ValidationOutput{
1138
- TestName: "Validate_tag_0",
1139
- Valid: valid,
1140
- Code: 0,
1141
- DebugInfo: &validationutils.DebugInfo{
1142
- FedConfig: configureDebugInfo,
1143
- },
1144
- }
1145
-
1146
- if valid {
1147
- result.Code = 200
1148
- } else {
1149
- result.Code = 30000
1150
- }
1151
-
1152
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1153
- results = append(results, result)
1154
- results = append(results, subResults...)
1155
-
1156
- return results, nil
1157
- }
1158
- var Validate_tag_0_order = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1159
-
1160
- if input.Config.SkipTestsDict != nil {
1161
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_order"]; skip {
1162
- return []validationutils.ValidationOutput{}, nil
1163
- }
1164
- }
1165
-
1166
- scope := validationutils.GetJsonPath(input.Payload, "$.message.tracking.tags[?(@.code=='order')]", true)
1167
-
1168
- subResults := make([]validationutils.ValidationOutput, 0)
1169
- valid := true
1170
- configureDebugInfo := ""
1171
- for _, testObjMap := range scope {
1172
- validationutils.UnusedFunction(testObjMap)
1173
-
1174
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
1175
- validationutils.UnusedFunction(subTags)
1176
- validValues := validationutils.StringSliceToInterface([]string{`id`})
1177
- validationutils.UnusedFunction(validValues)
1178
-
1179
- validate := validationutils.AllIn(subTags, validValues)
1180
-
1181
- configureDebugInfo = `{"_NAME_":"validate_tag_0_order","_SCOPE_":"$.message.tracking.tags[?(@.code=='order')]","subTags":"$.list[*].code","validValues":["id"],"_RETURN_":"subTags all in validValues"}`
1182
-
1183
- if !validate {
1184
- result := validationutils.ValidationOutput{
1185
- TestName: "validate_tag_0_order",
1186
- Valid: false,
1187
- Code: 30000,
1188
- Description: `#### **validate_tag_0_order**
1189
-
1190
- - All elements of $.message.tracking.tags[?(@.code=='order')].list[*].code must be in ["id"]`,
1191
- DebugInfo: &validationutils.DebugInfo{
1192
- FedConfig: configureDebugInfo,
1193
- },
1194
- }
1195
- return []validationutils.ValidationOutput{result}, nil
1196
- }
1197
-
1198
- }
1199
-
1200
- result := validationutils.ValidationOutput{
1201
- TestName: "Validate_tag_0_order",
1202
- Valid: valid,
1203
- Code: 0,
1204
- DebugInfo: &validationutils.DebugInfo{
1205
- FedConfig: configureDebugInfo,
1206
- },
1207
- }
1208
-
1209
- if valid {
1210
- result.Code = 200
1211
- } else {
1212
- result.Code = 30000
1213
- }
1214
-
1215
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1216
- results = append(results, result)
1217
- results = append(results, subResults...)
1218
-
1219
- return results, nil
1220
- }
1221
- var Validate_tag_0_config = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1222
-
1223
- if input.Config.SkipTestsDict != nil {
1224
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_config"]; skip {
1225
- return []validationutils.ValidationOutput{}, nil
1226
- }
1227
- }
1228
-
1229
- scope := validationutils.GetJsonPath(input.Payload, "$.message.tracking.tags[?(@.code=='config')]", true)
1230
-
1231
- subResults := make([]validationutils.ValidationOutput, 0)
1232
- valid := true
1233
- configureDebugInfo := ""
1234
- for _, testObjMap := range scope {
1235
- validationutils.UnusedFunction(testObjMap)
1236
-
1237
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
1238
- validationutils.UnusedFunction(subTags)
1239
- validValues := validationutils.StringSliceToInterface([]string{`attr`, `type`})
1240
- validationutils.UnusedFunction(validValues)
1241
-
1242
- validate := validationutils.AllIn(subTags, validValues)
1243
-
1244
- configureDebugInfo = `{"_NAME_":"validate_tag_0_config","_SCOPE_":"$.message.tracking.tags[?(@.code=='config')]","subTags":"$.list[*].code","validValues":["attr","type"],"_RETURN_":"subTags all in validValues"}`
1245
-
1246
- if !validate {
1247
- result := validationutils.ValidationOutput{
1248
- TestName: "validate_tag_0_config",
1249
- Valid: false,
1250
- Code: 30000,
1251
- Description: `#### **validate_tag_0_config**
1252
-
1253
- - All elements of $.message.tracking.tags[?(@.code=='config')].list[*].code must be in ["attr", "type"]`,
1254
- DebugInfo: &validationutils.DebugInfo{
1255
- FedConfig: configureDebugInfo,
1256
- },
1257
- }
1258
- return []validationutils.ValidationOutput{result}, nil
1259
- }
1260
-
1261
- }
1262
-
1263
- result := validationutils.ValidationOutput{
1264
- TestName: "Validate_tag_0_config",
1265
- Valid: valid,
1266
- Code: 0,
1267
- DebugInfo: &validationutils.DebugInfo{
1268
- FedConfig: configureDebugInfo,
1269
- },
1270
- }
1271
-
1272
- if valid {
1273
- result.Code = 200
1274
- } else {
1275
- result.Code = 30000
1276
- }
1277
-
1278
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1279
- results = append(results, result)
1280
- results = append(results, subResults...)
1281
-
1282
- return results, nil
1283
- }
1284
- var Validate_tag_0_path = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1285
-
1286
- if input.Config.SkipTestsDict != nil {
1287
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_path"]; skip {
1288
- return []validationutils.ValidationOutput{}, nil
1289
- }
1290
- }
1291
-
1292
- scope := validationutils.GetJsonPath(input.Payload, "$.message.tracking.tags[?(@.code=='path')]", true)
1293
-
1294
- subResults := make([]validationutils.ValidationOutput, 0)
1295
- valid := true
1296
- configureDebugInfo := ""
1297
- for _, testObjMap := range scope {
1298
- validationutils.UnusedFunction(testObjMap)
1299
-
1300
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
1301
- validationutils.UnusedFunction(subTags)
1302
- validValues := validationutils.StringSliceToInterface([]string{`lat_lng`, `sequence`})
1303
- validationutils.UnusedFunction(validValues)
1304
-
1305
- validate := validationutils.AllIn(subTags, validValues)
1306
-
1307
- configureDebugInfo = `{"_NAME_":"validate_tag_0_path","_SCOPE_":"$.message.tracking.tags[?(@.code=='path')]","subTags":"$.list[*].code","validValues":["lat_lng","sequence"],"_RETURN_":"subTags all in validValues"}`
1308
-
1309
- if !validate {
1310
- result := validationutils.ValidationOutput{
1311
- TestName: "validate_tag_0_path",
1312
- Valid: false,
1313
- Code: 30000,
1314
- Description: `#### **validate_tag_0_path**
1315
-
1316
- - All elements of $.message.tracking.tags[?(@.code=='path')].list[*].code must be in ["lat_lng", "sequence"]`,
1317
- DebugInfo: &validationutils.DebugInfo{
1318
- FedConfig: configureDebugInfo,
1319
- },
1320
- }
1321
- return []validationutils.ValidationOutput{result}, nil
1322
- }
1323
-
1324
- }
1325
-
1326
- result := validationutils.ValidationOutput{
1327
- TestName: "Validate_tag_0_path",
1328
- Valid: valid,
1329
- Code: 0,
1330
- DebugInfo: &validationutils.DebugInfo{
1331
- FedConfig: configureDebugInfo,
1332
- },
1333
- }
1334
-
1335
- if valid {
1336
- result.Code = 200
1337
- } else {
1338
- result.Code = 30000
1339
- }
1340
-
1341
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1342
- results = append(results, result)
1343
- results = append(results, subResults...)
1344
-
1345
- return results, nil
1346
- }
1347
-
1348
- var testFunctions = validationutils.TestFunctionArray{
1349
- REQUIRED_CONTEXT_DOMAIN,
1350
- REQUIRED_CONTEXT_COUNTRY,
1351
- REQUIRED_CONTEXT_CITY,
1352
- REQUIRED_CONTEXT_ACTION,
1353
- REQUIRED_CONTEXT_CORE_VERSION,
1354
- REQUIRED_CONTEXT_BAP_ID,
1355
- REQUIRED_CONTEXT_BAP_URI,
1356
- REQUIRED_CONTEXT_BPP_ID,
1357
- REQUIRED_CONTEXT_BPP_URI,
1358
- REQUIRED_CONTEXT_TRANSACTION_ID,
1359
- REQUIRED_CONTEXT_MESSAGE_ID,
1360
- REQUIRED_CONTEXT_TIMESTAMP,
1361
- REQUIRED_MESSAGE_ID,
1362
- REQUIRED_MESSAGE_STATUS,
1363
- VALID_ENUM_CONTEXT_DOMAIN,
1364
- VALID_ENUM_MESSAGE_STATUS,
1365
- Validate_tag_0,
1366
- Validate_tag_0_order,
1367
- Validate_tag_0_config,
1368
- Validate_tag_0_path,
1369
- }
1370
-
1371
- allResults := make([]validationutils.ValidationOutput, 0)
1372
-
1373
- for _, testFunc := range testFunctions {
1374
- results, err := testFunc(input)
1375
- if err != nil {
1376
- return nil, err
1377
- }
1378
- allResults = append(allResults, results...)
1379
- }
1380
-
1381
- subResults = allResults
1382
- // if all subResults are valid, then valid is true
1383
- valid = true
1384
- for _, res := range subResults {
1385
- if !res.Valid {
1386
- valid = false
1387
- break
1388
- }
1389
- }
1390
-
1391
- configureDebugInfo = `NESTED_TEST_OBJECT`
1392
-
1393
- }
1394
-
1395
- result := validationutils.ValidationOutput{
1396
- TestName: "On_trackValidations",
1397
- Valid: valid,
1398
- Code: 0,
1399
- DebugInfo: &validationutils.DebugInfo{
1400
- FedConfig: configureDebugInfo,
1401
- },
1402
- }
1403
-
1404
- if valid {
1405
- result.Code = 200
1406
- } else {
1407
- result.Code = 30000
1408
- }
1409
-
1410
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1411
- results = append(results, result)
1412
- results = append(results, subResults...)
1413
-
1414
- return results, nil
1415
- }