ondc-code-generator 0.8.9 → 0.9.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 (86) hide show
  1. package/alpha/table/page/index.html +11487 -0
  2. package/alpha/table/page/style.css +449 -0
  3. package/alpha/table/rag-table-docs/confirm.md +60 -0
  4. package/alpha/table/rag-table-docs/init.md +78 -0
  5. package/alpha/table/rag-table-docs/on_confirm.md +161 -0
  6. package/alpha/table/rag-table-docs/on_init.md +143 -0
  7. package/alpha/table/rag-table-docs/on_search.md +160 -0
  8. package/alpha/table/rag-table-docs/on_select.md +96 -0
  9. package/alpha/table/rag-table-docs/on_status.md +150 -0
  10. package/alpha/table/rag-table-docs/on_update.md +161 -0
  11. package/alpha/table/rag-table-docs/raw_table.json +11198 -0
  12. package/alpha/table/rag-table-docs/search.md +125 -0
  13. package/alpha/table/rag-table-docs/select.md +67 -0
  14. package/alpha/table/rag-table-docs/status.md +41 -0
  15. package/alpha/table/rag-table-docs/update.md +48 -0
  16. package/alpha/table/readme.md +1312 -0
  17. package/alpha/table/validPaths.json +34134 -0
  18. package/alpha/table.zip +0 -0
  19. package/dist/bin/cli.js +4 -0
  20. package/dist/generator/config-compiler.js +12 -0
  21. package/dist/generator/generators/documentation/md-generator.d.ts +11 -5
  22. package/dist/generator/generators/documentation/md-generator.js +22 -28
  23. package/dist/generator/generators/documentation/templates/index.mustache +162 -26
  24. package/dist/generator/generators/documentation/templates/style.css +387 -142
  25. package/dist/generator/generators/rag/rag-generator.d.ts +48 -0
  26. package/dist/generator/generators/rag/rag-generator.js +185 -0
  27. package/dist/generator/generators/rag/rag-table-generator.d.ts +55 -0
  28. package/dist/generator/generators/rag/rag-table-generator.js +263 -0
  29. package/dist/types/compiler-types.d.ts +3 -1
  30. package/dist/types/compiler-types.js +2 -0
  31. package/package.json +1 -1
  32. package/alpha/docs/page/index.html +0 -6137
  33. package/alpha/docs/page/style.css +0 -204
  34. package/alpha/docs/readme.md +0 -5939
  35. package/alpha/docs/validPaths.json +0 -14351
  36. package/alpha/page/index.html +0 -6137
  37. package/alpha/page/style.css +0 -204
  38. package/alpha/readme.md +0 -5939
  39. package/alpha/validationpkg/examples/search.json +0 -143
  40. package/alpha/validationpkg/examples_output/search/case-001/output.json +0 -12
  41. package/alpha/validationpkg/go.mod +0 -8
  42. package/alpha/validationpkg/go.sum +0 -4
  43. package/alpha/validationpkg/jsonvalidations/cancel.go +0 -1289
  44. package/alpha/validationpkg/jsonvalidations/confirm.go +0 -9121
  45. package/alpha/validationpkg/jsonvalidations/init.go +0 -4864
  46. package/alpha/validationpkg/jsonvalidations/issue.go +0 -4868
  47. package/alpha/validationpkg/jsonvalidations/on_cancel.go +0 -7111
  48. package/alpha/validationpkg/jsonvalidations/on_confirm.go +0 -8903
  49. package/alpha/validationpkg/jsonvalidations/on_init.go +0 -4445
  50. package/alpha/validationpkg/jsonvalidations/on_issue.go +0 -2828
  51. package/alpha/validationpkg/jsonvalidations/on_issue_status.go +0 -1938
  52. package/alpha/validationpkg/jsonvalidations/on_search.go +0 -3356
  53. package/alpha/validationpkg/jsonvalidations/on_status.go +0 -8129
  54. package/alpha/validationpkg/jsonvalidations/on_track.go +0 -1415
  55. package/alpha/validationpkg/jsonvalidations/on_update.go +0 -8700
  56. package/alpha/validationpkg/jsonvalidations/search.go +0 -3585
  57. package/alpha/validationpkg/jsonvalidations/status.go +0 -1073
  58. package/alpha/validationpkg/jsonvalidations/track.go +0 -1073
  59. package/alpha/validationpkg/jsonvalidations/update.go +0 -3012
  60. package/alpha/validationpkg/main-validator.go +0 -196
  61. package/alpha/validationpkg/main-validator_test.go +0 -165
  62. package/alpha/validationpkg/storageutils/api_save_utils.go +0 -83
  63. package/alpha/validationpkg/storageutils/cancel.go +0 -30
  64. package/alpha/validationpkg/storageutils/confirm.go +0 -30
  65. package/alpha/validationpkg/storageutils/index.go +0 -132
  66. package/alpha/validationpkg/storageutils/init.go +0 -30
  67. package/alpha/validationpkg/storageutils/issue.go +0 -30
  68. package/alpha/validationpkg/storageutils/on_cancel.go +0 -30
  69. package/alpha/validationpkg/storageutils/on_confirm.go +0 -30
  70. package/alpha/validationpkg/storageutils/on_init.go +0 -30
  71. package/alpha/validationpkg/storageutils/on_issue.go +0 -30
  72. package/alpha/validationpkg/storageutils/on_issue_status.go +0 -30
  73. package/alpha/validationpkg/storageutils/on_search.go +0 -30
  74. package/alpha/validationpkg/storageutils/on_status.go +0 -30
  75. package/alpha/validationpkg/storageutils/on_track.go +0 -30
  76. package/alpha/validationpkg/storageutils/on_update.go +0 -30
  77. package/alpha/validationpkg/storageutils/save_utils.go +0 -75
  78. package/alpha/validationpkg/storageutils/search.go +0 -30
  79. package/alpha/validationpkg/storageutils/status.go +0 -30
  80. package/alpha/validationpkg/storageutils/track.go +0 -30
  81. package/alpha/validationpkg/storageutils/update.go +0 -30
  82. package/alpha/validationpkg/validationutils/json_normalizer.go +0 -152
  83. package/alpha/validationpkg/validationutils/json_path_utils.go +0 -173
  84. package/alpha/validationpkg/validationutils/storage-interface.go +0 -107
  85. package/alpha/validationpkg/validationutils/test-config.go +0 -69
  86. package/alpha/validationpkg/validationutils/validation_utils.go +0 -429
