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,1289 +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 Cancel_Tests(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
10
- totalResults, err := CancelValidations(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 == "CancelValidations" {
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 CancelValidations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
65
-
66
- if input.Config.SkipTestsDict != nil {
67
- if _, skip := input.Config.SkipTestsDict["CancelValidations"]; 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_CONTEXT_TTL = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
817
-
818
- if input.Config.SkipTestsDict != nil {
819
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TTL"]; 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, "$.context.ttl", true)
833
- validationutils.UnusedFunction(attr)
834
-
835
- validate := validationutils.ArePresent(attr)
836
-
837
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TTL","attr":"$.context.ttl","_RETURN_":"attr are present"}`
838
-
839
- if !validate {
840
- result := validationutils.ValidationOutput{
841
- TestName: "REQUIRED_CONTEXT_TTL",
842
- Valid: false,
843
- Code: 30000,
844
- Description: `#### **REQUIRED_CONTEXT_TTL**
845
-
846
- - $.context.ttl 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_CONTEXT_TTL",
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_ORDER_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
878
-
879
- if input.Config.SkipTestsDict != nil {
880
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ORDER_ID"]; 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.order_id", true)
894
- validationutils.UnusedFunction(attr)
895
-
896
- validate := validationutils.ArePresent(attr)
897
-
898
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ORDER_ID","attr":"$.message.order_id","_RETURN_":"attr are present"}`
899
-
900
- if !validate {
901
- result := validationutils.ValidationOutput{
902
- TestName: "REQUIRED_MESSAGE_ORDER_ID",
903
- Valid: false,
904
- Code: 30000,
905
- Description: `#### **REQUIRED_MESSAGE_ORDER_ID**
906
-
907
- - $.message.order_id must be present in the payload`,
908
- DebugInfo: &validationutils.DebugInfo{
909
- FedConfig: configureDebugInfo,
910
- },
911
- }
912
- return []validationutils.ValidationOutput{result}, nil
913
- }
914
-
915
- }
916
-
917
- result := validationutils.ValidationOutput{
918
- TestName: "REQUIRED_MESSAGE_ORDER_ID",
919
- Valid: valid,
920
- Code: 0,
921
- DebugInfo: &validationutils.DebugInfo{
922
- FedConfig: configureDebugInfo,
923
- },
924
- }
925
-
926
- if valid {
927
- result.Code = 200
928
- } else {
929
- result.Code = 30000
930
- }
931
-
932
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
933
- results = append(results, result)
934
- results = append(results, subResults...)
935
-
936
- return results, nil
937
- }
938
- var REQUIRED_MESSAGE_CANCELLATION_REASON_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
939
-
940
- if input.Config.SkipTestsDict != nil {
941
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CANCELLATION_REASON_ID"]; skip {
942
- return []validationutils.ValidationOutput{}, nil
943
- }
944
- }
945
-
946
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
947
-
948
- subResults := make([]validationutils.ValidationOutput, 0)
949
- valid := true
950
- configureDebugInfo := ""
951
- for _, testObjMap := range scope {
952
- validationutils.UnusedFunction(testObjMap)
953
-
954
- attr := validationutils.GetJsonPath(testObjMap, "$.message.cancellation_reason_id", true)
955
- validationutils.UnusedFunction(attr)
956
-
957
- validate := validationutils.ArePresent(attr)
958
-
959
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CANCELLATION_REASON_ID","attr":"$.message.cancellation_reason_id","_RETURN_":"attr are present"}`
960
-
961
- if !validate {
962
- result := validationutils.ValidationOutput{
963
- TestName: "REQUIRED_MESSAGE_CANCELLATION_REASON_ID",
964
- Valid: false,
965
- Code: 30000,
966
- Description: `#### **REQUIRED_MESSAGE_CANCELLATION_REASON_ID**
967
-
968
- - $.message.cancellation_reason_id must be present in the payload`,
969
- DebugInfo: &validationutils.DebugInfo{
970
- FedConfig: configureDebugInfo,
971
- },
972
- }
973
- return []validationutils.ValidationOutput{result}, nil
974
- }
975
-
976
- }
977
-
978
- result := validationutils.ValidationOutput{
979
- TestName: "REQUIRED_MESSAGE_CANCELLATION_REASON_ID",
980
- Valid: valid,
981
- Code: 0,
982
- DebugInfo: &validationutils.DebugInfo{
983
- FedConfig: configureDebugInfo,
984
- },
985
- }
986
-
987
- if valid {
988
- result.Code = 200
989
- } else {
990
- result.Code = 30000
991
- }
992
-
993
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
994
- results = append(results, result)
995
- results = append(results, subResults...)
996
-
997
- return results, nil
998
- }
999
- var VALID_ENUM_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1000
-
1001
- if input.Config.SkipTestsDict != nil {
1002
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_CONTEXT_DOMAIN"]; skip {
1003
- return []validationutils.ValidationOutput{}, nil
1004
- }
1005
- }
1006
-
1007
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1008
-
1009
- subResults := make([]validationutils.ValidationOutput, 0)
1010
- valid := true
1011
- configureDebugInfo := ""
1012
- for _, testObjMap := range scope {
1013
- validationutils.UnusedFunction(testObjMap)
1014
-
1015
- enumList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`, `ONDC:LOG11`, `nic2004:60232`})
1016
- validationutils.UnusedFunction(enumList)
1017
- enumPath := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
1018
- validationutils.UnusedFunction(enumPath)
1019
-
1020
- skipCheck := !(validationutils.ArePresent(enumPath))
1021
- if skipCheck {
1022
- continue
1023
- }
1024
-
1025
- validate := validationutils.AllIn(enumPath, enumList)
1026
-
1027
- 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"}`
1028
-
1029
- if !validate {
1030
- result := validationutils.ValidationOutput{
1031
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
1032
- Valid: false,
1033
- Code: 30000,
1034
- Description: `#### **VALID_ENUM_CONTEXT_DOMAIN**
1035
-
1036
- - All elements of $.context.domain must be in ["ONDC:LOG10", "ONDC:LOG11", "nic2004:60232"]
1037
-
1038
- > **Skip if:**
1039
- >
1040
- > - $.context.domain is not in the payload`,
1041
- DebugInfo: &validationutils.DebugInfo{
1042
- FedConfig: configureDebugInfo,
1043
- },
1044
- }
1045
- return []validationutils.ValidationOutput{result}, nil
1046
- }
1047
-
1048
- }
1049
-
1050
- result := validationutils.ValidationOutput{
1051
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
1052
- Valid: valid,
1053
- Code: 0,
1054
- DebugInfo: &validationutils.DebugInfo{
1055
- FedConfig: configureDebugInfo,
1056
- },
1057
- }
1058
-
1059
- if valid {
1060
- result.Code = 200
1061
- } else {
1062
- result.Code = 30000
1063
- }
1064
-
1065
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1066
- results = append(results, result)
1067
- results = append(results, subResults...)
1068
-
1069
- return results, nil
1070
- }
1071
- var Validate_cancellation_codes_log10 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1072
-
1073
- if input.Config.SkipTestsDict != nil {
1074
- if _, skip := input.Config.SkipTestsDict["Validate_cancellation_codes_log10"]; skip {
1075
- return []validationutils.ValidationOutput{}, nil
1076
- }
1077
- }
1078
-
1079
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1080
-
1081
- subResults := make([]validationutils.ValidationOutput, 0)
1082
- valid := true
1083
- configureDebugInfo := ""
1084
- for _, testObjMap := range scope {
1085
- validationutils.UnusedFunction(testObjMap)
1086
-
1087
- domain := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
1088
- validationutils.UnusedFunction(domain)
1089
- p2pCancellationCodes := validationutils.StringSliceToInterface([]string{`004`, `005`, `007`, `150`, `151`, `152`, `153`, `154`, `155`, `156`, `175`, `996`, `994`})
1090
- validationutils.UnusedFunction(p2pCancellationCodes)
1091
- domainList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`})
1092
- validationutils.UnusedFunction(domainList)
1093
- cancellationId := validationutils.GetJsonPath(testObjMap, "$.message.cancellation_reason_id", true)
1094
- validationutils.UnusedFunction(cancellationId)
1095
-
1096
- skipCheck := !(validationutils.AllIn(domain, domainList))
1097
- if skipCheck {
1098
- continue
1099
- }
1100
-
1101
- validate := validationutils.AllIn(cancellationId, p2pCancellationCodes)
1102
-
1103
- configureDebugInfo = `{"_NAME_":"validate_cancellation_codes_log10","_DESCRIPTION_":"Appropriate cancellation code should be used by LBNP","domain":"$.context.domain","p2pCancellationCodes":["004","005","007","150","151","152","153","154","155","156","175","996","994"],"domainList":["ONDC:LOG10"],"cancellationId":"$.message.cancellation_reason_id","_CONTINUE_":"!(domain all in domainList)","_RETURN_":"cancellationId all in p2pCancellationCodes"}`
1104
-
1105
- if !validate {
1106
- result := validationutils.ValidationOutput{
1107
- TestName: "validate_cancellation_codes_log10",
1108
- Valid: false,
1109
- Code: 30000,
1110
- Description: `#### **validate_cancellation_codes_log10**
1111
-
1112
- Appropriate cancellation code should be used by LBNP
1113
-
1114
- > **Skip if:**
1115
- >
1116
- > - not all elements of $.context.domain are in ["ONDC:LOG10"]`,
1117
- DebugInfo: &validationutils.DebugInfo{
1118
- FedConfig: configureDebugInfo,
1119
- },
1120
- }
1121
- return []validationutils.ValidationOutput{result}, nil
1122
- }
1123
-
1124
- }
1125
-
1126
- result := validationutils.ValidationOutput{
1127
- TestName: "Validate_cancellation_codes_log10",
1128
- Valid: valid,
1129
- Code: 0,
1130
- DebugInfo: &validationutils.DebugInfo{
1131
- FedConfig: configureDebugInfo,
1132
- },
1133
- }
1134
-
1135
- if valid {
1136
- result.Code = 200
1137
- } else {
1138
- result.Code = 30000
1139
- }
1140
-
1141
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1142
- results = append(results, result)
1143
- results = append(results, subResults...)
1144
-
1145
- return results, nil
1146
- }
1147
- var Validate_cancellation_codes_log11 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1148
-
1149
- if input.Config.SkipTestsDict != nil {
1150
- if _, skip := input.Config.SkipTestsDict["Validate_cancellation_codes_log11"]; skip {
1151
- return []validationutils.ValidationOutput{}, nil
1152
- }
1153
- }
1154
-
1155
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1156
-
1157
- subResults := make([]validationutils.ValidationOutput, 0)
1158
- valid := true
1159
- configureDebugInfo := ""
1160
- for _, testObjMap := range scope {
1161
- validationutils.UnusedFunction(testObjMap)
1162
-
1163
- domain := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
1164
- validationutils.UnusedFunction(domain)
1165
- p2h2pCancellationCodes := validationutils.StringSliceToInterface([]string{`004`, `005`, `007`, `250`, `251`, `252`, `275`, `996`, `994`})
1166
- validationutils.UnusedFunction(p2h2pCancellationCodes)
1167
- domainList := validationutils.StringSliceToInterface([]string{`ONDC:LOG11`})
1168
- validationutils.UnusedFunction(domainList)
1169
- cancellationId := validationutils.GetJsonPath(testObjMap, "$.message.cancellation_reason_id", true)
1170
- validationutils.UnusedFunction(cancellationId)
1171
-
1172
- skipCheck := !(validationutils.AllIn(domain, domainList))
1173
- if skipCheck {
1174
- continue
1175
- }
1176
-
1177
- validate := validationutils.AllIn(cancellationId, p2h2pCancellationCodes)
1178
-
1179
- configureDebugInfo = `{"_NAME_":"validate_cancellation_codes_log11","_DESCRIPTION_":"Appropriate cancellation code should be used by LBNP","domain":"$.context.domain","p2h2pCancellationCodes":["004","005","007","250","251","252","275","996","994"],"domainList":["ONDC:LOG11"],"cancellationId":"$.message.cancellation_reason_id","_CONTINUE_":"!(domain all in domainList)","_RETURN_":"cancellationId all in p2h2pCancellationCodes"}`
1180
-
1181
- if !validate {
1182
- result := validationutils.ValidationOutput{
1183
- TestName: "validate_cancellation_codes_log11",
1184
- Valid: false,
1185
- Code: 30000,
1186
- Description: `#### **validate_cancellation_codes_log11**
1187
-
1188
- Appropriate cancellation code should be used by LBNP
1189
-
1190
- > **Skip if:**
1191
- >
1192
- > - not all elements of $.context.domain are in ["ONDC:LOG11"]`,
1193
- DebugInfo: &validationutils.DebugInfo{
1194
- FedConfig: configureDebugInfo,
1195
- },
1196
- }
1197
- return []validationutils.ValidationOutput{result}, nil
1198
- }
1199
-
1200
- }
1201
-
1202
- result := validationutils.ValidationOutput{
1203
- TestName: "Validate_cancellation_codes_log11",
1204
- Valid: valid,
1205
- Code: 0,
1206
- DebugInfo: &validationutils.DebugInfo{
1207
- FedConfig: configureDebugInfo,
1208
- },
1209
- }
1210
-
1211
- if valid {
1212
- result.Code = 200
1213
- } else {
1214
- result.Code = 30000
1215
- }
1216
-
1217
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1218
- results = append(results, result)
1219
- results = append(results, subResults...)
1220
-
1221
- return results, nil
1222
- }
1223
-
1224
- var testFunctions = validationutils.TestFunctionArray{
1225
- REQUIRED_CONTEXT_DOMAIN,
1226
- REQUIRED_CONTEXT_COUNTRY,
1227
- REQUIRED_CONTEXT_CITY,
1228
- REQUIRED_CONTEXT_ACTION,
1229
- REQUIRED_CONTEXT_CORE_VERSION,
1230
- REQUIRED_CONTEXT_BAP_ID,
1231
- REQUIRED_CONTEXT_BAP_URI,
1232
- REQUIRED_CONTEXT_BPP_ID,
1233
- REQUIRED_CONTEXT_BPP_URI,
1234
- REQUIRED_CONTEXT_TRANSACTION_ID,
1235
- REQUIRED_CONTEXT_MESSAGE_ID,
1236
- REQUIRED_CONTEXT_TIMESTAMP,
1237
- REQUIRED_CONTEXT_TTL,
1238
- REQUIRED_MESSAGE_ORDER_ID,
1239
- REQUIRED_MESSAGE_CANCELLATION_REASON_ID,
1240
- VALID_ENUM_CONTEXT_DOMAIN,
1241
- Validate_cancellation_codes_log10,
1242
- Validate_cancellation_codes_log11,
1243
- }
1244
-
1245
- allResults := make([]validationutils.ValidationOutput, 0)
1246
-
1247
- for _, testFunc := range testFunctions {
1248
- results, err := testFunc(input)
1249
- if err != nil {
1250
- return nil, err
1251
- }
1252
- allResults = append(allResults, results...)
1253
- }
1254
-
1255
- subResults = allResults
1256
- // if all subResults are valid, then valid is true
1257
- valid = true
1258
- for _, res := range subResults {
1259
- if !res.Valid {
1260
- valid = false
1261
- break
1262
- }
1263
- }
1264
-
1265
- configureDebugInfo = `NESTED_TEST_OBJECT`
1266
-
1267
- }
1268
-
1269
- result := validationutils.ValidationOutput{
1270
- TestName: "CancelValidations",
1271
- Valid: valid,
1272
- Code: 0,
1273
- DebugInfo: &validationutils.DebugInfo{
1274
- FedConfig: configureDebugInfo,
1275
- },
1276
- }
1277
-
1278
- if valid {
1279
- result.Code = 200
1280
- } else {
1281
- result.Code = 30000
1282
- }
1283
-
1284
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1285
- results = append(results, result)
1286
- results = append(results, subResults...)
1287
-
1288
- return results, nil
1289
- }