ondc-code-generator 0.8.8 → 0.8.9

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 (109) hide show
  1. package/README.md +1 -1
  2. package/alpha/page/index.html +6137 -0
  3. package/alpha/page/style.css +204 -0
  4. package/alpha/readme.md +5939 -0
  5. package/alpha/validPaths.json +14351 -0
  6. package/alpha/validationpkg/examples/search.json +143 -0
  7. package/alpha/validationpkg/examples_output/search/case-001/output.json +12 -0
  8. package/alpha/validationpkg/go.mod +8 -0
  9. package/alpha/validationpkg/go.sum +4 -0
  10. package/dist/bin/cli.js +2 -0
  11. package/dist/generator/config-compiler.js +4 -0
  12. package/dist/types/compiler-types.d.ts +2 -1
  13. package/dist/types/compiler-types.js +1 -0
  14. package/docs/jval-dsl.md +913 -0
  15. package/package.json +1 -1
  16. package/alpha/golang/newPkg/go.mod +0 -3
  17. package/alpha/golang/newPkg/jsonvalidations/cancel.go +0 -1289
  18. package/alpha/golang/newPkg/jsonvalidations/confirm.go +0 -9121
  19. package/alpha/golang/newPkg/jsonvalidations/init.go +0 -4864
  20. package/alpha/golang/newPkg/jsonvalidations/issue.go +0 -4868
  21. package/alpha/golang/newPkg/jsonvalidations/on_cancel.go +0 -7111
  22. package/alpha/golang/newPkg/jsonvalidations/on_confirm.go +0 -8903
  23. package/alpha/golang/newPkg/jsonvalidations/on_init.go +0 -4445
  24. package/alpha/golang/newPkg/jsonvalidations/on_issue.go +0 -2828
  25. package/alpha/golang/newPkg/jsonvalidations/on_issue_status.go +0 -1938
  26. package/alpha/golang/newPkg/jsonvalidations/on_search.go +0 -3356
  27. package/alpha/golang/newPkg/jsonvalidations/on_status.go +0 -8129
  28. package/alpha/golang/newPkg/jsonvalidations/on_track.go +0 -1415
  29. package/alpha/golang/newPkg/jsonvalidations/on_update.go +0 -8700
  30. package/alpha/golang/newPkg/jsonvalidations/search.go +0 -3585
  31. package/alpha/golang/newPkg/jsonvalidations/status.go +0 -1073
  32. package/alpha/golang/newPkg/jsonvalidations/track.go +0 -1073
  33. package/alpha/golang/newPkg/jsonvalidations/update.go +0 -3012
  34. package/alpha/golang/newPkg/main-validator.go +0 -196
  35. package/alpha/golang/newPkg/main-validator_test.go +0 -165
  36. package/alpha/golang/newPkg/storageutils/api_save_utils.go +0 -83
  37. package/alpha/golang/newPkg/storageutils/cancel.go +0 -30
  38. package/alpha/golang/newPkg/storageutils/confirm.go +0 -30
  39. package/alpha/golang/newPkg/storageutils/index.go +0 -132
  40. package/alpha/golang/newPkg/storageutils/init.go +0 -30
  41. package/alpha/golang/newPkg/storageutils/issue.go +0 -30
  42. package/alpha/golang/newPkg/storageutils/on_cancel.go +0 -30
  43. package/alpha/golang/newPkg/storageutils/on_confirm.go +0 -30
  44. package/alpha/golang/newPkg/storageutils/on_init.go +0 -30
  45. package/alpha/golang/newPkg/storageutils/on_issue.go +0 -30
  46. package/alpha/golang/newPkg/storageutils/on_issue_status.go +0 -30
  47. package/alpha/golang/newPkg/storageutils/on_search.go +0 -30
  48. package/alpha/golang/newPkg/storageutils/on_status.go +0 -30
  49. package/alpha/golang/newPkg/storageutils/on_track.go +0 -30
  50. package/alpha/golang/newPkg/storageutils/on_update.go +0 -30
  51. package/alpha/golang/newPkg/storageutils/save_utils.go +0 -75
  52. package/alpha/golang/newPkg/storageutils/search.go +0 -30
  53. package/alpha/golang/newPkg/storageutils/status.go +0 -30
  54. package/alpha/golang/newPkg/storageutils/track.go +0 -30
  55. package/alpha/golang/newPkg/storageutils/update.go +0 -30
  56. package/alpha/golang/validationpkg/go.mod +0 -3
  57. package/alpha/golang/validationpkg/validationutils/json_normalizer.go +0 -152
  58. package/alpha/golang/validationpkg/validationutils/json_path_utils.go +0 -173
  59. package/alpha/golang/validationpkg/validationutils/storage-interface.go +0 -107
  60. package/alpha/golang/validationpkg/validationutils/test-config.go +0 -69
  61. package/alpha/golang/validationpkg/validationutils/validation_utils.go +0 -429
  62. /package/alpha/{golang → docs}/page/index.html +0 -0
  63. /package/alpha/{golang → docs}/page/style.css +0 -0
  64. /package/alpha/{golang → docs}/readme.md +0 -0
  65. /package/alpha/{golang → docs}/validPaths.json +0 -0
  66. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/cancel.go +0 -0
  67. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/confirm.go +0 -0
  68. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/init.go +0 -0
  69. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/issue.go +0 -0
  70. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_cancel.go +0 -0
  71. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_confirm.go +0 -0
  72. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_init.go +0 -0
  73. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_issue.go +0 -0
  74. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_issue_status.go +0 -0
  75. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_search.go +0 -0
  76. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_status.go +0 -0
  77. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_track.go +0 -0
  78. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_update.go +0 -0
  79. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/search.go +0 -0
  80. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/status.go +0 -0
  81. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/track.go +0 -0
  82. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/update.go +0 -0
  83. /package/alpha/{golang/validationpkg → validationpkg}/main-validator.go +0 -0
  84. /package/alpha/{golang/validationpkg → validationpkg}/main-validator_test.go +0 -0
  85. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/api_save_utils.go +0 -0
  86. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/cancel.go +0 -0
  87. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/confirm.go +0 -0
  88. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/index.go +0 -0
  89. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/init.go +0 -0
  90. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/issue.go +0 -0
  91. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_cancel.go +0 -0
  92. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_confirm.go +0 -0
  93. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_init.go +0 -0
  94. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_issue.go +0 -0
  95. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_issue_status.go +0 -0
  96. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_search.go +0 -0
  97. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_status.go +0 -0
  98. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_track.go +0 -0
  99. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_update.go +0 -0
  100. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/save_utils.go +0 -0
  101. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/search.go +0 -0
  102. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/status.go +0 -0
  103. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/track.go +0 -0
  104. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/update.go +0 -0
  105. /package/alpha/{golang/newPkg → validationpkg}/validationutils/json_normalizer.go +0 -0
  106. /package/alpha/{golang/newPkg → validationpkg}/validationutils/json_path_utils.go +0 -0
  107. /package/alpha/{golang/newPkg → validationpkg}/validationutils/storage-interface.go +0 -0
  108. /package/alpha/{golang/newPkg → validationpkg}/validationutils/test-config.go +0 -0
  109. /package/alpha/{golang/newPkg → validationpkg}/validationutils/validation_utils.go +0 -0
@@ -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
- "newPkg/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
- }