@@ -1,1073 +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 Track_Tests(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
10
- totalResults, err := 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 == "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 TrackValidations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
65
-
66
- if input.Config.SkipTestsDict != nil {
67
- if _, skip := input.Config.SkipTestsDict["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_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 VALID_ENUM_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
939
-
940
- if input.Config.SkipTestsDict != nil {
941
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_CONTEXT_DOMAIN"]; 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
- enumList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`, `ONDC:LOG11`, `nic2004:60232`})
955
- validationutils.UnusedFunction(enumList)
956
- enumPath := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
957
- validationutils.UnusedFunction(enumPath)
958
-
959
- skipCheck := !(validationutils.ArePresent(enumPath))
960
- if skipCheck {
961
- continue
962
- }
963
-
964
- validate := validationutils.AllIn(enumPath, enumList)
965
-
966
- 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"}`
967
-
968
- if !validate {
969
- result := validationutils.ValidationOutput{
970
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
971
- Valid: false,
972
- Code: 30000,
973
- Description: `#### **VALID_ENUM_CONTEXT_DOMAIN**
974
-
975
- - All elements of $.context.domain must be in ["ONDC:LOG10", "ONDC:LOG11", "nic2004:60232"]
976
-
977
- > **Skip if:**
978
- >
979
- > - $.context.domain is not in the payload`,
980
- DebugInfo: &validationutils.DebugInfo{
981
- FedConfig: configureDebugInfo,
982
- },
983
- }
984
- return []validationutils.ValidationOutput{result}, nil
985
- }
986
-
987
- }
988
-
989
- result := validationutils.ValidationOutput{
990
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
991
- Valid: valid,
992
- Code: 0,
993
- DebugInfo: &validationutils.DebugInfo{
994
- FedConfig: configureDebugInfo,
995
- },
996
- }
997
-
998
- if valid {
999
- result.Code = 200
1000
- } else {
1001
- result.Code = 30000
1002
- }
1003
-
1004
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1005
- results = append(results, result)
1006
- results = append(results, subResults...)
1007
-
1008
- return results, nil
1009
- }
1010
-
1011
- var testFunctions = validationutils.TestFunctionArray{
1012
- REQUIRED_CONTEXT_DOMAIN,
1013
- REQUIRED_CONTEXT_COUNTRY,
1014
- REQUIRED_CONTEXT_CITY,
1015
- REQUIRED_CONTEXT_ACTION,
1016
- REQUIRED_CONTEXT_CORE_VERSION,
1017
- REQUIRED_CONTEXT_BAP_ID,
1018
- REQUIRED_CONTEXT_BAP_URI,
1019
- REQUIRED_CONTEXT_BPP_ID,
1020
- REQUIRED_CONTEXT_BPP_URI,
1021
- REQUIRED_CONTEXT_TRANSACTION_ID,
1022
- REQUIRED_CONTEXT_MESSAGE_ID,
1023
- REQUIRED_CONTEXT_TIMESTAMP,
1024
- REQUIRED_CONTEXT_TTL,
1025
- REQUIRED_MESSAGE_ORDER_ID,
1026
- VALID_ENUM_CONTEXT_DOMAIN,
1027
- }
1028
-
1029
- allResults := make([]validationutils.ValidationOutput, 0)
1030
-
1031
- for _, testFunc := range testFunctions {
1032
- results, err := testFunc(input)
1033
- if err != nil {
1034
- return nil, err
1035
- }
1036
- allResults = append(allResults, results...)
1037
- }
1038
-
1039
- subResults = allResults
1040
- // if all subResults are valid, then valid is true
1041
- valid = true
1042
- for _, res := range subResults {
1043
- if !res.Valid {
1044
- valid = false
1045
- break
1046
- }
1047
- }
1048
-
1049
- configureDebugInfo = `NESTED_TEST_OBJECT`
1050
-
1051
- }
1052
-
1053
- result := validationutils.ValidationOutput{
1054
- TestName: "TrackValidations",
1055
- Valid: valid,
1056
- Code: 0,
1057
- DebugInfo: &validationutils.DebugInfo{
1058
- FedConfig: configureDebugInfo,
1059
- },
1060
- }
1061
-
1062
- if valid {
1063
- result.Code = 200
1064
- } else {
1065
- result.Code = 30000
1066
- }
1067
-
1068
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1069
- results = append(results, result)
1070
- results = append(results, subResults...)
1071
-
1072
- return results, nil
1073
- }