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,3585 +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 Search_Tests(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
10
- totalResults, err := SearchValidations(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 == "SearchValidations" {
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 SearchValidations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
65
-
66
- if input.Config.SkipTestsDict != nil {
67
- if _, skip := input.Config.SkipTestsDict["SearchValidations"]; 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
- enumList := validationutils.StringSliceToInterface([]string{`IND`})
164
- validationutils.UnusedFunction(enumList)
165
-
166
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
167
-
168
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_COUNTRY","attr":"$.context.country","enumList":["IND"],"_RETURN_":"attr are present && attr all in enumList"}`
169
-
170
- if !validate {
171
- result := validationutils.ValidationOutput{
172
- TestName: "REQUIRED_CONTEXT_COUNTRY",
173
- Valid: false,
174
- Code: 30000,
175
- Description: `#### **REQUIRED_CONTEXT_COUNTRY**
176
-
177
- **All of the following must be true:**
178
- - $.context.country must be present in the payload
179
- - All elements of $.context.country must be in ["IND"]`,
180
- DebugInfo: &validationutils.DebugInfo{
181
- FedConfig: configureDebugInfo,
182
- },
183
- }
184
- return []validationutils.ValidationOutput{result}, nil
185
- }
186
-
187
- }
188
-
189
- result := validationutils.ValidationOutput{
190
- TestName: "REQUIRED_CONTEXT_COUNTRY",
191
- Valid: valid,
192
- Code: 0,
193
- DebugInfo: &validationutils.DebugInfo{
194
- FedConfig: configureDebugInfo,
195
- },
196
- }
197
-
198
- if valid {
199
- result.Code = 200
200
- } else {
201
- result.Code = 30000
202
- }
203
-
204
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
205
- results = append(results, result)
206
- results = append(results, subResults...)
207
-
208
- return results, nil
209
- }
210
- var REQUIRED_CONTEXT_CITY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
211
-
212
- if input.Config.SkipTestsDict != nil {
213
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_CITY"]; skip {
214
- return []validationutils.ValidationOutput{}, nil
215
- }
216
- }
217
-
218
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
219
-
220
- subResults := make([]validationutils.ValidationOutput, 0)
221
- valid := true
222
- configureDebugInfo := ""
223
- for _, testObjMap := range scope {
224
- validationutils.UnusedFunction(testObjMap)
225
-
226
- attr := validationutils.GetJsonPath(testObjMap, "$.context.city", true)
227
- validationutils.UnusedFunction(attr)
228
-
229
- validate := validationutils.ArePresent(attr)
230
-
231
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_CITY","attr":"$.context.city","_RETURN_":"attr are present"}`
232
-
233
- if !validate {
234
- result := validationutils.ValidationOutput{
235
- TestName: "REQUIRED_CONTEXT_CITY",
236
- Valid: false,
237
- Code: 30000,
238
- Description: `#### **REQUIRED_CONTEXT_CITY**
239
-
240
- - $.context.city must be present in the payload`,
241
- DebugInfo: &validationutils.DebugInfo{
242
- FedConfig: configureDebugInfo,
243
- },
244
- }
245
- return []validationutils.ValidationOutput{result}, nil
246
- }
247
-
248
- }
249
-
250
- result := validationutils.ValidationOutput{
251
- TestName: "REQUIRED_CONTEXT_CITY",
252
- Valid: valid,
253
- Code: 0,
254
- DebugInfo: &validationutils.DebugInfo{
255
- FedConfig: configureDebugInfo,
256
- },
257
- }
258
-
259
- if valid {
260
- result.Code = 200
261
- } else {
262
- result.Code = 30000
263
- }
264
-
265
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
266
- results = append(results, result)
267
- results = append(results, subResults...)
268
-
269
- return results, nil
270
- }
271
- var REQUIRED_CONTEXT_ACTION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
272
-
273
- if input.Config.SkipTestsDict != nil {
274
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_ACTION"]; skip {
275
- return []validationutils.ValidationOutput{}, nil
276
- }
277
- }
278
-
279
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
280
-
281
- subResults := make([]validationutils.ValidationOutput, 0)
282
- valid := true
283
- configureDebugInfo := ""
284
- for _, testObjMap := range scope {
285
- validationutils.UnusedFunction(testObjMap)
286
-
287
- attr := validationutils.GetJsonPath(testObjMap, "$.context.action", true)
288
- validationutils.UnusedFunction(attr)
289
-
290
- validate := validationutils.ArePresent(attr)
291
-
292
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_ACTION","attr":"$.context.action","_RETURN_":"attr are present"}`
293
-
294
- if !validate {
295
- result := validationutils.ValidationOutput{
296
- TestName: "REQUIRED_CONTEXT_ACTION",
297
- Valid: false,
298
- Code: 30000,
299
- Description: `#### **REQUIRED_CONTEXT_ACTION**
300
-
301
- - $.context.action must be present in the payload`,
302
- DebugInfo: &validationutils.DebugInfo{
303
- FedConfig: configureDebugInfo,
304
- },
305
- }
306
- return []validationutils.ValidationOutput{result}, nil
307
- }
308
-
309
- }
310
-
311
- result := validationutils.ValidationOutput{
312
- TestName: "REQUIRED_CONTEXT_ACTION",
313
- Valid: valid,
314
- Code: 0,
315
- DebugInfo: &validationutils.DebugInfo{
316
- FedConfig: configureDebugInfo,
317
- },
318
- }
319
-
320
- if valid {
321
- result.Code = 200
322
- } else {
323
- result.Code = 30000
324
- }
325
-
326
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
327
- results = append(results, result)
328
- results = append(results, subResults...)
329
-
330
- return results, nil
331
- }
332
- var REQUIRED_CONTEXT_CORE_VERSION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
333
-
334
- if input.Config.SkipTestsDict != nil {
335
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_CORE_VERSION"]; skip {
336
- return []validationutils.ValidationOutput{}, nil
337
- }
338
- }
339
-
340
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
341
-
342
- subResults := make([]validationutils.ValidationOutput, 0)
343
- valid := true
344
- configureDebugInfo := ""
345
- for _, testObjMap := range scope {
346
- validationutils.UnusedFunction(testObjMap)
347
-
348
- attr := validationutils.GetJsonPath(testObjMap, "$.context.core_version", true)
349
- validationutils.UnusedFunction(attr)
350
-
351
- validate := validationutils.ArePresent(attr)
352
-
353
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_CORE_VERSION","attr":"$.context.core_version","_RETURN_":"attr are present"}`
354
-
355
- if !validate {
356
- result := validationutils.ValidationOutput{
357
- TestName: "REQUIRED_CONTEXT_CORE_VERSION",
358
- Valid: false,
359
- Code: 30000,
360
- Description: `#### **REQUIRED_CONTEXT_CORE_VERSION**
361
-
362
- - $.context.core_version must be present in the payload`,
363
- DebugInfo: &validationutils.DebugInfo{
364
- FedConfig: configureDebugInfo,
365
- },
366
- }
367
- return []validationutils.ValidationOutput{result}, nil
368
- }
369
-
370
- }
371
-
372
- result := validationutils.ValidationOutput{
373
- TestName: "REQUIRED_CONTEXT_CORE_VERSION",
374
- Valid: valid,
375
- Code: 0,
376
- DebugInfo: &validationutils.DebugInfo{
377
- FedConfig: configureDebugInfo,
378
- },
379
- }
380
-
381
- if valid {
382
- result.Code = 200
383
- } else {
384
- result.Code = 30000
385
- }
386
-
387
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
388
- results = append(results, result)
389
- results = append(results, subResults...)
390
-
391
- return results, nil
392
- }
393
- var REQUIRED_CONTEXT_BAP_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
394
-
395
- if input.Config.SkipTestsDict != nil {
396
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BAP_ID"]; skip {
397
- return []validationutils.ValidationOutput{}, nil
398
- }
399
- }
400
-
401
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
402
-
403
- subResults := make([]validationutils.ValidationOutput, 0)
404
- valid := true
405
- configureDebugInfo := ""
406
- for _, testObjMap := range scope {
407
- validationutils.UnusedFunction(testObjMap)
408
-
409
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bap_id", true)
410
- validationutils.UnusedFunction(attr)
411
-
412
- validate := validationutils.ArePresent(attr)
413
-
414
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BAP_ID","attr":"$.context.bap_id","_RETURN_":"attr are present"}`
415
-
416
- if !validate {
417
- result := validationutils.ValidationOutput{
418
- TestName: "REQUIRED_CONTEXT_BAP_ID",
419
- Valid: false,
420
- Code: 30000,
421
- Description: `#### **REQUIRED_CONTEXT_BAP_ID**
422
-
423
- - $.context.bap_id must be present in the payload`,
424
- DebugInfo: &validationutils.DebugInfo{
425
- FedConfig: configureDebugInfo,
426
- },
427
- }
428
- return []validationutils.ValidationOutput{result}, nil
429
- }
430
-
431
- }
432
-
433
- result := validationutils.ValidationOutput{
434
- TestName: "REQUIRED_CONTEXT_BAP_ID",
435
- Valid: valid,
436
- Code: 0,
437
- DebugInfo: &validationutils.DebugInfo{
438
- FedConfig: configureDebugInfo,
439
- },
440
- }
441
-
442
- if valid {
443
- result.Code = 200
444
- } else {
445
- result.Code = 30000
446
- }
447
-
448
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
449
- results = append(results, result)
450
- results = append(results, subResults...)
451
-
452
- return results, nil
453
- }
454
- var REQUIRED_CONTEXT_BAP_URI = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
455
-
456
- if input.Config.SkipTestsDict != nil {
457
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BAP_URI"]; skip {
458
- return []validationutils.ValidationOutput{}, nil
459
- }
460
- }
461
-
462
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
463
-
464
- subResults := make([]validationutils.ValidationOutput, 0)
465
- valid := true
466
- configureDebugInfo := ""
467
- for _, testObjMap := range scope {
468
- validationutils.UnusedFunction(testObjMap)
469
-
470
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bap_uri", true)
471
- validationutils.UnusedFunction(attr)
472
-
473
- validate := validationutils.ArePresent(attr)
474
-
475
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BAP_URI","attr":"$.context.bap_uri","_RETURN_":"attr are present"}`
476
-
477
- if !validate {
478
- result := validationutils.ValidationOutput{
479
- TestName: "REQUIRED_CONTEXT_BAP_URI",
480
- Valid: false,
481
- Code: 30000,
482
- Description: `#### **REQUIRED_CONTEXT_BAP_URI**
483
-
484
- - $.context.bap_uri must be present in the payload`,
485
- DebugInfo: &validationutils.DebugInfo{
486
- FedConfig: configureDebugInfo,
487
- },
488
- }
489
- return []validationutils.ValidationOutput{result}, nil
490
- }
491
-
492
- }
493
-
494
- result := validationutils.ValidationOutput{
495
- TestName: "REQUIRED_CONTEXT_BAP_URI",
496
- Valid: valid,
497
- Code: 0,
498
- DebugInfo: &validationutils.DebugInfo{
499
- FedConfig: configureDebugInfo,
500
- },
501
- }
502
-
503
- if valid {
504
- result.Code = 200
505
- } else {
506
- result.Code = 30000
507
- }
508
-
509
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
510
- results = append(results, result)
511
- results = append(results, subResults...)
512
-
513
- return results, nil
514
- }
515
- var REQUIRED_CONTEXT_TRANSACTION_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
516
-
517
- if input.Config.SkipTestsDict != nil {
518
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TRANSACTION_ID"]; skip {
519
- return []validationutils.ValidationOutput{}, nil
520
- }
521
- }
522
-
523
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
524
-
525
- subResults := make([]validationutils.ValidationOutput, 0)
526
- valid := true
527
- configureDebugInfo := ""
528
- for _, testObjMap := range scope {
529
- validationutils.UnusedFunction(testObjMap)
530
-
531
- attr := validationutils.GetJsonPath(testObjMap, "$.context.transaction_id", true)
532
- validationutils.UnusedFunction(attr)
533
-
534
- validate := validationutils.ArePresent(attr)
535
-
536
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TRANSACTION_ID","attr":"$.context.transaction_id","_RETURN_":"attr are present"}`
537
-
538
- if !validate {
539
- result := validationutils.ValidationOutput{
540
- TestName: "REQUIRED_CONTEXT_TRANSACTION_ID",
541
- Valid: false,
542
- Code: 30000,
543
- Description: `#### **REQUIRED_CONTEXT_TRANSACTION_ID**
544
-
545
- - $.context.transaction_id must be present in the payload`,
546
- DebugInfo: &validationutils.DebugInfo{
547
- FedConfig: configureDebugInfo,
548
- },
549
- }
550
- return []validationutils.ValidationOutput{result}, nil
551
- }
552
-
553
- }
554
-
555
- result := validationutils.ValidationOutput{
556
- TestName: "REQUIRED_CONTEXT_TRANSACTION_ID",
557
- Valid: valid,
558
- Code: 0,
559
- DebugInfo: &validationutils.DebugInfo{
560
- FedConfig: configureDebugInfo,
561
- },
562
- }
563
-
564
- if valid {
565
- result.Code = 200
566
- } else {
567
- result.Code = 30000
568
- }
569
-
570
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
571
- results = append(results, result)
572
- results = append(results, subResults...)
573
-
574
- return results, nil
575
- }
576
- var REQUIRED_CONTEXT_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
577
-
578
- if input.Config.SkipTestsDict != nil {
579
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_MESSAGE_ID"]; skip {
580
- return []validationutils.ValidationOutput{}, nil
581
- }
582
- }
583
-
584
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
585
-
586
- subResults := make([]validationutils.ValidationOutput, 0)
587
- valid := true
588
- configureDebugInfo := ""
589
- for _, testObjMap := range scope {
590
- validationutils.UnusedFunction(testObjMap)
591
-
592
- attr := validationutils.GetJsonPath(testObjMap, "$.context.message_id", true)
593
- validationutils.UnusedFunction(attr)
594
-
595
- validate := validationutils.ArePresent(attr)
596
-
597
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_MESSAGE_ID","attr":"$.context.message_id","_RETURN_":"attr are present"}`
598
-
599
- if !validate {
600
- result := validationutils.ValidationOutput{
601
- TestName: "REQUIRED_CONTEXT_MESSAGE_ID",
602
- Valid: false,
603
- Code: 30000,
604
- Description: `#### **REQUIRED_CONTEXT_MESSAGE_ID**
605
-
606
- - $.context.message_id must be present in the payload`,
607
- DebugInfo: &validationutils.DebugInfo{
608
- FedConfig: configureDebugInfo,
609
- },
610
- }
611
- return []validationutils.ValidationOutput{result}, nil
612
- }
613
-
614
- }
615
-
616
- result := validationutils.ValidationOutput{
617
- TestName: "REQUIRED_CONTEXT_MESSAGE_ID",
618
- Valid: valid,
619
- Code: 0,
620
- DebugInfo: &validationutils.DebugInfo{
621
- FedConfig: configureDebugInfo,
622
- },
623
- }
624
-
625
- if valid {
626
- result.Code = 200
627
- } else {
628
- result.Code = 30000
629
- }
630
-
631
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
632
- results = append(results, result)
633
- results = append(results, subResults...)
634
-
635
- return results, nil
636
- }
637
- var REQUIRED_CONTEXT_TIMESTAMP = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
638
-
639
- if input.Config.SkipTestsDict != nil {
640
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TIMESTAMP"]; skip {
641
- return []validationutils.ValidationOutput{}, nil
642
- }
643
- }
644
-
645
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
646
-
647
- subResults := make([]validationutils.ValidationOutput, 0)
648
- valid := true
649
- configureDebugInfo := ""
650
- for _, testObjMap := range scope {
651
- validationutils.UnusedFunction(testObjMap)
652
-
653
- attr := validationutils.GetJsonPath(testObjMap, "$.context.timestamp", true)
654
- validationutils.UnusedFunction(attr)
655
-
656
- validate := validationutils.ArePresent(attr)
657
-
658
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TIMESTAMP","attr":"$.context.timestamp","_RETURN_":"attr are present"}`
659
-
660
- if !validate {
661
- result := validationutils.ValidationOutput{
662
- TestName: "REQUIRED_CONTEXT_TIMESTAMP",
663
- Valid: false,
664
- Code: 30000,
665
- Description: `#### **REQUIRED_CONTEXT_TIMESTAMP**
666
-
667
- - $.context.timestamp must be present in the payload`,
668
- DebugInfo: &validationutils.DebugInfo{
669
- FedConfig: configureDebugInfo,
670
- },
671
- }
672
- return []validationutils.ValidationOutput{result}, nil
673
- }
674
-
675
- }
676
-
677
- result := validationutils.ValidationOutput{
678
- TestName: "REQUIRED_CONTEXT_TIMESTAMP",
679
- Valid: valid,
680
- Code: 0,
681
- DebugInfo: &validationutils.DebugInfo{
682
- FedConfig: configureDebugInfo,
683
- },
684
- }
685
-
686
- if valid {
687
- result.Code = 200
688
- } else {
689
- result.Code = 30000
690
- }
691
-
692
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
693
- results = append(results, result)
694
- results = append(results, subResults...)
695
-
696
- return results, nil
697
- }
698
- var REQUIRED_CONTEXT_TTL = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
699
-
700
- if input.Config.SkipTestsDict != nil {
701
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TTL"]; skip {
702
- return []validationutils.ValidationOutput{}, nil
703
- }
704
- }
705
-
706
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
707
-
708
- subResults := make([]validationutils.ValidationOutput, 0)
709
- valid := true
710
- configureDebugInfo := ""
711
- for _, testObjMap := range scope {
712
- validationutils.UnusedFunction(testObjMap)
713
-
714
- attr := validationutils.GetJsonPath(testObjMap, "$.context.ttl", true)
715
- validationutils.UnusedFunction(attr)
716
-
717
- validate := validationutils.ArePresent(attr)
718
-
719
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TTL","attr":"$.context.ttl","_RETURN_":"attr are present"}`
720
-
721
- if !validate {
722
- result := validationutils.ValidationOutput{
723
- TestName: "REQUIRED_CONTEXT_TTL",
724
- Valid: false,
725
- Code: 30000,
726
- Description: `#### **REQUIRED_CONTEXT_TTL**
727
-
728
- - $.context.ttl must be present in the payload`,
729
- DebugInfo: &validationutils.DebugInfo{
730
- FedConfig: configureDebugInfo,
731
- },
732
- }
733
- return []validationutils.ValidationOutput{result}, nil
734
- }
735
-
736
- }
737
-
738
- result := validationutils.ValidationOutput{
739
- TestName: "REQUIRED_CONTEXT_TTL",
740
- Valid: valid,
741
- Code: 0,
742
- DebugInfo: &validationutils.DebugInfo{
743
- FedConfig: configureDebugInfo,
744
- },
745
- }
746
-
747
- if valid {
748
- result.Code = 200
749
- } else {
750
- result.Code = 30000
751
- }
752
-
753
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
754
- results = append(results, result)
755
- results = append(results, subResults...)
756
-
757
- return results, nil
758
- }
759
- var REQUIRED_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
760
-
761
- if input.Config.SkipTestsDict != nil {
762
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID"]; skip {
763
- return []validationutils.ValidationOutput{}, nil
764
- }
765
- }
766
-
767
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
768
-
769
- subResults := make([]validationutils.ValidationOutput, 0)
770
- valid := true
771
- configureDebugInfo := ""
772
- for _, testObjMap := range scope {
773
- validationutils.UnusedFunction(testObjMap)
774
-
775
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.category.id", true)
776
- validationutils.UnusedFunction(attr)
777
- enumList := validationutils.StringSliceToInterface([]string{`Express Delivery`, `Standard Delivery`, `Immediate Delivery`, `Next Day Delivery`, `Same Day Delivery`, `Instant Delivery`})
778
- validationutils.UnusedFunction(enumList)
779
-
780
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
781
-
782
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID","attr":"$.message.intent.category.id","_RETURN_":"attr are present && attr all in enumList","enumList":["Express Delivery","Standard Delivery","Immediate Delivery","Next Day Delivery","Same Day Delivery","Instant Delivery"]}`
783
-
784
- if !validate {
785
- result := validationutils.ValidationOutput{
786
- TestName: "REQUIRED_MESSAGE_ID",
787
- Valid: false,
788
- Code: 30000,
789
- Description: `#### **REQUIRED_MESSAGE_ID**
790
-
791
- **All of the following must be true:**
792
- - $.message.intent.category.id must be present in the payload
793
- - All elements of $.message.intent.category.id must be in ["Express Delivery", "Standard Delivery", "Immediate Delivery", "Next Day Delivery", "Same Day Delivery", "Instant Delivery"]`,
794
- DebugInfo: &validationutils.DebugInfo{
795
- FedConfig: configureDebugInfo,
796
- },
797
- }
798
- return []validationutils.ValidationOutput{result}, nil
799
- }
800
-
801
- }
802
-
803
- result := validationutils.ValidationOutput{
804
- TestName: "REQUIRED_MESSAGE_ID",
805
- Valid: valid,
806
- Code: 0,
807
- DebugInfo: &validationutils.DebugInfo{
808
- FedConfig: configureDebugInfo,
809
- },
810
- }
811
-
812
- if valid {
813
- result.Code = 200
814
- } else {
815
- result.Code = 30000
816
- }
817
-
818
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
819
- results = append(results, result)
820
- results = append(results, subResults...)
821
-
822
- return results, nil
823
- }
824
- var REQUIRED_MESSAGE_DAYS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
825
-
826
- if input.Config.SkipTestsDict != nil {
827
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_DAYS"]; skip {
828
- return []validationutils.ValidationOutput{}, nil
829
- }
830
- }
831
-
832
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
833
-
834
- subResults := make([]validationutils.ValidationOutput, 0)
835
- valid := true
836
- configureDebugInfo := ""
837
- for _, testObjMap := range scope {
838
- validationutils.UnusedFunction(testObjMap)
839
-
840
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.provider.time.days", true)
841
- validationutils.UnusedFunction(attr)
842
-
843
- validate := validationutils.ArePresent(attr)
844
-
845
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_DAYS","attr":"$.message.intent.provider.time.days","_RETURN_":"attr are present"}`
846
-
847
- if !validate {
848
- result := validationutils.ValidationOutput{
849
- TestName: "REQUIRED_MESSAGE_DAYS",
850
- Valid: false,
851
- Code: 30000,
852
- Description: `#### **REQUIRED_MESSAGE_DAYS**
853
-
854
- - $.message.intent.provider.time.days must be present in the payload`,
855
- DebugInfo: &validationutils.DebugInfo{
856
- FedConfig: configureDebugInfo,
857
- },
858
- }
859
- return []validationutils.ValidationOutput{result}, nil
860
- }
861
-
862
- }
863
-
864
- result := validationutils.ValidationOutput{
865
- TestName: "REQUIRED_MESSAGE_DAYS",
866
- Valid: valid,
867
- Code: 0,
868
- DebugInfo: &validationutils.DebugInfo{
869
- FedConfig: configureDebugInfo,
870
- },
871
- }
872
-
873
- if valid {
874
- result.Code = 200
875
- } else {
876
- result.Code = 30000
877
- }
878
-
879
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
880
- results = append(results, result)
881
- results = append(results, subResults...)
882
-
883
- return results, nil
884
- }
885
- var REQUIRED_MESSAGE_HOLIDAYS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
886
-
887
- if input.Config.SkipTestsDict != nil {
888
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_HOLIDAYS"]; skip {
889
- return []validationutils.ValidationOutput{}, nil
890
- }
891
- }
892
-
893
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
894
-
895
- subResults := make([]validationutils.ValidationOutput, 0)
896
- valid := true
897
- configureDebugInfo := ""
898
- for _, testObjMap := range scope {
899
- validationutils.UnusedFunction(testObjMap)
900
-
901
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.provider.time.schedule.holidays[*]", true)
902
- validationutils.UnusedFunction(attr)
903
- reg := validationutils.StringSliceToInterface([]string{`^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$`})
904
- validationutils.UnusedFunction(reg)
905
-
906
- skipCheck := !(validationutils.ArePresent(attr))
907
- if skipCheck {
908
- continue
909
- }
910
-
911
- validate := validationutils.FollowRegex(attr, reg)
912
-
913
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_HOLIDAYS","attr":"$.message.intent.provider.time.schedule.holidays[*]","reg":["^\\\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\\\d|3[01])$"],"_CONTINUE_":"!(attr are present)","_RETURN_":"attr follow regex reg"}`
914
-
915
- if !validate {
916
- result := validationutils.ValidationOutput{
917
- TestName: "REQUIRED_MESSAGE_HOLIDAYS",
918
- Valid: false,
919
- Code: 30000,
920
- Description: `#### **REQUIRED_MESSAGE_HOLIDAYS**
921
-
922
- - All elements of $.message.intent.provider.time.schedule.holidays[*] must follow every regex in ["^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$"]
923
-
924
- > **Skip if:**
925
- >
926
- > - $.message.intent.provider.time.schedule.holidays[*] is not in the payload`,
927
- DebugInfo: &validationutils.DebugInfo{
928
- FedConfig: configureDebugInfo,
929
- },
930
- }
931
- return []validationutils.ValidationOutput{result}, nil
932
- }
933
-
934
- }
935
-
936
- result := validationutils.ValidationOutput{
937
- TestName: "REQUIRED_MESSAGE_HOLIDAYS",
938
- Valid: valid,
939
- Code: 0,
940
- DebugInfo: &validationutils.DebugInfo{
941
- FedConfig: configureDebugInfo,
942
- },
943
- }
944
-
945
- if valid {
946
- result.Code = 200
947
- } else {
948
- result.Code = 30000
949
- }
950
-
951
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
952
- results = append(results, result)
953
- results = append(results, subResults...)
954
-
955
- return results, nil
956
- }
957
- var REQUIRED_MESSAGE_DURATION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
958
-
959
- if input.Config.SkipTestsDict != nil {
960
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_DURATION"]; skip {
961
- return []validationutils.ValidationOutput{}, nil
962
- }
963
- }
964
-
965
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
966
-
967
- subResults := make([]validationutils.ValidationOutput, 0)
968
- valid := true
969
- configureDebugInfo := ""
970
- for _, testObjMap := range scope {
971
- validationutils.UnusedFunction(testObjMap)
972
-
973
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.provider.time.duration", true)
974
- validationutils.UnusedFunction(attr)
975
- reg := validationutils.StringSliceToInterface([]string{`^(P\d+D|PT\d+H|PT\d+M)$`})
976
- validationutils.UnusedFunction(reg)
977
-
978
- skipCheck := !(validationutils.ArePresent(attr))
979
- if skipCheck {
980
- continue
981
- }
982
-
983
- validate := validationutils.FollowRegex(attr, reg)
984
-
985
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_DURATION","attr":"$.message.intent.provider.time.duration","reg":["^(P\\\\d+D|PT\\\\d+H|PT\\\\d+M)$"],"_RETURN_":"attr follow regex reg","_CONTINUE_":"!(attr are present)"}`
986
-
987
- if !validate {
988
- result := validationutils.ValidationOutput{
989
- TestName: "REQUIRED_MESSAGE_DURATION",
990
- Valid: false,
991
- Code: 30000,
992
- Description: `#### **REQUIRED_MESSAGE_DURATION**
993
-
994
- - All elements of $.message.intent.provider.time.duration must follow every regex in ["^(P\\d+D|PT\\d+H|PT\\d+M)$"]
995
-
996
- > **Skip if:**
997
- >
998
- > - $.message.intent.provider.time.duration is not in the payload`,
999
- DebugInfo: &validationutils.DebugInfo{
1000
- FedConfig: configureDebugInfo,
1001
- },
1002
- }
1003
- return []validationutils.ValidationOutput{result}, nil
1004
- }
1005
-
1006
- }
1007
-
1008
- result := validationutils.ValidationOutput{
1009
- TestName: "REQUIRED_MESSAGE_DURATION",
1010
- Valid: valid,
1011
- Code: 0,
1012
- DebugInfo: &validationutils.DebugInfo{
1013
- FedConfig: configureDebugInfo,
1014
- },
1015
- }
1016
-
1017
- if valid {
1018
- result.Code = 200
1019
- } else {
1020
- result.Code = 30000
1021
- }
1022
-
1023
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1024
- results = append(results, result)
1025
- results = append(results, subResults...)
1026
-
1027
- return results, nil
1028
- }
1029
- var REQUIRED_MESSAGE_START = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1030
-
1031
- if input.Config.SkipTestsDict != nil {
1032
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_START"]; skip {
1033
- return []validationutils.ValidationOutput{}, nil
1034
- }
1035
- }
1036
-
1037
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1038
-
1039
- subResults := make([]validationutils.ValidationOutput, 0)
1040
- valid := true
1041
- configureDebugInfo := ""
1042
- for _, testObjMap := range scope {
1043
- validationutils.UnusedFunction(testObjMap)
1044
-
1045
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.provider.time.range.start", true)
1046
- validationutils.UnusedFunction(attr)
1047
-
1048
- validate := validationutils.ArePresent(attr)
1049
-
1050
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_START","attr":"$.message.intent.provider.time.range.start","_RETURN_":"attr are present"}`
1051
-
1052
- if !validate {
1053
- result := validationutils.ValidationOutput{
1054
- TestName: "REQUIRED_MESSAGE_START",
1055
- Valid: false,
1056
- Code: 30000,
1057
- Description: `#### **REQUIRED_MESSAGE_START**
1058
-
1059
- - $.message.intent.provider.time.range.start must be present in the payload`,
1060
- DebugInfo: &validationutils.DebugInfo{
1061
- FedConfig: configureDebugInfo,
1062
- },
1063
- }
1064
- return []validationutils.ValidationOutput{result}, nil
1065
- }
1066
-
1067
- }
1068
-
1069
- result := validationutils.ValidationOutput{
1070
- TestName: "REQUIRED_MESSAGE_START",
1071
- Valid: valid,
1072
- Code: 0,
1073
- DebugInfo: &validationutils.DebugInfo{
1074
- FedConfig: configureDebugInfo,
1075
- },
1076
- }
1077
-
1078
- if valid {
1079
- result.Code = 200
1080
- } else {
1081
- result.Code = 30000
1082
- }
1083
-
1084
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1085
- results = append(results, result)
1086
- results = append(results, subResults...)
1087
-
1088
- return results, nil
1089
- }
1090
- var REQUIRED_MESSAGE_END = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1091
-
1092
- if input.Config.SkipTestsDict != nil {
1093
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_END"]; skip {
1094
- return []validationutils.ValidationOutput{}, nil
1095
- }
1096
- }
1097
-
1098
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1099
-
1100
- subResults := make([]validationutils.ValidationOutput, 0)
1101
- valid := true
1102
- configureDebugInfo := ""
1103
- for _, testObjMap := range scope {
1104
- validationutils.UnusedFunction(testObjMap)
1105
-
1106
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.provider.time.range.end", true)
1107
- validationutils.UnusedFunction(attr)
1108
-
1109
- validate := validationutils.ArePresent(attr)
1110
-
1111
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_END","attr":"$.message.intent.provider.time.range.end","_RETURN_":"attr are present"}`
1112
-
1113
- if !validate {
1114
- result := validationutils.ValidationOutput{
1115
- TestName: "REQUIRED_MESSAGE_END",
1116
- Valid: false,
1117
- Code: 30000,
1118
- Description: `#### **REQUIRED_MESSAGE_END**
1119
-
1120
- - $.message.intent.provider.time.range.end must be present in the payload`,
1121
- DebugInfo: &validationutils.DebugInfo{
1122
- FedConfig: configureDebugInfo,
1123
- },
1124
- }
1125
- return []validationutils.ValidationOutput{result}, nil
1126
- }
1127
-
1128
- }
1129
-
1130
- result := validationutils.ValidationOutput{
1131
- TestName: "REQUIRED_MESSAGE_END",
1132
- Valid: valid,
1133
- Code: 0,
1134
- DebugInfo: &validationutils.DebugInfo{
1135
- FedConfig: configureDebugInfo,
1136
- },
1137
- }
1138
-
1139
- if valid {
1140
- result.Code = 200
1141
- } else {
1142
- result.Code = 30000
1143
- }
1144
-
1145
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1146
- results = append(results, result)
1147
- results = append(results, subResults...)
1148
-
1149
- return results, nil
1150
- }
1151
- var REQUIRED_MESSAGE_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1152
-
1153
- if input.Config.SkipTestsDict != nil {
1154
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_TYPE"]; skip {
1155
- return []validationutils.ValidationOutput{}, nil
1156
- }
1157
- }
1158
-
1159
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1160
-
1161
- subResults := make([]validationutils.ValidationOutput, 0)
1162
- valid := true
1163
- configureDebugInfo := ""
1164
- for _, testObjMap := range scope {
1165
- validationutils.UnusedFunction(testObjMap)
1166
-
1167
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1168
- validationutils.UnusedFunction(attr)
1169
- enumList := validationutils.StringSliceToInterface([]string{`Delivery`, `Return`, `Batch`, `RTO`, `PTL`, `FTL`, `FIFO`})
1170
- validationutils.UnusedFunction(enumList)
1171
-
1172
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1173
-
1174
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_TYPE","attr":"$.message.intent.fulfillment.type","_RETURN_":"attr are present && attr all in enumList","enumList":["Delivery","Return","Batch","RTO","PTL","FTL","FIFO"]}`
1175
-
1176
- if !validate {
1177
- result := validationutils.ValidationOutput{
1178
- TestName: "REQUIRED_MESSAGE_TYPE",
1179
- Valid: false,
1180
- Code: 30000,
1181
- Description: `#### **REQUIRED_MESSAGE_TYPE**
1182
-
1183
- **All of the following must be true:**
1184
- - $.message.intent.fulfillment.type must be present in the payload
1185
- - All elements of $.message.intent.fulfillment.type must be in ["Delivery", "Return", "Batch", "RTO", "PTL", "FTL", "FIFO"]`,
1186
- DebugInfo: &validationutils.DebugInfo{
1187
- FedConfig: configureDebugInfo,
1188
- },
1189
- }
1190
- return []validationutils.ValidationOutput{result}, nil
1191
- }
1192
-
1193
- }
1194
-
1195
- result := validationutils.ValidationOutput{
1196
- TestName: "REQUIRED_MESSAGE_TYPE",
1197
- Valid: valid,
1198
- Code: 0,
1199
- DebugInfo: &validationutils.DebugInfo{
1200
- FedConfig: configureDebugInfo,
1201
- },
1202
- }
1203
-
1204
- if valid {
1205
- result.Code = 200
1206
- } else {
1207
- result.Code = 30000
1208
- }
1209
-
1210
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1211
- results = append(results, result)
1212
- results = append(results, subResults...)
1213
-
1214
- return results, nil
1215
- }
1216
- var REQUIRED_MESSAGE_GPS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1217
-
1218
- if input.Config.SkipTestsDict != nil {
1219
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_GPS"]; skip {
1220
- return []validationutils.ValidationOutput{}, nil
1221
- }
1222
- }
1223
-
1224
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1225
-
1226
- subResults := make([]validationutils.ValidationOutput, 0)
1227
- valid := true
1228
- configureDebugInfo := ""
1229
- for _, testObjMap := range scope {
1230
- validationutils.UnusedFunction(testObjMap)
1231
-
1232
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.start.location.gps", true)
1233
- validationutils.UnusedFunction(attr)
1234
- reg := validationutils.StringSliceToInterface([]string{`^-?\d+\.\d{4,},-?\d+\.\d{4,}$`})
1235
- validationutils.UnusedFunction(reg)
1236
-
1237
- validate := validationutils.FollowRegex(attr, reg)
1238
-
1239
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_GPS","attr":"$.message.intent.fulfillment.start.location.gps","reg":["^-?\\\\d+\\\\.\\\\d{4,},-?\\\\d+\\\\.\\\\d{4,}$"],"_RETURN_":"attr follow regex reg"}`
1240
-
1241
- if !validate {
1242
- result := validationutils.ValidationOutput{
1243
- TestName: "REQUIRED_MESSAGE_GPS",
1244
- Valid: false,
1245
- Code: 30000,
1246
- Description: `#### **REQUIRED_MESSAGE_GPS**
1247
-
1248
- - All elements of $.message.intent.fulfillment.start.location.gps must follow every regex in ["^-?\\d+\\.\\d{4,},-?\\d+\\.\\d{4,}$"]`,
1249
- DebugInfo: &validationutils.DebugInfo{
1250
- FedConfig: configureDebugInfo,
1251
- },
1252
- }
1253
- return []validationutils.ValidationOutput{result}, nil
1254
- }
1255
-
1256
- }
1257
-
1258
- result := validationutils.ValidationOutput{
1259
- TestName: "REQUIRED_MESSAGE_GPS",
1260
- Valid: valid,
1261
- Code: 0,
1262
- DebugInfo: &validationutils.DebugInfo{
1263
- FedConfig: configureDebugInfo,
1264
- },
1265
- }
1266
-
1267
- if valid {
1268
- result.Code = 200
1269
- } else {
1270
- result.Code = 30000
1271
- }
1272
-
1273
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1274
- results = append(results, result)
1275
- results = append(results, subResults...)
1276
-
1277
- return results, nil
1278
- }
1279
- var REQUIRED_MESSAGE_AREA_CODE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1280
-
1281
- if input.Config.SkipTestsDict != nil {
1282
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_AREA_CODE"]; skip {
1283
- return []validationutils.ValidationOutput{}, nil
1284
- }
1285
- }
1286
-
1287
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1288
-
1289
- subResults := make([]validationutils.ValidationOutput, 0)
1290
- valid := true
1291
- configureDebugInfo := ""
1292
- for _, testObjMap := range scope {
1293
- validationutils.UnusedFunction(testObjMap)
1294
-
1295
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.start.location.address.area_code", true)
1296
- validationutils.UnusedFunction(attr)
1297
-
1298
- validate := validationutils.ArePresent(attr)
1299
-
1300
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_AREA_CODE","attr":"$.message.intent.fulfillment.start.location.address.area_code","_RETURN_":"attr are present"}`
1301
-
1302
- if !validate {
1303
- result := validationutils.ValidationOutput{
1304
- TestName: "REQUIRED_MESSAGE_AREA_CODE",
1305
- Valid: false,
1306
- Code: 30000,
1307
- Description: `#### **REQUIRED_MESSAGE_AREA_CODE**
1308
-
1309
- - $.message.intent.fulfillment.start.location.address.area_code must be present in the payload`,
1310
- DebugInfo: &validationutils.DebugInfo{
1311
- FedConfig: configureDebugInfo,
1312
- },
1313
- }
1314
- return []validationutils.ValidationOutput{result}, nil
1315
- }
1316
-
1317
- }
1318
-
1319
- result := validationutils.ValidationOutput{
1320
- TestName: "REQUIRED_MESSAGE_AREA_CODE",
1321
- Valid: valid,
1322
- Code: 0,
1323
- DebugInfo: &validationutils.DebugInfo{
1324
- FedConfig: configureDebugInfo,
1325
- },
1326
- }
1327
-
1328
- if valid {
1329
- result.Code = 200
1330
- } else {
1331
- result.Code = 30000
1332
- }
1333
-
1334
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1335
- results = append(results, result)
1336
- results = append(results, subResults...)
1337
-
1338
- return results, nil
1339
- }
1340
- var REQUIRED_MESSAGE_GPS_21 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1341
-
1342
- if input.Config.SkipTestsDict != nil {
1343
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_GPS_21"]; skip {
1344
- return []validationutils.ValidationOutput{}, nil
1345
- }
1346
- }
1347
-
1348
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1349
-
1350
- subResults := make([]validationutils.ValidationOutput, 0)
1351
- valid := true
1352
- configureDebugInfo := ""
1353
- for _, testObjMap := range scope {
1354
- validationutils.UnusedFunction(testObjMap)
1355
-
1356
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1357
- validationutils.UnusedFunction(fulfillmentType)
1358
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1359
- validationutils.UnusedFunction(fulType)
1360
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.end.location.gps", true)
1361
- validationutils.UnusedFunction(attr)
1362
- reg := validationutils.StringSliceToInterface([]string{`^-?\d+\.\d{4,},-?\d+\.\d{4,}$`})
1363
- validationutils.UnusedFunction(reg)
1364
-
1365
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1366
- if skipCheck {
1367
- continue
1368
- }
1369
-
1370
- validate := validationutils.FollowRegex(attr, reg)
1371
-
1372
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_GPS_21","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent.fulfillment.end.location.gps","reg":["^-?\\\\d+\\\\.\\\\d{4,},-?\\\\d+\\\\.\\\\d{4,}$"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr follow regex reg"}`
1373
-
1374
- if !validate {
1375
- result := validationutils.ValidationOutput{
1376
- TestName: "REQUIRED_MESSAGE_GPS_21",
1377
- Valid: false,
1378
- Code: 30000,
1379
- Description: `#### **REQUIRED_MESSAGE_GPS_21**
1380
-
1381
- - All elements of $.message.intent.fulfillment.end.location.gps must follow every regex in ["^-?\\d+\\.\\d{4,},-?\\d+\\.\\d{4,}$"]
1382
-
1383
- > **Skip if:**
1384
- >
1385
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
1386
- DebugInfo: &validationutils.DebugInfo{
1387
- FedConfig: configureDebugInfo,
1388
- },
1389
- }
1390
- return []validationutils.ValidationOutput{result}, nil
1391
- }
1392
-
1393
- }
1394
-
1395
- result := validationutils.ValidationOutput{
1396
- TestName: "REQUIRED_MESSAGE_GPS_21",
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
- }
1416
- var REQUIRED_MESSAGE_AREA_CODE_22 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1417
-
1418
- if input.Config.SkipTestsDict != nil {
1419
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_AREA_CODE_22"]; skip {
1420
- return []validationutils.ValidationOutput{}, nil
1421
- }
1422
- }
1423
-
1424
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1425
-
1426
- subResults := make([]validationutils.ValidationOutput, 0)
1427
- valid := true
1428
- configureDebugInfo := ""
1429
- for _, testObjMap := range scope {
1430
- validationutils.UnusedFunction(testObjMap)
1431
-
1432
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1433
- validationutils.UnusedFunction(fulfillmentType)
1434
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1435
- validationutils.UnusedFunction(fulType)
1436
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.end.location.address.area_code", true)
1437
- validationutils.UnusedFunction(attr)
1438
-
1439
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1440
- if skipCheck {
1441
- continue
1442
- }
1443
-
1444
- validate := validationutils.ArePresent(attr)
1445
-
1446
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_AREA_CODE_22","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent.fulfillment.end.location.address.area_code","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1447
-
1448
- if !validate {
1449
- result := validationutils.ValidationOutput{
1450
- TestName: "REQUIRED_MESSAGE_AREA_CODE_22",
1451
- Valid: false,
1452
- Code: 30000,
1453
- Description: `#### **REQUIRED_MESSAGE_AREA_CODE_22**
1454
-
1455
- - $.message.intent.fulfillment.end.location.address.area_code must be present in the payload
1456
-
1457
- > **Skip if:**
1458
- >
1459
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
1460
- DebugInfo: &validationutils.DebugInfo{
1461
- FedConfig: configureDebugInfo,
1462
- },
1463
- }
1464
- return []validationutils.ValidationOutput{result}, nil
1465
- }
1466
-
1467
- }
1468
-
1469
- result := validationutils.ValidationOutput{
1470
- TestName: "REQUIRED_MESSAGE_AREA_CODE_22",
1471
- Valid: valid,
1472
- Code: 0,
1473
- DebugInfo: &validationutils.DebugInfo{
1474
- FedConfig: configureDebugInfo,
1475
- },
1476
- }
1477
-
1478
- if valid {
1479
- result.Code = 200
1480
- } else {
1481
- result.Code = 30000
1482
- }
1483
-
1484
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1485
- results = append(results, result)
1486
- results = append(results, subResults...)
1487
-
1488
- return results, nil
1489
- }
1490
- var REQUIRED_MESSAGE_TYPE_23 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1491
-
1492
- if input.Config.SkipTestsDict != nil {
1493
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_TYPE_23"]; skip {
1494
- return []validationutils.ValidationOutput{}, nil
1495
- }
1496
- }
1497
-
1498
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1499
-
1500
- subResults := make([]validationutils.ValidationOutput, 0)
1501
- valid := true
1502
- configureDebugInfo := ""
1503
- for _, testObjMap := range scope {
1504
- validationutils.UnusedFunction(testObjMap)
1505
-
1506
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent.payment.type", true)
1507
- validationutils.UnusedFunction(attr)
1508
- enumList := validationutils.StringSliceToInterface([]string{`ON-ORDER`, `ON-FULFILLMENT`, `POST-FULFILLMENT`})
1509
- validationutils.UnusedFunction(enumList)
1510
-
1511
- skipCheck := !(validationutils.ArePresent(attr))
1512
- if skipCheck {
1513
- continue
1514
- }
1515
-
1516
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1517
-
1518
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_TYPE_23","attr":"$.message.intent.payment.type","_CONTINUE_":"!(attr are present)","_RETURN_":"attr are present && attr all in enumList","enumList":["ON-ORDER","ON-FULFILLMENT","POST-FULFILLMENT"]}`
1519
-
1520
- if !validate {
1521
- result := validationutils.ValidationOutput{
1522
- TestName: "REQUIRED_MESSAGE_TYPE_23",
1523
- Valid: false,
1524
- Code: 30000,
1525
- Description: `#### **REQUIRED_MESSAGE_TYPE_23**
1526
-
1527
- **All of the following must be true:**
1528
- - $.message.intent.payment.type must be present in the payload
1529
- - All elements of $.message.intent.payment.type must be in ["ON-ORDER", "ON-FULFILLMENT", "POST-FULFILLMENT"]
1530
-
1531
- > **Skip if:**
1532
- >
1533
- > - $.message.intent.payment.type is not in the payload`,
1534
- DebugInfo: &validationutils.DebugInfo{
1535
- FedConfig: configureDebugInfo,
1536
- },
1537
- }
1538
- return []validationutils.ValidationOutput{result}, nil
1539
- }
1540
-
1541
- }
1542
-
1543
- result := validationutils.ValidationOutput{
1544
- TestName: "REQUIRED_MESSAGE_TYPE_23",
1545
- Valid: valid,
1546
- Code: 0,
1547
- DebugInfo: &validationutils.DebugInfo{
1548
- FedConfig: configureDebugInfo,
1549
- },
1550
- }
1551
-
1552
- if valid {
1553
- result.Code = 200
1554
- } else {
1555
- result.Code = 30000
1556
- }
1557
-
1558
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1559
- results = append(results, result)
1560
- results = append(results, subResults...)
1561
-
1562
- return results, nil
1563
- }
1564
- var REQUIRED_MESSAGE_UNIT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1565
-
1566
- if input.Config.SkipTestsDict != nil {
1567
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UNIT"]; skip {
1568
- return []validationutils.ValidationOutput{}, nil
1569
- }
1570
- }
1571
-
1572
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1573
-
1574
- subResults := make([]validationutils.ValidationOutput, 0)
1575
- valid := true
1576
- configureDebugInfo := ""
1577
- for _, testObjMap := range scope {
1578
- validationutils.UnusedFunction(testObjMap)
1579
-
1580
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1581
- validationutils.UnusedFunction(fulfillmentType)
1582
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1583
- validationutils.UnusedFunction(fulType)
1584
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].weight.unit", true)
1585
- validationutils.UnusedFunction(attr)
1586
-
1587
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1588
- if skipCheck {
1589
- continue
1590
- }
1591
-
1592
- validate := validationutils.ArePresent(attr)
1593
-
1594
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UNIT","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].weight.unit","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1595
-
1596
- if !validate {
1597
- result := validationutils.ValidationOutput{
1598
- TestName: "REQUIRED_MESSAGE_UNIT",
1599
- Valid: false,
1600
- Code: 30000,
1601
- Description: `#### **REQUIRED_MESSAGE_UNIT**
1602
-
1603
- - $.message.intent['@ondc/org/payload_details'].weight.unit must be present in the payload
1604
-
1605
- > **Skip if:**
1606
- >
1607
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
1608
- DebugInfo: &validationutils.DebugInfo{
1609
- FedConfig: configureDebugInfo,
1610
- },
1611
- }
1612
- return []validationutils.ValidationOutput{result}, nil
1613
- }
1614
-
1615
- }
1616
-
1617
- result := validationutils.ValidationOutput{
1618
- TestName: "REQUIRED_MESSAGE_UNIT",
1619
- Valid: valid,
1620
- Code: 0,
1621
- DebugInfo: &validationutils.DebugInfo{
1622
- FedConfig: configureDebugInfo,
1623
- },
1624
- }
1625
-
1626
- if valid {
1627
- result.Code = 200
1628
- } else {
1629
- result.Code = 30000
1630
- }
1631
-
1632
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1633
- results = append(results, result)
1634
- results = append(results, subResults...)
1635
-
1636
- return results, nil
1637
- }
1638
- var REQUIRED_MESSAGE_VALUE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1639
-
1640
- if input.Config.SkipTestsDict != nil {
1641
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_VALUE"]; skip {
1642
- return []validationutils.ValidationOutput{}, nil
1643
- }
1644
- }
1645
-
1646
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1647
-
1648
- subResults := make([]validationutils.ValidationOutput, 0)
1649
- valid := true
1650
- configureDebugInfo := ""
1651
- for _, testObjMap := range scope {
1652
- validationutils.UnusedFunction(testObjMap)
1653
-
1654
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1655
- validationutils.UnusedFunction(fulfillmentType)
1656
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1657
- validationutils.UnusedFunction(fulType)
1658
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].weight.value", true)
1659
- validationutils.UnusedFunction(attr)
1660
-
1661
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1662
- if skipCheck {
1663
- continue
1664
- }
1665
-
1666
- validate := validationutils.ArePresent(attr)
1667
-
1668
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_VALUE","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].weight.value","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1669
-
1670
- if !validate {
1671
- result := validationutils.ValidationOutput{
1672
- TestName: "REQUIRED_MESSAGE_VALUE",
1673
- Valid: false,
1674
- Code: 30000,
1675
- Description: `#### **REQUIRED_MESSAGE_VALUE**
1676
-
1677
- - $.message.intent['@ondc/org/payload_details'].weight.value must be present in the payload
1678
-
1679
- > **Skip if:**
1680
- >
1681
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
1682
- DebugInfo: &validationutils.DebugInfo{
1683
- FedConfig: configureDebugInfo,
1684
- },
1685
- }
1686
- return []validationutils.ValidationOutput{result}, nil
1687
- }
1688
-
1689
- }
1690
-
1691
- result := validationutils.ValidationOutput{
1692
- TestName: "REQUIRED_MESSAGE_VALUE",
1693
- Valid: valid,
1694
- Code: 0,
1695
- DebugInfo: &validationutils.DebugInfo{
1696
- FedConfig: configureDebugInfo,
1697
- },
1698
- }
1699
-
1700
- if valid {
1701
- result.Code = 200
1702
- } else {
1703
- result.Code = 30000
1704
- }
1705
-
1706
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1707
- results = append(results, result)
1708
- results = append(results, subResults...)
1709
-
1710
- return results, nil
1711
- }
1712
- var REQUIRED_MESSAGE_UNIT_26 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1713
-
1714
- if input.Config.SkipTestsDict != nil {
1715
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UNIT_26"]; skip {
1716
- return []validationutils.ValidationOutput{}, nil
1717
- }
1718
- }
1719
-
1720
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1721
-
1722
- subResults := make([]validationutils.ValidationOutput, 0)
1723
- valid := true
1724
- configureDebugInfo := ""
1725
- for _, testObjMap := range scope {
1726
- validationutils.UnusedFunction(testObjMap)
1727
-
1728
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1729
- validationutils.UnusedFunction(fulfillmentType)
1730
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1731
- validationutils.UnusedFunction(fulType)
1732
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].dimensions.length.unit", true)
1733
- validationutils.UnusedFunction(attr)
1734
-
1735
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1736
- if skipCheck {
1737
- continue
1738
- }
1739
-
1740
- validate := validationutils.ArePresent(attr)
1741
-
1742
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UNIT_26","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].dimensions.length.unit","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1743
-
1744
- if !validate {
1745
- result := validationutils.ValidationOutput{
1746
- TestName: "REQUIRED_MESSAGE_UNIT_26",
1747
- Valid: false,
1748
- Code: 30000,
1749
- Description: `#### **REQUIRED_MESSAGE_UNIT_26**
1750
-
1751
- - $.message.intent['@ondc/org/payload_details'].dimensions.length.unit must be present in the payload
1752
-
1753
- > **Skip if:**
1754
- >
1755
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
1756
- DebugInfo: &validationutils.DebugInfo{
1757
- FedConfig: configureDebugInfo,
1758
- },
1759
- }
1760
- return []validationutils.ValidationOutput{result}, nil
1761
- }
1762
-
1763
- }
1764
-
1765
- result := validationutils.ValidationOutput{
1766
- TestName: "REQUIRED_MESSAGE_UNIT_26",
1767
- Valid: valid,
1768
- Code: 0,
1769
- DebugInfo: &validationutils.DebugInfo{
1770
- FedConfig: configureDebugInfo,
1771
- },
1772
- }
1773
-
1774
- if valid {
1775
- result.Code = 200
1776
- } else {
1777
- result.Code = 30000
1778
- }
1779
-
1780
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1781
- results = append(results, result)
1782
- results = append(results, subResults...)
1783
-
1784
- return results, nil
1785
- }
1786
- var REQUIRED_MESSAGE_VALUE_27 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1787
-
1788
- if input.Config.SkipTestsDict != nil {
1789
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_VALUE_27"]; skip {
1790
- return []validationutils.ValidationOutput{}, nil
1791
- }
1792
- }
1793
-
1794
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1795
-
1796
- subResults := make([]validationutils.ValidationOutput, 0)
1797
- valid := true
1798
- configureDebugInfo := ""
1799
- for _, testObjMap := range scope {
1800
- validationutils.UnusedFunction(testObjMap)
1801
-
1802
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1803
- validationutils.UnusedFunction(fulfillmentType)
1804
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1805
- validationutils.UnusedFunction(fulType)
1806
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].dimensions.length.value", true)
1807
- validationutils.UnusedFunction(attr)
1808
-
1809
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1810
- if skipCheck {
1811
- continue
1812
- }
1813
-
1814
- validate := validationutils.ArePresent(attr)
1815
-
1816
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_VALUE_27","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].dimensions.length.value","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1817
-
1818
- if !validate {
1819
- result := validationutils.ValidationOutput{
1820
- TestName: "REQUIRED_MESSAGE_VALUE_27",
1821
- Valid: false,
1822
- Code: 30000,
1823
- Description: `#### **REQUIRED_MESSAGE_VALUE_27**
1824
-
1825
- - $.message.intent['@ondc/org/payload_details'].dimensions.length.value must be present in the payload
1826
-
1827
- > **Skip if:**
1828
- >
1829
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
1830
- DebugInfo: &validationutils.DebugInfo{
1831
- FedConfig: configureDebugInfo,
1832
- },
1833
- }
1834
- return []validationutils.ValidationOutput{result}, nil
1835
- }
1836
-
1837
- }
1838
-
1839
- result := validationutils.ValidationOutput{
1840
- TestName: "REQUIRED_MESSAGE_VALUE_27",
1841
- Valid: valid,
1842
- Code: 0,
1843
- DebugInfo: &validationutils.DebugInfo{
1844
- FedConfig: configureDebugInfo,
1845
- },
1846
- }
1847
-
1848
- if valid {
1849
- result.Code = 200
1850
- } else {
1851
- result.Code = 30000
1852
- }
1853
-
1854
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1855
- results = append(results, result)
1856
- results = append(results, subResults...)
1857
-
1858
- return results, nil
1859
- }
1860
- var REQUIRED_MESSAGE_UNIT_28 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1861
-
1862
- if input.Config.SkipTestsDict != nil {
1863
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UNIT_28"]; skip {
1864
- return []validationutils.ValidationOutput{}, nil
1865
- }
1866
- }
1867
-
1868
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1869
-
1870
- subResults := make([]validationutils.ValidationOutput, 0)
1871
- valid := true
1872
- configureDebugInfo := ""
1873
- for _, testObjMap := range scope {
1874
- validationutils.UnusedFunction(testObjMap)
1875
-
1876
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1877
- validationutils.UnusedFunction(fulfillmentType)
1878
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1879
- validationutils.UnusedFunction(fulType)
1880
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].dimensions.breadth.unit", true)
1881
- validationutils.UnusedFunction(attr)
1882
-
1883
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1884
- if skipCheck {
1885
- continue
1886
- }
1887
-
1888
- validate := validationutils.ArePresent(attr)
1889
-
1890
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UNIT_28","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].dimensions.breadth.unit","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1891
-
1892
- if !validate {
1893
- result := validationutils.ValidationOutput{
1894
- TestName: "REQUIRED_MESSAGE_UNIT_28",
1895
- Valid: false,
1896
- Code: 30000,
1897
- Description: `#### **REQUIRED_MESSAGE_UNIT_28**
1898
-
1899
- - $.message.intent['@ondc/org/payload_details'].dimensions.breadth.unit must be present in the payload
1900
-
1901
- > **Skip if:**
1902
- >
1903
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
1904
- DebugInfo: &validationutils.DebugInfo{
1905
- FedConfig: configureDebugInfo,
1906
- },
1907
- }
1908
- return []validationutils.ValidationOutput{result}, nil
1909
- }
1910
-
1911
- }
1912
-
1913
- result := validationutils.ValidationOutput{
1914
- TestName: "REQUIRED_MESSAGE_UNIT_28",
1915
- Valid: valid,
1916
- Code: 0,
1917
- DebugInfo: &validationutils.DebugInfo{
1918
- FedConfig: configureDebugInfo,
1919
- },
1920
- }
1921
-
1922
- if valid {
1923
- result.Code = 200
1924
- } else {
1925
- result.Code = 30000
1926
- }
1927
-
1928
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1929
- results = append(results, result)
1930
- results = append(results, subResults...)
1931
-
1932
- return results, nil
1933
- }
1934
- var REQUIRED_MESSAGE_VALUE_29 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1935
-
1936
- if input.Config.SkipTestsDict != nil {
1937
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_VALUE_29"]; skip {
1938
- return []validationutils.ValidationOutput{}, nil
1939
- }
1940
- }
1941
-
1942
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1943
-
1944
- subResults := make([]validationutils.ValidationOutput, 0)
1945
- valid := true
1946
- configureDebugInfo := ""
1947
- for _, testObjMap := range scope {
1948
- validationutils.UnusedFunction(testObjMap)
1949
-
1950
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
1951
- validationutils.UnusedFunction(fulfillmentType)
1952
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1953
- validationutils.UnusedFunction(fulType)
1954
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].dimensions.breadth.value", true)
1955
- validationutils.UnusedFunction(attr)
1956
-
1957
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1958
- if skipCheck {
1959
- continue
1960
- }
1961
-
1962
- validate := validationutils.ArePresent(attr)
1963
-
1964
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_VALUE_29","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].dimensions.breadth.value","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1965
-
1966
- if !validate {
1967
- result := validationutils.ValidationOutput{
1968
- TestName: "REQUIRED_MESSAGE_VALUE_29",
1969
- Valid: false,
1970
- Code: 30000,
1971
- Description: `#### **REQUIRED_MESSAGE_VALUE_29**
1972
-
1973
- - $.message.intent['@ondc/org/payload_details'].dimensions.breadth.value must be present in the payload
1974
-
1975
- > **Skip if:**
1976
- >
1977
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
1978
- DebugInfo: &validationutils.DebugInfo{
1979
- FedConfig: configureDebugInfo,
1980
- },
1981
- }
1982
- return []validationutils.ValidationOutput{result}, nil
1983
- }
1984
-
1985
- }
1986
-
1987
- result := validationutils.ValidationOutput{
1988
- TestName: "REQUIRED_MESSAGE_VALUE_29",
1989
- Valid: valid,
1990
- Code: 0,
1991
- DebugInfo: &validationutils.DebugInfo{
1992
- FedConfig: configureDebugInfo,
1993
- },
1994
- }
1995
-
1996
- if valid {
1997
- result.Code = 200
1998
- } else {
1999
- result.Code = 30000
2000
- }
2001
-
2002
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2003
- results = append(results, result)
2004
- results = append(results, subResults...)
2005
-
2006
- return results, nil
2007
- }
2008
- var REQUIRED_MESSAGE_UNIT_30 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2009
-
2010
- if input.Config.SkipTestsDict != nil {
2011
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UNIT_30"]; skip {
2012
- return []validationutils.ValidationOutput{}, nil
2013
- }
2014
- }
2015
-
2016
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2017
-
2018
- subResults := make([]validationutils.ValidationOutput, 0)
2019
- valid := true
2020
- configureDebugInfo := ""
2021
- for _, testObjMap := range scope {
2022
- validationutils.UnusedFunction(testObjMap)
2023
-
2024
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
2025
- validationutils.UnusedFunction(fulfillmentType)
2026
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2027
- validationutils.UnusedFunction(fulType)
2028
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].dimensions.height.unit", true)
2029
- validationutils.UnusedFunction(attr)
2030
-
2031
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2032
- if skipCheck {
2033
- continue
2034
- }
2035
-
2036
- validate := validationutils.ArePresent(attr)
2037
-
2038
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UNIT_30","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].dimensions.height.unit","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2039
-
2040
- if !validate {
2041
- result := validationutils.ValidationOutput{
2042
- TestName: "REQUIRED_MESSAGE_UNIT_30",
2043
- Valid: false,
2044
- Code: 30000,
2045
- Description: `#### **REQUIRED_MESSAGE_UNIT_30**
2046
-
2047
- - $.message.intent['@ondc/org/payload_details'].dimensions.height.unit must be present in the payload
2048
-
2049
- > **Skip if:**
2050
- >
2051
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
2052
- DebugInfo: &validationutils.DebugInfo{
2053
- FedConfig: configureDebugInfo,
2054
- },
2055
- }
2056
- return []validationutils.ValidationOutput{result}, nil
2057
- }
2058
-
2059
- }
2060
-
2061
- result := validationutils.ValidationOutput{
2062
- TestName: "REQUIRED_MESSAGE_UNIT_30",
2063
- Valid: valid,
2064
- Code: 0,
2065
- DebugInfo: &validationutils.DebugInfo{
2066
- FedConfig: configureDebugInfo,
2067
- },
2068
- }
2069
-
2070
- if valid {
2071
- result.Code = 200
2072
- } else {
2073
- result.Code = 30000
2074
- }
2075
-
2076
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2077
- results = append(results, result)
2078
- results = append(results, subResults...)
2079
-
2080
- return results, nil
2081
- }
2082
- var REQUIRED_MESSAGE_VALUE_31 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2083
-
2084
- if input.Config.SkipTestsDict != nil {
2085
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_VALUE_31"]; skip {
2086
- return []validationutils.ValidationOutput{}, nil
2087
- }
2088
- }
2089
-
2090
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2091
-
2092
- subResults := make([]validationutils.ValidationOutput, 0)
2093
- valid := true
2094
- configureDebugInfo := ""
2095
- for _, testObjMap := range scope {
2096
- validationutils.UnusedFunction(testObjMap)
2097
-
2098
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
2099
- validationutils.UnusedFunction(fulfillmentType)
2100
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2101
- validationutils.UnusedFunction(fulType)
2102
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].dimensions.height.value", true)
2103
- validationutils.UnusedFunction(attr)
2104
-
2105
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2106
- if skipCheck {
2107
- continue
2108
- }
2109
-
2110
- validate := validationutils.ArePresent(attr)
2111
-
2112
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_VALUE_31","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].dimensions.height.value","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2113
-
2114
- if !validate {
2115
- result := validationutils.ValidationOutput{
2116
- TestName: "REQUIRED_MESSAGE_VALUE_31",
2117
- Valid: false,
2118
- Code: 30000,
2119
- Description: `#### **REQUIRED_MESSAGE_VALUE_31**
2120
-
2121
- - $.message.intent['@ondc/org/payload_details'].dimensions.height.value must be present in the payload
2122
-
2123
- > **Skip if:**
2124
- >
2125
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
2126
- DebugInfo: &validationutils.DebugInfo{
2127
- FedConfig: configureDebugInfo,
2128
- },
2129
- }
2130
- return []validationutils.ValidationOutput{result}, nil
2131
- }
2132
-
2133
- }
2134
-
2135
- result := validationutils.ValidationOutput{
2136
- TestName: "REQUIRED_MESSAGE_VALUE_31",
2137
- Valid: valid,
2138
- Code: 0,
2139
- DebugInfo: &validationutils.DebugInfo{
2140
- FedConfig: configureDebugInfo,
2141
- },
2142
- }
2143
-
2144
- if valid {
2145
- result.Code = 200
2146
- } else {
2147
- result.Code = 30000
2148
- }
2149
-
2150
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2151
- results = append(results, result)
2152
- results = append(results, subResults...)
2153
-
2154
- return results, nil
2155
- }
2156
- var REQUIRED_MESSAGE_CATEGORY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2157
-
2158
- if input.Config.SkipTestsDict != nil {
2159
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CATEGORY"]; skip {
2160
- return []validationutils.ValidationOutput{}, nil
2161
- }
2162
- }
2163
-
2164
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2165
-
2166
- subResults := make([]validationutils.ValidationOutput, 0)
2167
- valid := true
2168
- configureDebugInfo := ""
2169
- for _, testObjMap := range scope {
2170
- validationutils.UnusedFunction(testObjMap)
2171
-
2172
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
2173
- validationutils.UnusedFunction(fulfillmentType)
2174
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2175
- validationutils.UnusedFunction(fulType)
2176
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].category", true)
2177
- validationutils.UnusedFunction(attr)
2178
-
2179
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2180
- if skipCheck {
2181
- continue
2182
- }
2183
-
2184
- validate := validationutils.ArePresent(attr)
2185
-
2186
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CATEGORY","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].category","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2187
-
2188
- if !validate {
2189
- result := validationutils.ValidationOutput{
2190
- TestName: "REQUIRED_MESSAGE_CATEGORY",
2191
- Valid: false,
2192
- Code: 30000,
2193
- Description: `#### **REQUIRED_MESSAGE_CATEGORY**
2194
-
2195
- - $.message.intent['@ondc/org/payload_details'].category must be present in the payload
2196
-
2197
- > **Skip if:**
2198
- >
2199
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
2200
- DebugInfo: &validationutils.DebugInfo{
2201
- FedConfig: configureDebugInfo,
2202
- },
2203
- }
2204
- return []validationutils.ValidationOutput{result}, nil
2205
- }
2206
-
2207
- }
2208
-
2209
- result := validationutils.ValidationOutput{
2210
- TestName: "REQUIRED_MESSAGE_CATEGORY",
2211
- Valid: valid,
2212
- Code: 0,
2213
- DebugInfo: &validationutils.DebugInfo{
2214
- FedConfig: configureDebugInfo,
2215
- },
2216
- }
2217
-
2218
- if valid {
2219
- result.Code = 200
2220
- } else {
2221
- result.Code = 30000
2222
- }
2223
-
2224
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2225
- results = append(results, result)
2226
- results = append(results, subResults...)
2227
-
2228
- return results, nil
2229
- }
2230
- var REQUIRED_MESSAGE_CURRENCY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2231
-
2232
- if input.Config.SkipTestsDict != nil {
2233
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CURRENCY"]; skip {
2234
- return []validationutils.ValidationOutput{}, nil
2235
- }
2236
- }
2237
-
2238
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2239
-
2240
- subResults := make([]validationutils.ValidationOutput, 0)
2241
- valid := true
2242
- configureDebugInfo := ""
2243
- for _, testObjMap := range scope {
2244
- validationutils.UnusedFunction(testObjMap)
2245
-
2246
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
2247
- validationutils.UnusedFunction(fulfillmentType)
2248
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2249
- validationutils.UnusedFunction(fulType)
2250
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].value.currency", true)
2251
- validationutils.UnusedFunction(attr)
2252
-
2253
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2254
- if skipCheck {
2255
- continue
2256
- }
2257
-
2258
- validate := validationutils.ArePresent(attr)
2259
-
2260
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CURRENCY","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].value.currency","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2261
-
2262
- if !validate {
2263
- result := validationutils.ValidationOutput{
2264
- TestName: "REQUIRED_MESSAGE_CURRENCY",
2265
- Valid: false,
2266
- Code: 30000,
2267
- Description: `#### **REQUIRED_MESSAGE_CURRENCY**
2268
-
2269
- - $.message.intent['@ondc/org/payload_details'].value.currency must be present in the payload
2270
-
2271
- > **Skip if:**
2272
- >
2273
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
2274
- DebugInfo: &validationutils.DebugInfo{
2275
- FedConfig: configureDebugInfo,
2276
- },
2277
- }
2278
- return []validationutils.ValidationOutput{result}, nil
2279
- }
2280
-
2281
- }
2282
-
2283
- result := validationutils.ValidationOutput{
2284
- TestName: "REQUIRED_MESSAGE_CURRENCY",
2285
- Valid: valid,
2286
- Code: 0,
2287
- DebugInfo: &validationutils.DebugInfo{
2288
- FedConfig: configureDebugInfo,
2289
- },
2290
- }
2291
-
2292
- if valid {
2293
- result.Code = 200
2294
- } else {
2295
- result.Code = 30000
2296
- }
2297
-
2298
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2299
- results = append(results, result)
2300
- results = append(results, subResults...)
2301
-
2302
- return results, nil
2303
- }
2304
- var REQUIRED_MESSAGE_VALUE_34 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2305
-
2306
- if input.Config.SkipTestsDict != nil {
2307
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_VALUE_34"]; skip {
2308
- return []validationutils.ValidationOutput{}, nil
2309
- }
2310
- }
2311
-
2312
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2313
-
2314
- subResults := make([]validationutils.ValidationOutput, 0)
2315
- valid := true
2316
- configureDebugInfo := ""
2317
- for _, testObjMap := range scope {
2318
- validationutils.UnusedFunction(testObjMap)
2319
-
2320
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
2321
- validationutils.UnusedFunction(fulfillmentType)
2322
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2323
- validationutils.UnusedFunction(fulType)
2324
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].value.value", true)
2325
- validationutils.UnusedFunction(attr)
2326
-
2327
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2328
- if skipCheck {
2329
- continue
2330
- }
2331
-
2332
- validate := validationutils.ArePresent(attr)
2333
-
2334
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_VALUE_34","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].value.value","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2335
-
2336
- if !validate {
2337
- result := validationutils.ValidationOutput{
2338
- TestName: "REQUIRED_MESSAGE_VALUE_34",
2339
- Valid: false,
2340
- Code: 30000,
2341
- Description: `#### **REQUIRED_MESSAGE_VALUE_34**
2342
-
2343
- - $.message.intent['@ondc/org/payload_details'].value.value must be present in the payload
2344
-
2345
- > **Skip if:**
2346
- >
2347
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
2348
- DebugInfo: &validationutils.DebugInfo{
2349
- FedConfig: configureDebugInfo,
2350
- },
2351
- }
2352
- return []validationutils.ValidationOutput{result}, nil
2353
- }
2354
-
2355
- }
2356
-
2357
- result := validationutils.ValidationOutput{
2358
- TestName: "REQUIRED_MESSAGE_VALUE_34",
2359
- Valid: valid,
2360
- Code: 0,
2361
- DebugInfo: &validationutils.DebugInfo{
2362
- FedConfig: configureDebugInfo,
2363
- },
2364
- }
2365
-
2366
- if valid {
2367
- result.Code = 200
2368
- } else {
2369
- result.Code = 30000
2370
- }
2371
-
2372
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2373
- results = append(results, result)
2374
- results = append(results, subResults...)
2375
-
2376
- return results, nil
2377
- }
2378
- var REQUIRED_MESSAGE_DANGEROUS_GOODS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2379
-
2380
- if input.Config.SkipTestsDict != nil {
2381
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_DANGEROUS_GOODS"]; skip {
2382
- return []validationutils.ValidationOutput{}, nil
2383
- }
2384
- }
2385
-
2386
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2387
-
2388
- subResults := make([]validationutils.ValidationOutput, 0)
2389
- valid := true
2390
- configureDebugInfo := ""
2391
- for _, testObjMap := range scope {
2392
- validationutils.UnusedFunction(testObjMap)
2393
-
2394
- fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
2395
- validationutils.UnusedFunction(fulfillmentType)
2396
- fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2397
- validationutils.UnusedFunction(fulType)
2398
- attr := validationutils.GetJsonPath(testObjMap, "$.message.intent['@ondc/org/payload_details'].dangerous_goods", true)
2399
- validationutils.UnusedFunction(attr)
2400
-
2401
- skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2402
- if skipCheck {
2403
- continue
2404
- }
2405
-
2406
- validate := validationutils.ArePresent(attr)
2407
-
2408
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_DANGEROUS_GOODS","fulfillmentType":"$.message.intent.fulfillment.type","fulType":["Delivery"],"attr":"$.message.intent['@ondc/org/payload_details'].dangerous_goods","_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2409
-
2410
- if !validate {
2411
- result := validationutils.ValidationOutput{
2412
- TestName: "REQUIRED_MESSAGE_DANGEROUS_GOODS",
2413
- Valid: false,
2414
- Code: 30000,
2415
- Description: `#### **REQUIRED_MESSAGE_DANGEROUS_GOODS**
2416
-
2417
- - $.message.intent['@ondc/org/payload_details'].dangerous_goods must be present in the payload
2418
-
2419
- > **Skip if:**
2420
- >
2421
- > - not all elements of $.message.intent.fulfillment.type are in ["Delivery"]`,
2422
- DebugInfo: &validationutils.DebugInfo{
2423
- FedConfig: configureDebugInfo,
2424
- },
2425
- }
2426
- return []validationutils.ValidationOutput{result}, nil
2427
- }
2428
-
2429
- }
2430
-
2431
- result := validationutils.ValidationOutput{
2432
- TestName: "REQUIRED_MESSAGE_DANGEROUS_GOODS",
2433
- Valid: valid,
2434
- Code: 0,
2435
- DebugInfo: &validationutils.DebugInfo{
2436
- FedConfig: configureDebugInfo,
2437
- },
2438
- }
2439
-
2440
- if valid {
2441
- result.Code = 200
2442
- } else {
2443
- result.Code = 30000
2444
- }
2445
-
2446
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2447
- results = append(results, result)
2448
- results = append(results, subResults...)
2449
-
2450
- return results, nil
2451
- }
2452
- var VALID_ENUM_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2453
-
2454
- if input.Config.SkipTestsDict != nil {
2455
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_CONTEXT_DOMAIN"]; skip {
2456
- return []validationutils.ValidationOutput{}, nil
2457
- }
2458
- }
2459
-
2460
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2461
-
2462
- subResults := make([]validationutils.ValidationOutput, 0)
2463
- valid := true
2464
- configureDebugInfo := ""
2465
- for _, testObjMap := range scope {
2466
- validationutils.UnusedFunction(testObjMap)
2467
-
2468
- enumList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`, `ONDC:LOG11`, `nic2004:60232`})
2469
- validationutils.UnusedFunction(enumList)
2470
- enumPath := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
2471
- validationutils.UnusedFunction(enumPath)
2472
-
2473
- skipCheck := !(validationutils.ArePresent(enumPath))
2474
- if skipCheck {
2475
- continue
2476
- }
2477
-
2478
- validate := validationutils.AllIn(enumPath, enumList)
2479
-
2480
- 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"}`
2481
-
2482
- if !validate {
2483
- result := validationutils.ValidationOutput{
2484
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
2485
- Valid: false,
2486
- Code: 30000,
2487
- Description: `#### **VALID_ENUM_CONTEXT_DOMAIN**
2488
-
2489
- - All elements of $.context.domain must be in ["ONDC:LOG10", "ONDC:LOG11", "nic2004:60232"]
2490
-
2491
- > **Skip if:**
2492
- >
2493
- > - $.context.domain is not in the payload`,
2494
- DebugInfo: &validationutils.DebugInfo{
2495
- FedConfig: configureDebugInfo,
2496
- },
2497
- }
2498
- return []validationutils.ValidationOutput{result}, nil
2499
- }
2500
-
2501
- }
2502
-
2503
- result := validationutils.ValidationOutput{
2504
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
2505
- Valid: valid,
2506
- Code: 0,
2507
- DebugInfo: &validationutils.DebugInfo{
2508
- FedConfig: configureDebugInfo,
2509
- },
2510
- }
2511
-
2512
- if valid {
2513
- result.Code = 200
2514
- } else {
2515
- result.Code = 30000
2516
- }
2517
-
2518
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2519
- results = append(results, result)
2520
- results = append(results, subResults...)
2521
-
2522
- return results, nil
2523
- }
2524
- var VALID_ENUM_MESSAGE_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2525
-
2526
- if input.Config.SkipTestsDict != nil {
2527
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE"]; skip {
2528
- return []validationutils.ValidationOutput{}, nil
2529
- }
2530
- }
2531
-
2532
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2533
-
2534
- subResults := make([]validationutils.ValidationOutput, 0)
2535
- valid := true
2536
- configureDebugInfo := ""
2537
- for _, testObjMap := range scope {
2538
- validationutils.UnusedFunction(testObjMap)
2539
-
2540
- enumList := validationutils.StringSliceToInterface([]string{`Delivery`, `Return`, `Batch`, `RTO`, `FTL`, `PTL`, `FIFO`})
2541
- validationutils.UnusedFunction(enumList)
2542
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.type", true)
2543
- validationutils.UnusedFunction(enumPath)
2544
-
2545
- skipCheck := !(validationutils.ArePresent(enumPath))
2546
- if skipCheck {
2547
- continue
2548
- }
2549
-
2550
- validate := validationutils.AllIn(enumPath, enumList)
2551
-
2552
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE","enumList":["Delivery","Return","Batch","RTO","FTL","PTL","FIFO"],"enumPath":"$.message.intent.fulfillment.type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
2553
-
2554
- if !validate {
2555
- result := validationutils.ValidationOutput{
2556
- TestName: "VALID_ENUM_MESSAGE_TYPE",
2557
- Valid: false,
2558
- Code: 30000,
2559
- Description: `#### **VALID_ENUM_MESSAGE_TYPE**
2560
-
2561
- - All elements of $.message.intent.fulfillment.type must be in ["Delivery", "Return", "Batch", "RTO", "FTL", "PTL", "FIFO"]
2562
-
2563
- > **Skip if:**
2564
- >
2565
- > - $.message.intent.fulfillment.type is not in the payload`,
2566
- DebugInfo: &validationutils.DebugInfo{
2567
- FedConfig: configureDebugInfo,
2568
- },
2569
- }
2570
- return []validationutils.ValidationOutput{result}, nil
2571
- }
2572
-
2573
- }
2574
-
2575
- result := validationutils.ValidationOutput{
2576
- TestName: "VALID_ENUM_MESSAGE_TYPE",
2577
- Valid: valid,
2578
- Code: 0,
2579
- DebugInfo: &validationutils.DebugInfo{
2580
- FedConfig: configureDebugInfo,
2581
- },
2582
- }
2583
-
2584
- if valid {
2585
- result.Code = 200
2586
- } else {
2587
- result.Code = 30000
2588
- }
2589
-
2590
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2591
- results = append(results, result)
2592
- results = append(results, subResults...)
2593
-
2594
- return results, nil
2595
- }
2596
- var VALID_ENUM_MESSAGE_TYPE_3 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2597
-
2598
- if input.Config.SkipTestsDict != nil {
2599
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE_3"]; skip {
2600
- return []validationutils.ValidationOutput{}, nil
2601
- }
2602
- }
2603
-
2604
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2605
-
2606
- subResults := make([]validationutils.ValidationOutput, 0)
2607
- valid := true
2608
- configureDebugInfo := ""
2609
- for _, testObjMap := range scope {
2610
- validationutils.UnusedFunction(testObjMap)
2611
-
2612
- enumList := validationutils.StringSliceToInterface([]string{`OTP`})
2613
- validationutils.UnusedFunction(enumList)
2614
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.start.authorization.type", true)
2615
- validationutils.UnusedFunction(enumPath)
2616
-
2617
- skipCheck := !(validationutils.ArePresent(enumPath))
2618
- if skipCheck {
2619
- continue
2620
- }
2621
-
2622
- validate := validationutils.AllIn(enumPath, enumList)
2623
-
2624
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE_3","enumList":["OTP"],"enumPath":"$.message.intent.fulfillment.start.authorization.type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
2625
-
2626
- if !validate {
2627
- result := validationutils.ValidationOutput{
2628
- TestName: "VALID_ENUM_MESSAGE_TYPE_3",
2629
- Valid: false,
2630
- Code: 30000,
2631
- Description: `#### **VALID_ENUM_MESSAGE_TYPE_3**
2632
-
2633
- - All elements of $.message.intent.fulfillment.start.authorization.type must be in ["OTP"]
2634
-
2635
- > **Skip if:**
2636
- >
2637
- > - $.message.intent.fulfillment.start.authorization.type is not in the payload`,
2638
- DebugInfo: &validationutils.DebugInfo{
2639
- FedConfig: configureDebugInfo,
2640
- },
2641
- }
2642
- return []validationutils.ValidationOutput{result}, nil
2643
- }
2644
-
2645
- }
2646
-
2647
- result := validationutils.ValidationOutput{
2648
- TestName: "VALID_ENUM_MESSAGE_TYPE_3",
2649
- Valid: valid,
2650
- Code: 0,
2651
- DebugInfo: &validationutils.DebugInfo{
2652
- FedConfig: configureDebugInfo,
2653
- },
2654
- }
2655
-
2656
- if valid {
2657
- result.Code = 200
2658
- } else {
2659
- result.Code = 30000
2660
- }
2661
-
2662
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2663
- results = append(results, result)
2664
- results = append(results, subResults...)
2665
-
2666
- return results, nil
2667
- }
2668
- var VALID_ENUM_MESSAGE_CODE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2669
-
2670
- if input.Config.SkipTestsDict != nil {
2671
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_CODE"]; skip {
2672
- return []validationutils.ValidationOutput{}, nil
2673
- }
2674
- }
2675
-
2676
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2677
-
2678
- subResults := make([]validationutils.ValidationOutput, 0)
2679
- valid := true
2680
- configureDebugInfo := ""
2681
- for _, testObjMap := range scope {
2682
- validationutils.UnusedFunction(testObjMap)
2683
-
2684
- enumList := validationutils.StringSliceToInterface([]string{`2`, `3`, `4`, `5`})
2685
- validationutils.UnusedFunction(enumList)
2686
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.start.instructions.code", true)
2687
- validationutils.UnusedFunction(enumPath)
2688
-
2689
- skipCheck := !(validationutils.ArePresent(enumPath))
2690
- if skipCheck {
2691
- continue
2692
- }
2693
-
2694
- validate := validationutils.AllIn(enumPath, enumList)
2695
-
2696
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_CODE","enumList":["2","3","4","5"],"enumPath":"$.message.intent.fulfillment.start.instructions.code","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
2697
-
2698
- if !validate {
2699
- result := validationutils.ValidationOutput{
2700
- TestName: "VALID_ENUM_MESSAGE_CODE",
2701
- Valid: false,
2702
- Code: 30000,
2703
- Description: `#### **VALID_ENUM_MESSAGE_CODE**
2704
-
2705
- - All elements of $.message.intent.fulfillment.start.instructions.code must be in ["2", "3", "4", "5"]
2706
-
2707
- > **Skip if:**
2708
- >
2709
- > - $.message.intent.fulfillment.start.instructions.code is not in the payload`,
2710
- DebugInfo: &validationutils.DebugInfo{
2711
- FedConfig: configureDebugInfo,
2712
- },
2713
- }
2714
- return []validationutils.ValidationOutput{result}, nil
2715
- }
2716
-
2717
- }
2718
-
2719
- result := validationutils.ValidationOutput{
2720
- TestName: "VALID_ENUM_MESSAGE_CODE",
2721
- Valid: valid,
2722
- Code: 0,
2723
- DebugInfo: &validationutils.DebugInfo{
2724
- FedConfig: configureDebugInfo,
2725
- },
2726
- }
2727
-
2728
- if valid {
2729
- result.Code = 200
2730
- } else {
2731
- result.Code = 30000
2732
- }
2733
-
2734
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2735
- results = append(results, result)
2736
- results = append(results, subResults...)
2737
-
2738
- return results, nil
2739
- }
2740
- var VALID_ENUM_MESSAGE_TYPE_5 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2741
-
2742
- if input.Config.SkipTestsDict != nil {
2743
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE_5"]; skip {
2744
- return []validationutils.ValidationOutput{}, nil
2745
- }
2746
- }
2747
-
2748
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2749
-
2750
- subResults := make([]validationutils.ValidationOutput, 0)
2751
- valid := true
2752
- configureDebugInfo := ""
2753
- for _, testObjMap := range scope {
2754
- validationutils.UnusedFunction(testObjMap)
2755
-
2756
- enumList := validationutils.StringSliceToInterface([]string{`OTP`})
2757
- validationutils.UnusedFunction(enumList)
2758
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.end.authorization.type", true)
2759
- validationutils.UnusedFunction(enumPath)
2760
-
2761
- skipCheck := !(validationutils.ArePresent(enumPath))
2762
- if skipCheck {
2763
- continue
2764
- }
2765
-
2766
- validate := validationutils.AllIn(enumPath, enumList)
2767
-
2768
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE_5","enumList":["OTP"],"enumPath":"$.message.intent.fulfillment.end.authorization.type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
2769
-
2770
- if !validate {
2771
- result := validationutils.ValidationOutput{
2772
- TestName: "VALID_ENUM_MESSAGE_TYPE_5",
2773
- Valid: false,
2774
- Code: 30000,
2775
- Description: `#### **VALID_ENUM_MESSAGE_TYPE_5**
2776
-
2777
- - All elements of $.message.intent.fulfillment.end.authorization.type must be in ["OTP"]
2778
-
2779
- > **Skip if:**
2780
- >
2781
- > - $.message.intent.fulfillment.end.authorization.type is not in the payload`,
2782
- DebugInfo: &validationutils.DebugInfo{
2783
- FedConfig: configureDebugInfo,
2784
- },
2785
- }
2786
- return []validationutils.ValidationOutput{result}, nil
2787
- }
2788
-
2789
- }
2790
-
2791
- result := validationutils.ValidationOutput{
2792
- TestName: "VALID_ENUM_MESSAGE_TYPE_5",
2793
- Valid: valid,
2794
- Code: 0,
2795
- DebugInfo: &validationutils.DebugInfo{
2796
- FedConfig: configureDebugInfo,
2797
- },
2798
- }
2799
-
2800
- if valid {
2801
- result.Code = 200
2802
- } else {
2803
- result.Code = 30000
2804
- }
2805
-
2806
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2807
- results = append(results, result)
2808
- results = append(results, subResults...)
2809
-
2810
- return results, nil
2811
- }
2812
- var VALID_ENUM_MESSAGE_CODE_6 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2813
-
2814
- if input.Config.SkipTestsDict != nil {
2815
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_CODE_6"]; skip {
2816
- return []validationutils.ValidationOutput{}, nil
2817
- }
2818
- }
2819
-
2820
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2821
-
2822
- subResults := make([]validationutils.ValidationOutput, 0)
2823
- valid := true
2824
- configureDebugInfo := ""
2825
- for _, testObjMap := range scope {
2826
- validationutils.UnusedFunction(testObjMap)
2827
-
2828
- enumList := validationutils.StringSliceToInterface([]string{`1`, `2`, `3`, `5`})
2829
- validationutils.UnusedFunction(enumList)
2830
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.end.instructions.code", true)
2831
- validationutils.UnusedFunction(enumPath)
2832
-
2833
- skipCheck := !(validationutils.ArePresent(enumPath))
2834
- if skipCheck {
2835
- continue
2836
- }
2837
-
2838
- validate := validationutils.AllIn(enumPath, enumList)
2839
-
2840
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_CODE_6","enumList":["1","2","3","5"],"enumPath":"$.message.intent.fulfillment.end.instructions.code","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
2841
-
2842
- if !validate {
2843
- result := validationutils.ValidationOutput{
2844
- TestName: "VALID_ENUM_MESSAGE_CODE_6",
2845
- Valid: false,
2846
- Code: 30000,
2847
- Description: `#### **VALID_ENUM_MESSAGE_CODE_6**
2848
-
2849
- - All elements of $.message.intent.fulfillment.end.instructions.code must be in ["1", "2", "3", "5"]
2850
-
2851
- > **Skip if:**
2852
- >
2853
- > - $.message.intent.fulfillment.end.instructions.code is not in the payload`,
2854
- DebugInfo: &validationutils.DebugInfo{
2855
- FedConfig: configureDebugInfo,
2856
- },
2857
- }
2858
- return []validationutils.ValidationOutput{result}, nil
2859
- }
2860
-
2861
- }
2862
-
2863
- result := validationutils.ValidationOutput{
2864
- TestName: "VALID_ENUM_MESSAGE_CODE_6",
2865
- Valid: valid,
2866
- Code: 0,
2867
- DebugInfo: &validationutils.DebugInfo{
2868
- FedConfig: configureDebugInfo,
2869
- },
2870
- }
2871
-
2872
- if valid {
2873
- result.Code = 200
2874
- } else {
2875
- result.Code = 30000
2876
- }
2877
-
2878
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2879
- results = append(results, result)
2880
- results = append(results, subResults...)
2881
-
2882
- return results, nil
2883
- }
2884
- var VALID_ENUM_MESSAGE_TYPE_7 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2885
-
2886
- if input.Config.SkipTestsDict != nil {
2887
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE_7"]; skip {
2888
- return []validationutils.ValidationOutput{}, nil
2889
- }
2890
- }
2891
-
2892
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2893
-
2894
- subResults := make([]validationutils.ValidationOutput, 0)
2895
- valid := true
2896
- configureDebugInfo := ""
2897
- for _, testObjMap := range scope {
2898
- validationutils.UnusedFunction(testObjMap)
2899
-
2900
- enumList := validationutils.StringSliceToInterface([]string{`ON-ORDER`, `ON-FULFILLMENT`, `POST-FULFILLMENT`})
2901
- validationutils.UnusedFunction(enumList)
2902
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.payment.type", true)
2903
- validationutils.UnusedFunction(enumPath)
2904
-
2905
- skipCheck := !(validationutils.ArePresent(enumPath))
2906
- if skipCheck {
2907
- continue
2908
- }
2909
-
2910
- validate := validationutils.AllIn(enumPath, enumList)
2911
-
2912
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE_7","enumList":["ON-ORDER","ON-FULFILLMENT","POST-FULFILLMENT"],"enumPath":"$.message.intent.payment.type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
2913
-
2914
- if !validate {
2915
- result := validationutils.ValidationOutput{
2916
- TestName: "VALID_ENUM_MESSAGE_TYPE_7",
2917
- Valid: false,
2918
- Code: 30000,
2919
- Description: `#### **VALID_ENUM_MESSAGE_TYPE_7**
2920
-
2921
- - All elements of $.message.intent.payment.type must be in ["ON-ORDER", "ON-FULFILLMENT", "POST-FULFILLMENT"]
2922
-
2923
- > **Skip if:**
2924
- >
2925
- > - $.message.intent.payment.type is not in the payload`,
2926
- DebugInfo: &validationutils.DebugInfo{
2927
- FedConfig: configureDebugInfo,
2928
- },
2929
- }
2930
- return []validationutils.ValidationOutput{result}, nil
2931
- }
2932
-
2933
- }
2934
-
2935
- result := validationutils.ValidationOutput{
2936
- TestName: "VALID_ENUM_MESSAGE_TYPE_7",
2937
- Valid: valid,
2938
- Code: 0,
2939
- DebugInfo: &validationutils.DebugInfo{
2940
- FedConfig: configureDebugInfo,
2941
- },
2942
- }
2943
-
2944
- if valid {
2945
- result.Code = 200
2946
- } else {
2947
- result.Code = 30000
2948
- }
2949
-
2950
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2951
- results = append(results, result)
2952
- results = append(results, subResults...)
2953
-
2954
- return results, nil
2955
- }
2956
- var VALID_ENUM_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2957
-
2958
- if input.Config.SkipTestsDict != nil {
2959
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_ID"]; skip {
2960
- return []validationutils.ValidationOutput{}, nil
2961
- }
2962
- }
2963
-
2964
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2965
-
2966
- subResults := make([]validationutils.ValidationOutput, 0)
2967
- valid := true
2968
- configureDebugInfo := ""
2969
- for _, testObjMap := range scope {
2970
- validationutils.UnusedFunction(testObjMap)
2971
-
2972
- enumList := validationutils.StringSliceToInterface([]string{`Express Delivery`, `Standard Delivery`, `Immediate Delivery`, `Next Day Delivery`, `Same Day Delivery`, `Instant Delivery`})
2973
- validationutils.UnusedFunction(enumList)
2974
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.category.id", true)
2975
- validationutils.UnusedFunction(enumPath)
2976
-
2977
- skipCheck := !(validationutils.ArePresent(enumPath))
2978
- if skipCheck {
2979
- continue
2980
- }
2981
-
2982
- validate := validationutils.AllIn(enumPath, enumList)
2983
-
2984
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_ID","enumList":["Express Delivery","Standard Delivery","Immediate Delivery","Next Day Delivery","Same Day Delivery","Instant Delivery"],"enumPath":"$.message.intent.category.id","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
2985
-
2986
- if !validate {
2987
- result := validationutils.ValidationOutput{
2988
- TestName: "VALID_ENUM_MESSAGE_ID",
2989
- Valid: false,
2990
- Code: 30000,
2991
- Description: `#### **VALID_ENUM_MESSAGE_ID**
2992
-
2993
- - All elements of $.message.intent.category.id must be in ["Express Delivery", "Standard Delivery", "Immediate Delivery", "Next Day Delivery", "Same Day Delivery", "Instant Delivery"]
2994
-
2995
- > **Skip if:**
2996
- >
2997
- > - $.message.intent.category.id is not in the payload`,
2998
- DebugInfo: &validationutils.DebugInfo{
2999
- FedConfig: configureDebugInfo,
3000
- },
3001
- }
3002
- return []validationutils.ValidationOutput{result}, nil
3003
- }
3004
-
3005
- }
3006
-
3007
- result := validationutils.ValidationOutput{
3008
- TestName: "VALID_ENUM_MESSAGE_ID",
3009
- Valid: valid,
3010
- Code: 0,
3011
- DebugInfo: &validationutils.DebugInfo{
3012
- FedConfig: configureDebugInfo,
3013
- },
3014
- }
3015
-
3016
- if valid {
3017
- result.Code = 200
3018
- } else {
3019
- result.Code = 30000
3020
- }
3021
-
3022
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3023
- results = append(results, result)
3024
- results = append(results, subResults...)
3025
-
3026
- return results, nil
3027
- }
3028
- var Validate_tag_0 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3029
-
3030
- if input.Config.SkipTestsDict != nil {
3031
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0"]; skip {
3032
- return []validationutils.ValidationOutput{}, nil
3033
- }
3034
- }
3035
-
3036
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
3037
-
3038
- subResults := make([]validationutils.ValidationOutput, 0)
3039
- valid := true
3040
- configureDebugInfo := ""
3041
- for _, testObjMap := range scope {
3042
- validationutils.UnusedFunction(testObjMap)
3043
-
3044
- validTags := validationutils.StringSliceToInterface([]string{`linked_provider`, `linked_order`, `fulfill_request`, `special_req`, `linked_package`})
3045
- validationutils.UnusedFunction(validTags)
3046
- tagPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.fulfillment.tags[*].code", true)
3047
- validationutils.UnusedFunction(tagPath)
3048
-
3049
- skipCheck := !(validationutils.ArePresent(tagPath))
3050
- if skipCheck {
3051
- continue
3052
- }
3053
-
3054
- validate := validationutils.AllIn(tagPath, validTags)
3055
-
3056
- configureDebugInfo = `{"_NAME_":"validate_tag_0","validTags":["linked_provider","linked_order","fulfill_request","special_req","linked_package"],"tagPath":"$.message.intent.fulfillment.tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
3057
-
3058
- if !validate {
3059
- result := validationutils.ValidationOutput{
3060
- TestName: "validate_tag_0",
3061
- Valid: false,
3062
- Code: 30000,
3063
- Description: `#### **validate_tag_0**
3064
-
3065
- - All elements of $.message.intent.fulfillment.tags[*].code must be in ["linked_provider", "linked_order", "fulfill_request", "special_req", "linked_package"]
3066
-
3067
- > **Skip if:**
3068
- >
3069
- > - $.message.intent.fulfillment.tags[*].code is not in the payload`,
3070
- DebugInfo: &validationutils.DebugInfo{
3071
- FedConfig: configureDebugInfo,
3072
- },
3073
- }
3074
- return []validationutils.ValidationOutput{result}, nil
3075
- }
3076
-
3077
- }
3078
-
3079
- result := validationutils.ValidationOutput{
3080
- TestName: "Validate_tag_0",
3081
- Valid: valid,
3082
- Code: 0,
3083
- DebugInfo: &validationutils.DebugInfo{
3084
- FedConfig: configureDebugInfo,
3085
- },
3086
- }
3087
-
3088
- if valid {
3089
- result.Code = 200
3090
- } else {
3091
- result.Code = 30000
3092
- }
3093
-
3094
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3095
- results = append(results, result)
3096
- results = append(results, subResults...)
3097
-
3098
- return results, nil
3099
- }
3100
- var Validate_tag_0_linked_provider = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3101
-
3102
- if input.Config.SkipTestsDict != nil {
3103
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_linked_provider"]; skip {
3104
- return []validationutils.ValidationOutput{}, nil
3105
- }
3106
- }
3107
-
3108
- scope := validationutils.GetJsonPath(input.Payload, "$.message.intent.fulfillment.tags[?(@.code=='linked_provider')]", true)
3109
-
3110
- subResults := make([]validationutils.ValidationOutput, 0)
3111
- valid := true
3112
- configureDebugInfo := ""
3113
- for _, testObjMap := range scope {
3114
- validationutils.UnusedFunction(testObjMap)
3115
-
3116
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
3117
- validationutils.UnusedFunction(subTags)
3118
- validValues := validationutils.StringSliceToInterface([]string{`id`, `name`})
3119
- validationutils.UnusedFunction(validValues)
3120
-
3121
- validate := validationutils.AllIn(subTags, validValues)
3122
-
3123
- configureDebugInfo = `{"_NAME_":"validate_tag_0_linked_provider","_SCOPE_":"$.message.intent.fulfillment.tags[?(@.code=='linked_provider')]","subTags":"$.list[*].code","validValues":["id","name"],"_RETURN_":"subTags all in validValues"}`
3124
-
3125
- if !validate {
3126
- result := validationutils.ValidationOutput{
3127
- TestName: "validate_tag_0_linked_provider",
3128
- Valid: false,
3129
- Code: 30000,
3130
- Description: `#### **validate_tag_0_linked_provider**
3131
-
3132
- - All elements of $.message.intent.fulfillment.tags[?(@.code=='linked_provider')].list[*].code must be in ["id", "name"]`,
3133
- DebugInfo: &validationutils.DebugInfo{
3134
- FedConfig: configureDebugInfo,
3135
- },
3136
- }
3137
- return []validationutils.ValidationOutput{result}, nil
3138
- }
3139
-
3140
- }
3141
-
3142
- result := validationutils.ValidationOutput{
3143
- TestName: "Validate_tag_0_linked_provider",
3144
- Valid: valid,
3145
- Code: 0,
3146
- DebugInfo: &validationutils.DebugInfo{
3147
- FedConfig: configureDebugInfo,
3148
- },
3149
- }
3150
-
3151
- if valid {
3152
- result.Code = 200
3153
- } else {
3154
- result.Code = 30000
3155
- }
3156
-
3157
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3158
- results = append(results, result)
3159
- results = append(results, subResults...)
3160
-
3161
- return results, nil
3162
- }
3163
- var Validate_tag_0_linked_order = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3164
-
3165
- if input.Config.SkipTestsDict != nil {
3166
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_linked_order"]; skip {
3167
- return []validationutils.ValidationOutput{}, nil
3168
- }
3169
- }
3170
-
3171
- scope := validationutils.GetJsonPath(input.Payload, "$.message.intent.fulfillment.tags[?(@.code=='linked_order')]", true)
3172
-
3173
- subResults := make([]validationutils.ValidationOutput, 0)
3174
- valid := true
3175
- configureDebugInfo := ""
3176
- for _, testObjMap := range scope {
3177
- validationutils.UnusedFunction(testObjMap)
3178
-
3179
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
3180
- validationutils.UnusedFunction(subTags)
3181
- validValues := validationutils.StringSliceToInterface([]string{`cod_order`, `collection_amount`, `currency`, `declared_value`, `category`, `weight_unit`, `weight_value`, `dim_unit`, `length`, `breadth`, `height`})
3182
- validationutils.UnusedFunction(validValues)
3183
-
3184
- validate := validationutils.AllIn(subTags, validValues)
3185
-
3186
- configureDebugInfo = `{"_NAME_":"validate_tag_0_linked_order","_SCOPE_":"$.message.intent.fulfillment.tags[?(@.code=='linked_order')]","subTags":"$.list[*].code","validValues":["cod_order","collection_amount","currency","declared_value","category","weight_unit","weight_value","dim_unit","length","breadth","height"],"_RETURN_":"subTags all in validValues"}`
3187
-
3188
- if !validate {
3189
- result := validationutils.ValidationOutput{
3190
- TestName: "validate_tag_0_linked_order",
3191
- Valid: false,
3192
- Code: 30000,
3193
- Description: `#### **validate_tag_0_linked_order**
3194
-
3195
- - All elements of $.message.intent.fulfillment.tags[?(@.code=='linked_order')].list[*].code must be in ["cod_order", "collection_amount", "currency", "declared_value", "category", "weight_unit", "weight_value", "dim_unit", "length", "breadth", "height"]`,
3196
- DebugInfo: &validationutils.DebugInfo{
3197
- FedConfig: configureDebugInfo,
3198
- },
3199
- }
3200
- return []validationutils.ValidationOutput{result}, nil
3201
- }
3202
-
3203
- }
3204
-
3205
- result := validationutils.ValidationOutput{
3206
- TestName: "Validate_tag_0_linked_order",
3207
- Valid: valid,
3208
- Code: 0,
3209
- DebugInfo: &validationutils.DebugInfo{
3210
- FedConfig: configureDebugInfo,
3211
- },
3212
- }
3213
-
3214
- if valid {
3215
- result.Code = 200
3216
- } else {
3217
- result.Code = 30000
3218
- }
3219
-
3220
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3221
- results = append(results, result)
3222
- results = append(results, subResults...)
3223
-
3224
- return results, nil
3225
- }
3226
- var Validate_tag_0_fulfill_request = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3227
-
3228
- if input.Config.SkipTestsDict != nil {
3229
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_fulfill_request"]; skip {
3230
- return []validationutils.ValidationOutput{}, nil
3231
- }
3232
- }
3233
-
3234
- scope := validationutils.GetJsonPath(input.Payload, "$.message.intent.fulfillment.tags[?(@.code=='fulfill_request')]", true)
3235
-
3236
- subResults := make([]validationutils.ValidationOutput, 0)
3237
- valid := true
3238
- configureDebugInfo := ""
3239
- for _, testObjMap := range scope {
3240
- validationutils.UnusedFunction(testObjMap)
3241
-
3242
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
3243
- validationutils.UnusedFunction(subTags)
3244
- validValues := validationutils.StringSliceToInterface([]string{`rider_count`, `order_count`, `rate_basis`, `motorable_distance`, `pickup_slot_start`, `pickup_slot_end`, `delivery_slot_start`, `delivery_slot_end`})
3245
- validationutils.UnusedFunction(validValues)
3246
-
3247
- validate := validationutils.AllIn(subTags, validValues)
3248
-
3249
- configureDebugInfo = `{"_NAME_":"validate_tag_0_fulfill_request","_SCOPE_":"$.message.intent.fulfillment.tags[?(@.code=='fulfill_request')]","subTags":"$.list[*].code","validValues":["rider_count","order_count","rate_basis","motorable_distance","pickup_slot_start","pickup_slot_end","delivery_slot_start","delivery_slot_end"],"_RETURN_":"subTags all in validValues"}`
3250
-
3251
- if !validate {
3252
- result := validationutils.ValidationOutput{
3253
- TestName: "validate_tag_0_fulfill_request",
3254
- Valid: false,
3255
- Code: 30000,
3256
- Description: `#### **validate_tag_0_fulfill_request**
3257
-
3258
- - All elements of $.message.intent.fulfillment.tags[?(@.code=='fulfill_request')].list[*].code must be in ["rider_count", "order_count", "rate_basis", "motorable_distance", "pickup_slot_start", "pickup_slot_end", "delivery_slot_start", "delivery_slot_end"]`,
3259
- DebugInfo: &validationutils.DebugInfo{
3260
- FedConfig: configureDebugInfo,
3261
- },
3262
- }
3263
- return []validationutils.ValidationOutput{result}, nil
3264
- }
3265
-
3266
- }
3267
-
3268
- result := validationutils.ValidationOutput{
3269
- TestName: "Validate_tag_0_fulfill_request",
3270
- Valid: valid,
3271
- Code: 0,
3272
- DebugInfo: &validationutils.DebugInfo{
3273
- FedConfig: configureDebugInfo,
3274
- },
3275
- }
3276
-
3277
- if valid {
3278
- result.Code = 200
3279
- } else {
3280
- result.Code = 30000
3281
- }
3282
-
3283
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3284
- results = append(results, result)
3285
- results = append(results, subResults...)
3286
-
3287
- return results, nil
3288
- }
3289
- var Validate_tag_1 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3290
-
3291
- if input.Config.SkipTestsDict != nil {
3292
- if _, skip := input.Config.SkipTestsDict["Validate_tag_1"]; skip {
3293
- return []validationutils.ValidationOutput{}, nil
3294
- }
3295
- }
3296
-
3297
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
3298
-
3299
- subResults := make([]validationutils.ValidationOutput, 0)
3300
- valid := true
3301
- configureDebugInfo := ""
3302
- for _, testObjMap := range scope {
3303
- validationutils.UnusedFunction(testObjMap)
3304
-
3305
- validTags := validationutils.StringSliceToInterface([]string{`lbnp_features`, `lbnp_sla_terms`})
3306
- validationutils.UnusedFunction(validTags)
3307
- tagPath := validationutils.GetJsonPath(testObjMap, "$.message.intent.tags[*].code", true)
3308
- validationutils.UnusedFunction(tagPath)
3309
-
3310
- skipCheck := !(validationutils.ArePresent(tagPath))
3311
- if skipCheck {
3312
- continue
3313
- }
3314
-
3315
- validate := validationutils.AllIn(tagPath, validTags)
3316
-
3317
- configureDebugInfo = `{"_NAME_":"validate_tag_1","validTags":["lbnp_features","lbnp_sla_terms"],"tagPath":"$.message.intent.tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
3318
-
3319
- if !validate {
3320
- result := validationutils.ValidationOutput{
3321
- TestName: "validate_tag_1",
3322
- Valid: false,
3323
- Code: 30000,
3324
- Description: `#### **validate_tag_1**
3325
-
3326
- - All elements of $.message.intent.tags[*].code must be in ["lbnp_features", "lbnp_sla_terms"]
3327
-
3328
- > **Skip if:**
3329
- >
3330
- > - $.message.intent.tags[*].code is not in the payload`,
3331
- DebugInfo: &validationutils.DebugInfo{
3332
- FedConfig: configureDebugInfo,
3333
- },
3334
- }
3335
- return []validationutils.ValidationOutput{result}, nil
3336
- }
3337
-
3338
- }
3339
-
3340
- result := validationutils.ValidationOutput{
3341
- TestName: "Validate_tag_1",
3342
- Valid: valid,
3343
- Code: 0,
3344
- DebugInfo: &validationutils.DebugInfo{
3345
- FedConfig: configureDebugInfo,
3346
- },
3347
- }
3348
-
3349
- if valid {
3350
- result.Code = 200
3351
- } else {
3352
- result.Code = 30000
3353
- }
3354
-
3355
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3356
- results = append(results, result)
3357
- results = append(results, subResults...)
3358
-
3359
- return results, nil
3360
- }
3361
- var Validate_tag_1_lbnp_features = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3362
-
3363
- if input.Config.SkipTestsDict != nil {
3364
- if _, skip := input.Config.SkipTestsDict["Validate_tag_1_lbnp_features"]; skip {
3365
- return []validationutils.ValidationOutput{}, nil
3366
- }
3367
- }
3368
-
3369
- scope := validationutils.GetJsonPath(input.Payload, "$.message.intent.tags[?(@.code=='lbnp_features')]", true)
3370
-
3371
- subResults := make([]validationutils.ValidationOutput, 0)
3372
- valid := true
3373
- configureDebugInfo := ""
3374
- for _, testObjMap := range scope {
3375
- validationutils.UnusedFunction(testObjMap)
3376
-
3377
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
3378
- validationutils.UnusedFunction(subTags)
3379
- validValues := validationutils.StringSliceToInterface([]string{`00B`, `00E`, `01D`, `005`, `009`, `00C`, `000`, `001`, `002`, `003`, `004`, `006`, `007`, `008`, `00A`, `00D`, `00F`, `010`, `011`, `012`, `013`, `014`, `015`, `016`, `017`, `018`, `019`, `01A`, `01B`, `01C`, `01D`, `01E`, `01F`, `020`, `021`, `022`})
3380
- validationutils.UnusedFunction(validValues)
3381
-
3382
- validate := validationutils.AllIn(subTags, validValues)
3383
-
3384
- configureDebugInfo = `{"_NAME_":"validate_tag_1_lbnp_features","_SCOPE_":"$.message.intent.tags[?(@.code=='lbnp_features')]","subTags":"$.list[*].code","validValues":["00B","00E","01D","005","009","00C","000","001","002","003","004","006","007","008","00A","00D","00F","010","011","012","013","014","015","016","017","018","019","01A","01B","01C","01D","01E","01F","020","021","022"],"_RETURN_":"subTags all in validValues"}`
3385
-
3386
- if !validate {
3387
- result := validationutils.ValidationOutput{
3388
- TestName: "validate_tag_1_lbnp_features",
3389
- Valid: false,
3390
- Code: 30000,
3391
- Description: `#### **validate_tag_1_lbnp_features**
3392
-
3393
- - All elements of $.message.intent.tags[?(@.code=='lbnp_features')].list[*].code must be in ["00B", "00E", "01D", "005", "009", "00C", "000", "001", "002", "003", "004", "006", "007", "008", "00A", "00D", "00F", "010", "011", "012", "013", "014", "015", "016", "017", "018", "019", "01A", "01B", "01C", "01D", "01E", "01F", "020", "021", "022"]`,
3394
- DebugInfo: &validationutils.DebugInfo{
3395
- FedConfig: configureDebugInfo,
3396
- },
3397
- }
3398
- return []validationutils.ValidationOutput{result}, nil
3399
- }
3400
-
3401
- }
3402
-
3403
- result := validationutils.ValidationOutput{
3404
- TestName: "Validate_tag_1_lbnp_features",
3405
- Valid: valid,
3406
- Code: 0,
3407
- DebugInfo: &validationutils.DebugInfo{
3408
- FedConfig: configureDebugInfo,
3409
- },
3410
- }
3411
-
3412
- if valid {
3413
- result.Code = 200
3414
- } else {
3415
- result.Code = 30000
3416
- }
3417
-
3418
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3419
- results = append(results, result)
3420
- results = append(results, subResults...)
3421
-
3422
- return results, nil
3423
- }
3424
- var Validate_tag_1_lbnp_sla_terms = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3425
-
3426
- if input.Config.SkipTestsDict != nil {
3427
- if _, skip := input.Config.SkipTestsDict["Validate_tag_1_lbnp_sla_terms"]; skip {
3428
- return []validationutils.ValidationOutput{}, nil
3429
- }
3430
- }
3431
-
3432
- scope := validationutils.GetJsonPath(input.Payload, "$.message.intent.tags[?(@.code=='lbnp_sla_terms')]", true)
3433
-
3434
- subResults := make([]validationutils.ValidationOutput, 0)
3435
- valid := true
3436
- configureDebugInfo := ""
3437
- for _, testObjMap := range scope {
3438
- validationutils.UnusedFunction(testObjMap)
3439
-
3440
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
3441
- validationutils.UnusedFunction(subTags)
3442
- validValues := validationutils.StringSliceToInterface([]string{`metric`, `base_unit`, `base_min`, `base_max`, `penalty_min`, `penalty_max`, `penalty_unit`, `penalty_value`})
3443
- validationutils.UnusedFunction(validValues)
3444
-
3445
- validate := validationutils.AllIn(subTags, validValues)
3446
-
3447
- configureDebugInfo = `{"_NAME_":"validate_tag_1_lbnp_sla_terms","_SCOPE_":"$.message.intent.tags[?(@.code=='lbnp_sla_terms')]","subTags":"$.list[*].code","validValues":["metric","base_unit","base_min","base_max","penalty_min","penalty_max","penalty_unit","penalty_value"],"_RETURN_":"subTags all in validValues"}`
3448
-
3449
- if !validate {
3450
- result := validationutils.ValidationOutput{
3451
- TestName: "validate_tag_1_lbnp_sla_terms",
3452
- Valid: false,
3453
- Code: 30000,
3454
- Description: `#### **validate_tag_1_lbnp_sla_terms**
3455
-
3456
- - All elements of $.message.intent.tags[?(@.code=='lbnp_sla_terms')].list[*].code must be in ["metric", "base_unit", "base_min", "base_max", "penalty_min", "penalty_max", "penalty_unit", "penalty_value"]`,
3457
- DebugInfo: &validationutils.DebugInfo{
3458
- FedConfig: configureDebugInfo,
3459
- },
3460
- }
3461
- return []validationutils.ValidationOutput{result}, nil
3462
- }
3463
-
3464
- }
3465
-
3466
- result := validationutils.ValidationOutput{
3467
- TestName: "Validate_tag_1_lbnp_sla_terms",
3468
- Valid: valid,
3469
- Code: 0,
3470
- DebugInfo: &validationutils.DebugInfo{
3471
- FedConfig: configureDebugInfo,
3472
- },
3473
- }
3474
-
3475
- if valid {
3476
- result.Code = 200
3477
- } else {
3478
- result.Code = 30000
3479
- }
3480
-
3481
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3482
- results = append(results, result)
3483
- results = append(results, subResults...)
3484
-
3485
- return results, nil
3486
- }
3487
-
3488
- var testFunctions = validationutils.TestFunctionArray{
3489
- REQUIRED_CONTEXT_DOMAIN,
3490
- REQUIRED_CONTEXT_COUNTRY,
3491
- REQUIRED_CONTEXT_CITY,
3492
- REQUIRED_CONTEXT_ACTION,
3493
- REQUIRED_CONTEXT_CORE_VERSION,
3494
- REQUIRED_CONTEXT_BAP_ID,
3495
- REQUIRED_CONTEXT_BAP_URI,
3496
- REQUIRED_CONTEXT_TRANSACTION_ID,
3497
- REQUIRED_CONTEXT_MESSAGE_ID,
3498
- REQUIRED_CONTEXT_TIMESTAMP,
3499
- REQUIRED_CONTEXT_TTL,
3500
- REQUIRED_MESSAGE_ID,
3501
- REQUIRED_MESSAGE_DAYS,
3502
- REQUIRED_MESSAGE_HOLIDAYS,
3503
- REQUIRED_MESSAGE_DURATION,
3504
- REQUIRED_MESSAGE_START,
3505
- REQUIRED_MESSAGE_END,
3506
- REQUIRED_MESSAGE_TYPE,
3507
- REQUIRED_MESSAGE_GPS,
3508
- REQUIRED_MESSAGE_AREA_CODE,
3509
- REQUIRED_MESSAGE_GPS_21,
3510
- REQUIRED_MESSAGE_AREA_CODE_22,
3511
- REQUIRED_MESSAGE_TYPE_23,
3512
- REQUIRED_MESSAGE_UNIT,
3513
- REQUIRED_MESSAGE_VALUE,
3514
- REQUIRED_MESSAGE_UNIT_26,
3515
- REQUIRED_MESSAGE_VALUE_27,
3516
- REQUIRED_MESSAGE_UNIT_28,
3517
- REQUIRED_MESSAGE_VALUE_29,
3518
- REQUIRED_MESSAGE_UNIT_30,
3519
- REQUIRED_MESSAGE_VALUE_31,
3520
- REQUIRED_MESSAGE_CATEGORY,
3521
- REQUIRED_MESSAGE_CURRENCY,
3522
- REQUIRED_MESSAGE_VALUE_34,
3523
- REQUIRED_MESSAGE_DANGEROUS_GOODS,
3524
- VALID_ENUM_CONTEXT_DOMAIN,
3525
- VALID_ENUM_MESSAGE_TYPE,
3526
- VALID_ENUM_MESSAGE_TYPE_3,
3527
- VALID_ENUM_MESSAGE_CODE,
3528
- VALID_ENUM_MESSAGE_TYPE_5,
3529
- VALID_ENUM_MESSAGE_CODE_6,
3530
- VALID_ENUM_MESSAGE_TYPE_7,
3531
- VALID_ENUM_MESSAGE_ID,
3532
- Validate_tag_0,
3533
- Validate_tag_0_linked_provider,
3534
- Validate_tag_0_linked_order,
3535
- Validate_tag_0_fulfill_request,
3536
- Validate_tag_1,
3537
- Validate_tag_1_lbnp_features,
3538
- Validate_tag_1_lbnp_sla_terms,
3539
- }
3540
-
3541
- allResults := make([]validationutils.ValidationOutput, 0)
3542
-
3543
- for _, testFunc := range testFunctions {
3544
- results, err := testFunc(input)
3545
- if err != nil {
3546
- return nil, err
3547
- }
3548
- allResults = append(allResults, results...)
3549
- }
3550
-
3551
- subResults = allResults
3552
- // if all subResults are valid, then valid is true
3553
- valid = true
3554
- for _, res := range subResults {
3555
- if !res.Valid {
3556
- valid = false
3557
- break
3558
- }
3559
- }
3560
-
3561
- configureDebugInfo = `NESTED_TEST_OBJECT`
3562
-
3563
- }
3564
-
3565
- result := validationutils.ValidationOutput{
3566
- TestName: "SearchValidations",
3567
- Valid: valid,
3568
- Code: 0,
3569
- DebugInfo: &validationutils.DebugInfo{
3570
- FedConfig: configureDebugInfo,
3571
- },
3572
- }
3573
-
3574
- if valid {
3575
- result.Code = 200
3576
- } else {
3577
- result.Code = 30000
3578
- }
3579
-
3580
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3581
- results = append(results, result)
3582
- results = append(results, subResults...)
3583
-
3584
- return results, nil
3585
- }