ondc-code-generator 0.8.7 → 0.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +1 -1
  2. package/alpha/docs/page/index.html +6137 -0
  3. package/alpha/docs/page/style.css +204 -0
  4. package/alpha/docs/readme.md +5939 -0
  5. package/alpha/docs/validPaths.json +14351 -0
  6. package/alpha/page/index.html +6137 -0
  7. package/alpha/page/style.css +204 -0
  8. package/alpha/readme.md +5939 -0
  9. package/alpha/validPaths.json +11393 -34240
  10. package/alpha/validationpkg/examples/search.json +143 -0
  11. package/alpha/validationpkg/examples_output/search/case-001/output.json +12 -0
  12. package/alpha/validationpkg/go.mod +8 -0
  13. package/alpha/validationpkg/go.sum +4 -0
  14. package/alpha/validationpkg/jsonvalidations/cancel.go +1289 -0
  15. package/alpha/validationpkg/jsonvalidations/confirm.go +9121 -0
  16. package/alpha/validationpkg/jsonvalidations/init.go +4864 -0
  17. package/alpha/validationpkg/jsonvalidations/issue.go +4868 -0
  18. package/alpha/validationpkg/jsonvalidations/on_cancel.go +7111 -0
  19. package/alpha/validationpkg/jsonvalidations/on_confirm.go +8903 -0
  20. package/alpha/validationpkg/jsonvalidations/on_init.go +4445 -0
  21. package/alpha/validationpkg/jsonvalidations/on_issue.go +2828 -0
  22. package/alpha/validationpkg/jsonvalidations/on_issue_status.go +1938 -0
  23. package/alpha/validationpkg/jsonvalidations/on_search.go +3356 -0
  24. package/alpha/validationpkg/jsonvalidations/on_status.go +8129 -0
  25. package/alpha/validationpkg/jsonvalidations/on_track.go +1415 -0
  26. package/alpha/validationpkg/jsonvalidations/on_update.go +8700 -0
  27. package/alpha/validationpkg/jsonvalidations/search.go +3585 -0
  28. package/alpha/validationpkg/jsonvalidations/status.go +1073 -0
  29. package/alpha/validationpkg/jsonvalidations/track.go +1073 -0
  30. package/alpha/validationpkg/jsonvalidations/update.go +3012 -0
  31. package/alpha/validationpkg/main-validator.go +196 -0
  32. package/alpha/validationpkg/main-validator_test.go +165 -0
  33. package/alpha/validationpkg/storageutils/api_save_utils.go +83 -0
  34. package/alpha/validationpkg/storageutils/cancel.go +30 -0
  35. package/alpha/validationpkg/storageutils/confirm.go +30 -0
  36. package/alpha/validationpkg/storageutils/index.go +132 -0
  37. package/alpha/validationpkg/storageutils/init.go +30 -0
  38. package/alpha/validationpkg/storageutils/issue.go +30 -0
  39. package/alpha/validationpkg/storageutils/on_cancel.go +30 -0
  40. package/alpha/validationpkg/storageutils/on_confirm.go +30 -0
  41. package/alpha/validationpkg/storageutils/on_init.go +30 -0
  42. package/alpha/validationpkg/storageutils/on_issue.go +30 -0
  43. package/alpha/validationpkg/storageutils/on_issue_status.go +30 -0
  44. package/alpha/validationpkg/storageutils/on_search.go +30 -0
  45. package/alpha/validationpkg/storageutils/on_status.go +30 -0
  46. package/alpha/validationpkg/storageutils/on_track.go +30 -0
  47. package/alpha/validationpkg/storageutils/on_update.go +30 -0
  48. package/alpha/validationpkg/storageutils/save_utils.go +75 -0
  49. package/alpha/validationpkg/storageutils/search.go +30 -0
  50. package/alpha/validationpkg/storageutils/status.go +30 -0
  51. package/alpha/validationpkg/storageutils/track.go +30 -0
  52. package/alpha/validationpkg/storageutils/update.go +30 -0
  53. package/alpha/validationpkg/validationutils/json_normalizer.go +152 -0
  54. package/alpha/validationpkg/validationutils/json_path_utils.go +173 -0
  55. package/alpha/validationpkg/validationutils/storage-interface.go +107 -0
  56. package/alpha/validationpkg/validationutils/test-config.go +69 -0
  57. package/alpha/validationpkg/validationutils/validation_utils.go +429 -0
  58. package/dist/bin/cli.js +6 -2
  59. package/dist/generator/config-compiler.d.ts +2 -2
  60. package/dist/generator/config-compiler.js +10 -4
  61. package/dist/generator/generators/classes/abstract-generator.d.ts +1 -0
  62. package/dist/generator/generators/go/go-generator.js +34 -17
  63. package/dist/generator/generators/go/templates/api-tests.mustache +1 -1
  64. package/dist/generator/generators/go/templates/go-mod.mustache +1 -1
  65. package/dist/generator/generators/go/templates/index.mustache +1 -1
  66. package/dist/generator/generators/go/templates/storage-templates/api-save-utils.mustache +1 -1
  67. package/dist/generator/generators/go/templates/storage-templates/api-save.mustache +1 -1
  68. package/dist/generator/generators/go/templates/storage-templates/index.mustache +1 -1
  69. package/dist/generator/generators/go/templates/storage-templates/save-utils.mustache +1 -1
  70. package/dist/generator/generators/go/templates/test-templates/validator-test.mustache +6 -6
  71. package/dist/types/compiler-types.d.ts +2 -1
  72. package/dist/types/compiler-types.js +1 -0
  73. package/docs/jval-dsl.md +913 -0
  74. package/package.json +1 -1
  75. package/alpha/possible-json-paths.json +0 -248
@@ -0,0 +1,4864 @@
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 Init_Tests(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
10
+ totalResults, err := InitValidations(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 == "InitValidations" {
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 InitValidations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
65
+
66
+ if input.Config.SkipTestsDict != nil {
67
+ if _, skip := input.Config.SkipTestsDict["InitValidations"]; skip {
68
+ return []validationutils.ValidationOutput{}, nil
69
+ }
70
+ }
71
+
72
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
73
+
74
+ subResults := make([]validationutils.ValidationOutput, 0)
75
+ valid := true
76
+ configureDebugInfo := ""
77
+ for _, testObjMap := range scope {
78
+ validationutils.UnusedFunction(testObjMap)
79
+
80
+ var REQUIRED_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
81
+
82
+ if input.Config.SkipTestsDict != nil {
83
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_DOMAIN"]; skip {
84
+ return []validationutils.ValidationOutput{}, nil
85
+ }
86
+ }
87
+
88
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
89
+
90
+ subResults := make([]validationutils.ValidationOutput, 0)
91
+ valid := true
92
+ configureDebugInfo := ""
93
+ for _, testObjMap := range scope {
94
+ validationutils.UnusedFunction(testObjMap)
95
+
96
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
97
+ validationutils.UnusedFunction(attr)
98
+ enumList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`, `ONDC:LOG11`, `nic2004:60232`})
99
+ validationutils.UnusedFunction(enumList)
100
+
101
+ validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
102
+
103
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_DOMAIN","attr":"$.context.domain","_RETURN_":"attr are present && attr all in enumList","enumList":["ONDC:LOG10","ONDC:LOG11","nic2004:60232"]}`
104
+
105
+ if !validate {
106
+ result := validationutils.ValidationOutput{
107
+ TestName: "REQUIRED_CONTEXT_DOMAIN",
108
+ Valid: false,
109
+ Code: 30000,
110
+ Description: `#### **REQUIRED_CONTEXT_DOMAIN**
111
+
112
+ **All of the following must be true:**
113
+ - $.context.domain must be present in the payload
114
+ - All elements of $.context.domain must be in ["ONDC:LOG10", "ONDC:LOG11", "nic2004:60232"]`,
115
+ DebugInfo: &validationutils.DebugInfo{
116
+ FedConfig: configureDebugInfo,
117
+ },
118
+ }
119
+ return []validationutils.ValidationOutput{result}, nil
120
+ }
121
+
122
+ }
123
+
124
+ result := validationutils.ValidationOutput{
125
+ TestName: "REQUIRED_CONTEXT_DOMAIN",
126
+ Valid: valid,
127
+ Code: 0,
128
+ DebugInfo: &validationutils.DebugInfo{
129
+ FedConfig: configureDebugInfo,
130
+ },
131
+ }
132
+
133
+ if valid {
134
+ result.Code = 200
135
+ } else {
136
+ result.Code = 30000
137
+ }
138
+
139
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
140
+ results = append(results, result)
141
+ results = append(results, subResults...)
142
+
143
+ return results, nil
144
+ }
145
+ var REQUIRED_CONTEXT_COUNTRY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
146
+
147
+ if input.Config.SkipTestsDict != nil {
148
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_COUNTRY"]; skip {
149
+ return []validationutils.ValidationOutput{}, nil
150
+ }
151
+ }
152
+
153
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
154
+
155
+ subResults := make([]validationutils.ValidationOutput, 0)
156
+ valid := true
157
+ configureDebugInfo := ""
158
+ for _, testObjMap := range scope {
159
+ validationutils.UnusedFunction(testObjMap)
160
+
161
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.country", true)
162
+ validationutils.UnusedFunction(attr)
163
+
164
+ validate := validationutils.ArePresent(attr)
165
+
166
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_COUNTRY","attr":"$.context.country","_RETURN_":"attr are present"}`
167
+
168
+ if !validate {
169
+ result := validationutils.ValidationOutput{
170
+ TestName: "REQUIRED_CONTEXT_COUNTRY",
171
+ Valid: false,
172
+ Code: 30000,
173
+ Description: `#### **REQUIRED_CONTEXT_COUNTRY**
174
+
175
+ - $.context.country must be present in the payload`,
176
+ DebugInfo: &validationutils.DebugInfo{
177
+ FedConfig: configureDebugInfo,
178
+ },
179
+ }
180
+ return []validationutils.ValidationOutput{result}, nil
181
+ }
182
+
183
+ }
184
+
185
+ result := validationutils.ValidationOutput{
186
+ TestName: "REQUIRED_CONTEXT_COUNTRY",
187
+ Valid: valid,
188
+ Code: 0,
189
+ DebugInfo: &validationutils.DebugInfo{
190
+ FedConfig: configureDebugInfo,
191
+ },
192
+ }
193
+
194
+ if valid {
195
+ result.Code = 200
196
+ } else {
197
+ result.Code = 30000
198
+ }
199
+
200
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
201
+ results = append(results, result)
202
+ results = append(results, subResults...)
203
+
204
+ return results, nil
205
+ }
206
+ var REQUIRED_CONTEXT_CITY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
207
+
208
+ if input.Config.SkipTestsDict != nil {
209
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_CITY"]; skip {
210
+ return []validationutils.ValidationOutput{}, nil
211
+ }
212
+ }
213
+
214
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
215
+
216
+ subResults := make([]validationutils.ValidationOutput, 0)
217
+ valid := true
218
+ configureDebugInfo := ""
219
+ for _, testObjMap := range scope {
220
+ validationutils.UnusedFunction(testObjMap)
221
+
222
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.city", true)
223
+ validationutils.UnusedFunction(attr)
224
+
225
+ validate := validationutils.ArePresent(attr)
226
+
227
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_CITY","attr":"$.context.city","_RETURN_":"attr are present"}`
228
+
229
+ if !validate {
230
+ result := validationutils.ValidationOutput{
231
+ TestName: "REQUIRED_CONTEXT_CITY",
232
+ Valid: false,
233
+ Code: 30000,
234
+ Description: `#### **REQUIRED_CONTEXT_CITY**
235
+
236
+ - $.context.city must be present in the payload`,
237
+ DebugInfo: &validationutils.DebugInfo{
238
+ FedConfig: configureDebugInfo,
239
+ },
240
+ }
241
+ return []validationutils.ValidationOutput{result}, nil
242
+ }
243
+
244
+ }
245
+
246
+ result := validationutils.ValidationOutput{
247
+ TestName: "REQUIRED_CONTEXT_CITY",
248
+ Valid: valid,
249
+ Code: 0,
250
+ DebugInfo: &validationutils.DebugInfo{
251
+ FedConfig: configureDebugInfo,
252
+ },
253
+ }
254
+
255
+ if valid {
256
+ result.Code = 200
257
+ } else {
258
+ result.Code = 30000
259
+ }
260
+
261
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
262
+ results = append(results, result)
263
+ results = append(results, subResults...)
264
+
265
+ return results, nil
266
+ }
267
+ var REQUIRED_CONTEXT_ACTION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
268
+
269
+ if input.Config.SkipTestsDict != nil {
270
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_ACTION"]; skip {
271
+ return []validationutils.ValidationOutput{}, nil
272
+ }
273
+ }
274
+
275
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
276
+
277
+ subResults := make([]validationutils.ValidationOutput, 0)
278
+ valid := true
279
+ configureDebugInfo := ""
280
+ for _, testObjMap := range scope {
281
+ validationutils.UnusedFunction(testObjMap)
282
+
283
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.action", true)
284
+ validationutils.UnusedFunction(attr)
285
+
286
+ validate := validationutils.ArePresent(attr)
287
+
288
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_ACTION","attr":"$.context.action","_RETURN_":"attr are present"}`
289
+
290
+ if !validate {
291
+ result := validationutils.ValidationOutput{
292
+ TestName: "REQUIRED_CONTEXT_ACTION",
293
+ Valid: false,
294
+ Code: 30000,
295
+ Description: `#### **REQUIRED_CONTEXT_ACTION**
296
+
297
+ - $.context.action must be present in the payload`,
298
+ DebugInfo: &validationutils.DebugInfo{
299
+ FedConfig: configureDebugInfo,
300
+ },
301
+ }
302
+ return []validationutils.ValidationOutput{result}, nil
303
+ }
304
+
305
+ }
306
+
307
+ result := validationutils.ValidationOutput{
308
+ TestName: "REQUIRED_CONTEXT_ACTION",
309
+ Valid: valid,
310
+ Code: 0,
311
+ DebugInfo: &validationutils.DebugInfo{
312
+ FedConfig: configureDebugInfo,
313
+ },
314
+ }
315
+
316
+ if valid {
317
+ result.Code = 200
318
+ } else {
319
+ result.Code = 30000
320
+ }
321
+
322
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
323
+ results = append(results, result)
324
+ results = append(results, subResults...)
325
+
326
+ return results, nil
327
+ }
328
+ var REQUIRED_CONTEXT_CORE_VERSION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
329
+
330
+ if input.Config.SkipTestsDict != nil {
331
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_CORE_VERSION"]; skip {
332
+ return []validationutils.ValidationOutput{}, nil
333
+ }
334
+ }
335
+
336
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
337
+
338
+ subResults := make([]validationutils.ValidationOutput, 0)
339
+ valid := true
340
+ configureDebugInfo := ""
341
+ for _, testObjMap := range scope {
342
+ validationutils.UnusedFunction(testObjMap)
343
+
344
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.core_version", true)
345
+ validationutils.UnusedFunction(attr)
346
+
347
+ validate := validationutils.ArePresent(attr)
348
+
349
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_CORE_VERSION","attr":"$.context.core_version","_RETURN_":"attr are present"}`
350
+
351
+ if !validate {
352
+ result := validationutils.ValidationOutput{
353
+ TestName: "REQUIRED_CONTEXT_CORE_VERSION",
354
+ Valid: false,
355
+ Code: 30000,
356
+ Description: `#### **REQUIRED_CONTEXT_CORE_VERSION**
357
+
358
+ - $.context.core_version must be present in the payload`,
359
+ DebugInfo: &validationutils.DebugInfo{
360
+ FedConfig: configureDebugInfo,
361
+ },
362
+ }
363
+ return []validationutils.ValidationOutput{result}, nil
364
+ }
365
+
366
+ }
367
+
368
+ result := validationutils.ValidationOutput{
369
+ TestName: "REQUIRED_CONTEXT_CORE_VERSION",
370
+ Valid: valid,
371
+ Code: 0,
372
+ DebugInfo: &validationutils.DebugInfo{
373
+ FedConfig: configureDebugInfo,
374
+ },
375
+ }
376
+
377
+ if valid {
378
+ result.Code = 200
379
+ } else {
380
+ result.Code = 30000
381
+ }
382
+
383
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
384
+ results = append(results, result)
385
+ results = append(results, subResults...)
386
+
387
+ return results, nil
388
+ }
389
+ var REQUIRED_CONTEXT_BAP_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
390
+
391
+ if input.Config.SkipTestsDict != nil {
392
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BAP_ID"]; skip {
393
+ return []validationutils.ValidationOutput{}, nil
394
+ }
395
+ }
396
+
397
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
398
+
399
+ subResults := make([]validationutils.ValidationOutput, 0)
400
+ valid := true
401
+ configureDebugInfo := ""
402
+ for _, testObjMap := range scope {
403
+ validationutils.UnusedFunction(testObjMap)
404
+
405
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.bap_id", true)
406
+ validationutils.UnusedFunction(attr)
407
+
408
+ validate := validationutils.ArePresent(attr)
409
+
410
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BAP_ID","attr":"$.context.bap_id","_RETURN_":"attr are present"}`
411
+
412
+ if !validate {
413
+ result := validationutils.ValidationOutput{
414
+ TestName: "REQUIRED_CONTEXT_BAP_ID",
415
+ Valid: false,
416
+ Code: 30000,
417
+ Description: `#### **REQUIRED_CONTEXT_BAP_ID**
418
+
419
+ - $.context.bap_id must be present in the payload`,
420
+ DebugInfo: &validationutils.DebugInfo{
421
+ FedConfig: configureDebugInfo,
422
+ },
423
+ }
424
+ return []validationutils.ValidationOutput{result}, nil
425
+ }
426
+
427
+ }
428
+
429
+ result := validationutils.ValidationOutput{
430
+ TestName: "REQUIRED_CONTEXT_BAP_ID",
431
+ Valid: valid,
432
+ Code: 0,
433
+ DebugInfo: &validationutils.DebugInfo{
434
+ FedConfig: configureDebugInfo,
435
+ },
436
+ }
437
+
438
+ if valid {
439
+ result.Code = 200
440
+ } else {
441
+ result.Code = 30000
442
+ }
443
+
444
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
445
+ results = append(results, result)
446
+ results = append(results, subResults...)
447
+
448
+ return results, nil
449
+ }
450
+ var REQUIRED_CONTEXT_BAP_URI = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
451
+
452
+ if input.Config.SkipTestsDict != nil {
453
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BAP_URI"]; skip {
454
+ return []validationutils.ValidationOutput{}, nil
455
+ }
456
+ }
457
+
458
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
459
+
460
+ subResults := make([]validationutils.ValidationOutput, 0)
461
+ valid := true
462
+ configureDebugInfo := ""
463
+ for _, testObjMap := range scope {
464
+ validationutils.UnusedFunction(testObjMap)
465
+
466
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.bap_uri", true)
467
+ validationutils.UnusedFunction(attr)
468
+
469
+ validate := validationutils.ArePresent(attr)
470
+
471
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BAP_URI","attr":"$.context.bap_uri","_RETURN_":"attr are present"}`
472
+
473
+ if !validate {
474
+ result := validationutils.ValidationOutput{
475
+ TestName: "REQUIRED_CONTEXT_BAP_URI",
476
+ Valid: false,
477
+ Code: 30000,
478
+ Description: `#### **REQUIRED_CONTEXT_BAP_URI**
479
+
480
+ - $.context.bap_uri must be present in the payload`,
481
+ DebugInfo: &validationutils.DebugInfo{
482
+ FedConfig: configureDebugInfo,
483
+ },
484
+ }
485
+ return []validationutils.ValidationOutput{result}, nil
486
+ }
487
+
488
+ }
489
+
490
+ result := validationutils.ValidationOutput{
491
+ TestName: "REQUIRED_CONTEXT_BAP_URI",
492
+ Valid: valid,
493
+ Code: 0,
494
+ DebugInfo: &validationutils.DebugInfo{
495
+ FedConfig: configureDebugInfo,
496
+ },
497
+ }
498
+
499
+ if valid {
500
+ result.Code = 200
501
+ } else {
502
+ result.Code = 30000
503
+ }
504
+
505
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
506
+ results = append(results, result)
507
+ results = append(results, subResults...)
508
+
509
+ return results, nil
510
+ }
511
+ var REQUIRED_CONTEXT_BPP_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
512
+
513
+ if input.Config.SkipTestsDict != nil {
514
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BPP_ID"]; skip {
515
+ return []validationutils.ValidationOutput{}, nil
516
+ }
517
+ }
518
+
519
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
520
+
521
+ subResults := make([]validationutils.ValidationOutput, 0)
522
+ valid := true
523
+ configureDebugInfo := ""
524
+ for _, testObjMap := range scope {
525
+ validationutils.UnusedFunction(testObjMap)
526
+
527
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.bpp_id", true)
528
+ validationutils.UnusedFunction(attr)
529
+
530
+ validate := validationutils.ArePresent(attr)
531
+
532
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BPP_ID","attr":"$.context.bpp_id","_RETURN_":"attr are present"}`
533
+
534
+ if !validate {
535
+ result := validationutils.ValidationOutput{
536
+ TestName: "REQUIRED_CONTEXT_BPP_ID",
537
+ Valid: false,
538
+ Code: 30000,
539
+ Description: `#### **REQUIRED_CONTEXT_BPP_ID**
540
+
541
+ - $.context.bpp_id must be present in the payload`,
542
+ DebugInfo: &validationutils.DebugInfo{
543
+ FedConfig: configureDebugInfo,
544
+ },
545
+ }
546
+ return []validationutils.ValidationOutput{result}, nil
547
+ }
548
+
549
+ }
550
+
551
+ result := validationutils.ValidationOutput{
552
+ TestName: "REQUIRED_CONTEXT_BPP_ID",
553
+ Valid: valid,
554
+ Code: 0,
555
+ DebugInfo: &validationutils.DebugInfo{
556
+ FedConfig: configureDebugInfo,
557
+ },
558
+ }
559
+
560
+ if valid {
561
+ result.Code = 200
562
+ } else {
563
+ result.Code = 30000
564
+ }
565
+
566
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
567
+ results = append(results, result)
568
+ results = append(results, subResults...)
569
+
570
+ return results, nil
571
+ }
572
+ var REQUIRED_CONTEXT_BPP_URI = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
573
+
574
+ if input.Config.SkipTestsDict != nil {
575
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BPP_URI"]; skip {
576
+ return []validationutils.ValidationOutput{}, nil
577
+ }
578
+ }
579
+
580
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
581
+
582
+ subResults := make([]validationutils.ValidationOutput, 0)
583
+ valid := true
584
+ configureDebugInfo := ""
585
+ for _, testObjMap := range scope {
586
+ validationutils.UnusedFunction(testObjMap)
587
+
588
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.bpp_uri", true)
589
+ validationutils.UnusedFunction(attr)
590
+
591
+ validate := validationutils.ArePresent(attr)
592
+
593
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BPP_URI","attr":"$.context.bpp_uri","_RETURN_":"attr are present"}`
594
+
595
+ if !validate {
596
+ result := validationutils.ValidationOutput{
597
+ TestName: "REQUIRED_CONTEXT_BPP_URI",
598
+ Valid: false,
599
+ Code: 30000,
600
+ Description: `#### **REQUIRED_CONTEXT_BPP_URI**
601
+
602
+ - $.context.bpp_uri must be present in the payload`,
603
+ DebugInfo: &validationutils.DebugInfo{
604
+ FedConfig: configureDebugInfo,
605
+ },
606
+ }
607
+ return []validationutils.ValidationOutput{result}, nil
608
+ }
609
+
610
+ }
611
+
612
+ result := validationutils.ValidationOutput{
613
+ TestName: "REQUIRED_CONTEXT_BPP_URI",
614
+ Valid: valid,
615
+ Code: 0,
616
+ DebugInfo: &validationutils.DebugInfo{
617
+ FedConfig: configureDebugInfo,
618
+ },
619
+ }
620
+
621
+ if valid {
622
+ result.Code = 200
623
+ } else {
624
+ result.Code = 30000
625
+ }
626
+
627
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
628
+ results = append(results, result)
629
+ results = append(results, subResults...)
630
+
631
+ return results, nil
632
+ }
633
+ var REQUIRED_CONTEXT_TRANSACTION_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
634
+
635
+ if input.Config.SkipTestsDict != nil {
636
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TRANSACTION_ID"]; skip {
637
+ return []validationutils.ValidationOutput{}, nil
638
+ }
639
+ }
640
+
641
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
642
+
643
+ subResults := make([]validationutils.ValidationOutput, 0)
644
+ valid := true
645
+ configureDebugInfo := ""
646
+ for _, testObjMap := range scope {
647
+ validationutils.UnusedFunction(testObjMap)
648
+
649
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.transaction_id", true)
650
+ validationutils.UnusedFunction(attr)
651
+
652
+ validate := validationutils.ArePresent(attr)
653
+
654
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TRANSACTION_ID","attr":"$.context.transaction_id","_RETURN_":"attr are present"}`
655
+
656
+ if !validate {
657
+ result := validationutils.ValidationOutput{
658
+ TestName: "REQUIRED_CONTEXT_TRANSACTION_ID",
659
+ Valid: false,
660
+ Code: 30000,
661
+ Description: `#### **REQUIRED_CONTEXT_TRANSACTION_ID**
662
+
663
+ - $.context.transaction_id must be present in the payload`,
664
+ DebugInfo: &validationutils.DebugInfo{
665
+ FedConfig: configureDebugInfo,
666
+ },
667
+ }
668
+ return []validationutils.ValidationOutput{result}, nil
669
+ }
670
+
671
+ }
672
+
673
+ result := validationutils.ValidationOutput{
674
+ TestName: "REQUIRED_CONTEXT_TRANSACTION_ID",
675
+ Valid: valid,
676
+ Code: 0,
677
+ DebugInfo: &validationutils.DebugInfo{
678
+ FedConfig: configureDebugInfo,
679
+ },
680
+ }
681
+
682
+ if valid {
683
+ result.Code = 200
684
+ } else {
685
+ result.Code = 30000
686
+ }
687
+
688
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
689
+ results = append(results, result)
690
+ results = append(results, subResults...)
691
+
692
+ return results, nil
693
+ }
694
+ var REQUIRED_CONTEXT_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
695
+
696
+ if input.Config.SkipTestsDict != nil {
697
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_MESSAGE_ID"]; skip {
698
+ return []validationutils.ValidationOutput{}, nil
699
+ }
700
+ }
701
+
702
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
703
+
704
+ subResults := make([]validationutils.ValidationOutput, 0)
705
+ valid := true
706
+ configureDebugInfo := ""
707
+ for _, testObjMap := range scope {
708
+ validationutils.UnusedFunction(testObjMap)
709
+
710
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.message_id", true)
711
+ validationutils.UnusedFunction(attr)
712
+
713
+ validate := validationutils.ArePresent(attr)
714
+
715
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_MESSAGE_ID","attr":"$.context.message_id","_RETURN_":"attr are present"}`
716
+
717
+ if !validate {
718
+ result := validationutils.ValidationOutput{
719
+ TestName: "REQUIRED_CONTEXT_MESSAGE_ID",
720
+ Valid: false,
721
+ Code: 30000,
722
+ Description: `#### **REQUIRED_CONTEXT_MESSAGE_ID**
723
+
724
+ - $.context.message_id must be present in the payload`,
725
+ DebugInfo: &validationutils.DebugInfo{
726
+ FedConfig: configureDebugInfo,
727
+ },
728
+ }
729
+ return []validationutils.ValidationOutput{result}, nil
730
+ }
731
+
732
+ }
733
+
734
+ result := validationutils.ValidationOutput{
735
+ TestName: "REQUIRED_CONTEXT_MESSAGE_ID",
736
+ Valid: valid,
737
+ Code: 0,
738
+ DebugInfo: &validationutils.DebugInfo{
739
+ FedConfig: configureDebugInfo,
740
+ },
741
+ }
742
+
743
+ if valid {
744
+ result.Code = 200
745
+ } else {
746
+ result.Code = 30000
747
+ }
748
+
749
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
750
+ results = append(results, result)
751
+ results = append(results, subResults...)
752
+
753
+ return results, nil
754
+ }
755
+ var REQUIRED_CONTEXT_TIMESTAMP = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
756
+
757
+ if input.Config.SkipTestsDict != nil {
758
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TIMESTAMP"]; skip {
759
+ return []validationutils.ValidationOutput{}, nil
760
+ }
761
+ }
762
+
763
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
764
+
765
+ subResults := make([]validationutils.ValidationOutput, 0)
766
+ valid := true
767
+ configureDebugInfo := ""
768
+ for _, testObjMap := range scope {
769
+ validationutils.UnusedFunction(testObjMap)
770
+
771
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.timestamp", true)
772
+ validationutils.UnusedFunction(attr)
773
+
774
+ validate := validationutils.ArePresent(attr)
775
+
776
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TIMESTAMP","attr":"$.context.timestamp","_RETURN_":"attr are present"}`
777
+
778
+ if !validate {
779
+ result := validationutils.ValidationOutput{
780
+ TestName: "REQUIRED_CONTEXT_TIMESTAMP",
781
+ Valid: false,
782
+ Code: 30000,
783
+ Description: `#### **REQUIRED_CONTEXT_TIMESTAMP**
784
+
785
+ - $.context.timestamp must be present in the payload`,
786
+ DebugInfo: &validationutils.DebugInfo{
787
+ FedConfig: configureDebugInfo,
788
+ },
789
+ }
790
+ return []validationutils.ValidationOutput{result}, nil
791
+ }
792
+
793
+ }
794
+
795
+ result := validationutils.ValidationOutput{
796
+ TestName: "REQUIRED_CONTEXT_TIMESTAMP",
797
+ Valid: valid,
798
+ Code: 0,
799
+ DebugInfo: &validationutils.DebugInfo{
800
+ FedConfig: configureDebugInfo,
801
+ },
802
+ }
803
+
804
+ if valid {
805
+ result.Code = 200
806
+ } else {
807
+ result.Code = 30000
808
+ }
809
+
810
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
811
+ results = append(results, result)
812
+ results = append(results, subResults...)
813
+
814
+ return results, nil
815
+ }
816
+ var REQUIRED_CONTEXT_TTL = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
817
+
818
+ if input.Config.SkipTestsDict != nil {
819
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TTL"]; skip {
820
+ return []validationutils.ValidationOutput{}, nil
821
+ }
822
+ }
823
+
824
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
825
+
826
+ subResults := make([]validationutils.ValidationOutput, 0)
827
+ valid := true
828
+ configureDebugInfo := ""
829
+ for _, testObjMap := range scope {
830
+ validationutils.UnusedFunction(testObjMap)
831
+
832
+ attr := validationutils.GetJsonPath(testObjMap, "$.context.ttl", true)
833
+ validationutils.UnusedFunction(attr)
834
+
835
+ validate := validationutils.ArePresent(attr)
836
+
837
+ configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TTL","attr":"$.context.ttl","_RETURN_":"attr are present"}`
838
+
839
+ if !validate {
840
+ result := validationutils.ValidationOutput{
841
+ TestName: "REQUIRED_CONTEXT_TTL",
842
+ Valid: false,
843
+ Code: 30000,
844
+ Description: `#### **REQUIRED_CONTEXT_TTL**
845
+
846
+ - $.context.ttl must be present in the payload`,
847
+ DebugInfo: &validationutils.DebugInfo{
848
+ FedConfig: configureDebugInfo,
849
+ },
850
+ }
851
+ return []validationutils.ValidationOutput{result}, nil
852
+ }
853
+
854
+ }
855
+
856
+ result := validationutils.ValidationOutput{
857
+ TestName: "REQUIRED_CONTEXT_TTL",
858
+ Valid: valid,
859
+ Code: 0,
860
+ DebugInfo: &validationutils.DebugInfo{
861
+ FedConfig: configureDebugInfo,
862
+ },
863
+ }
864
+
865
+ if valid {
866
+ result.Code = 200
867
+ } else {
868
+ result.Code = 30000
869
+ }
870
+
871
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
872
+ results = append(results, result)
873
+ results = append(results, subResults...)
874
+
875
+ return results, nil
876
+ }
877
+ var REQUIRED_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
878
+
879
+ if input.Config.SkipTestsDict != nil {
880
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID"]; skip {
881
+ return []validationutils.ValidationOutput{}, nil
882
+ }
883
+ }
884
+
885
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
886
+
887
+ subResults := make([]validationutils.ValidationOutput, 0)
888
+ valid := true
889
+ configureDebugInfo := ""
890
+ for _, testObjMap := range scope {
891
+ validationutils.UnusedFunction(testObjMap)
892
+
893
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.provider.id", true)
894
+ validationutils.UnusedFunction(attr)
895
+
896
+ validate := validationutils.ArePresent(attr)
897
+
898
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID","attr":"$.message.order.provider.id","_RETURN_":"attr are present"}`
899
+
900
+ if !validate {
901
+ result := validationutils.ValidationOutput{
902
+ TestName: "REQUIRED_MESSAGE_ID",
903
+ Valid: false,
904
+ Code: 30000,
905
+ Description: `#### **REQUIRED_MESSAGE_ID**
906
+
907
+ - $.message.order.provider.id must be present in the payload`,
908
+ DebugInfo: &validationutils.DebugInfo{
909
+ FedConfig: configureDebugInfo,
910
+ },
911
+ }
912
+ return []validationutils.ValidationOutput{result}, nil
913
+ }
914
+
915
+ }
916
+
917
+ result := validationutils.ValidationOutput{
918
+ TestName: "REQUIRED_MESSAGE_ID",
919
+ Valid: valid,
920
+ Code: 0,
921
+ DebugInfo: &validationutils.DebugInfo{
922
+ FedConfig: configureDebugInfo,
923
+ },
924
+ }
925
+
926
+ if valid {
927
+ result.Code = 200
928
+ } else {
929
+ result.Code = 30000
930
+ }
931
+
932
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
933
+ results = append(results, result)
934
+ results = append(results, subResults...)
935
+
936
+ return results, nil
937
+ }
938
+ var REQUIRED_MESSAGE_ID_15 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
939
+
940
+ if input.Config.SkipTestsDict != nil {
941
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID_15"]; skip {
942
+ return []validationutils.ValidationOutput{}, nil
943
+ }
944
+ }
945
+
946
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
947
+
948
+ subResults := make([]validationutils.ValidationOutput, 0)
949
+ valid := true
950
+ configureDebugInfo := ""
951
+ for _, testObjMap := range scope {
952
+ validationutils.UnusedFunction(testObjMap)
953
+
954
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].id", true)
955
+ validationutils.UnusedFunction(attr)
956
+
957
+ validate := validationutils.ArePresent(attr)
958
+
959
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID_15","attr":"$.message.order.items[*].id","_RETURN_":"attr are present"}`
960
+
961
+ if !validate {
962
+ result := validationutils.ValidationOutput{
963
+ TestName: "REQUIRED_MESSAGE_ID_15",
964
+ Valid: false,
965
+ Code: 30000,
966
+ Description: `#### **REQUIRED_MESSAGE_ID_15**
967
+
968
+ - $.message.order.items[*].id must be present in the payload`,
969
+ DebugInfo: &validationutils.DebugInfo{
970
+ FedConfig: configureDebugInfo,
971
+ },
972
+ }
973
+ return []validationutils.ValidationOutput{result}, nil
974
+ }
975
+
976
+ }
977
+
978
+ result := validationutils.ValidationOutput{
979
+ TestName: "REQUIRED_MESSAGE_ID_15",
980
+ Valid: valid,
981
+ Code: 0,
982
+ DebugInfo: &validationutils.DebugInfo{
983
+ FedConfig: configureDebugInfo,
984
+ },
985
+ }
986
+
987
+ if valid {
988
+ result.Code = 200
989
+ } else {
990
+ result.Code = 30000
991
+ }
992
+
993
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
994
+ results = append(results, result)
995
+ results = append(results, subResults...)
996
+
997
+ return results, nil
998
+ }
999
+ var REQUIRED_MESSAGE_CATEGORY_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1000
+
1001
+ if input.Config.SkipTestsDict != nil {
1002
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CATEGORY_ID"]; skip {
1003
+ return []validationutils.ValidationOutput{}, nil
1004
+ }
1005
+ }
1006
+
1007
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1008
+
1009
+ subResults := make([]validationutils.ValidationOutput, 0)
1010
+ valid := true
1011
+ configureDebugInfo := ""
1012
+ for _, testObjMap := range scope {
1013
+ validationutils.UnusedFunction(testObjMap)
1014
+
1015
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].category_id", true)
1016
+ validationutils.UnusedFunction(attr)
1017
+
1018
+ validate := validationutils.ArePresent(attr)
1019
+
1020
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CATEGORY_ID","attr":"$.message.order.items[*].category_id","_RETURN_":"attr are present"}`
1021
+
1022
+ if !validate {
1023
+ result := validationutils.ValidationOutput{
1024
+ TestName: "REQUIRED_MESSAGE_CATEGORY_ID",
1025
+ Valid: false,
1026
+ Code: 30000,
1027
+ Description: `#### **REQUIRED_MESSAGE_CATEGORY_ID**
1028
+
1029
+ - $.message.order.items[*].category_id must be present in the payload`,
1030
+ DebugInfo: &validationutils.DebugInfo{
1031
+ FedConfig: configureDebugInfo,
1032
+ },
1033
+ }
1034
+ return []validationutils.ValidationOutput{result}, nil
1035
+ }
1036
+
1037
+ }
1038
+
1039
+ result := validationutils.ValidationOutput{
1040
+ TestName: "REQUIRED_MESSAGE_CATEGORY_ID",
1041
+ Valid: valid,
1042
+ Code: 0,
1043
+ DebugInfo: &validationutils.DebugInfo{
1044
+ FedConfig: configureDebugInfo,
1045
+ },
1046
+ }
1047
+
1048
+ if valid {
1049
+ result.Code = 200
1050
+ } else {
1051
+ result.Code = 30000
1052
+ }
1053
+
1054
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1055
+ results = append(results, result)
1056
+ results = append(results, subResults...)
1057
+
1058
+ return results, nil
1059
+ }
1060
+ var REQUIRED_MESSAGE_ID_17 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1061
+
1062
+ if input.Config.SkipTestsDict != nil {
1063
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID_17"]; skip {
1064
+ return []validationutils.ValidationOutput{}, nil
1065
+ }
1066
+ }
1067
+
1068
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1069
+
1070
+ subResults := make([]validationutils.ValidationOutput, 0)
1071
+ valid := true
1072
+ configureDebugInfo := ""
1073
+ for _, testObjMap := range scope {
1074
+ validationutils.UnusedFunction(testObjMap)
1075
+
1076
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].id", true)
1077
+ validationutils.UnusedFunction(attr)
1078
+
1079
+ validate := validationutils.ArePresent(attr)
1080
+
1081
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID_17","attr":"$.message.order.fulfillments[*].id","_RETURN_":"attr are present"}`
1082
+
1083
+ if !validate {
1084
+ result := validationutils.ValidationOutput{
1085
+ TestName: "REQUIRED_MESSAGE_ID_17",
1086
+ Valid: false,
1087
+ Code: 30000,
1088
+ Description: `#### **REQUIRED_MESSAGE_ID_17**
1089
+
1090
+ - $.message.order.fulfillments[*].id must be present in the payload`,
1091
+ DebugInfo: &validationutils.DebugInfo{
1092
+ FedConfig: configureDebugInfo,
1093
+ },
1094
+ }
1095
+ return []validationutils.ValidationOutput{result}, nil
1096
+ }
1097
+
1098
+ }
1099
+
1100
+ result := validationutils.ValidationOutput{
1101
+ TestName: "REQUIRED_MESSAGE_ID_17",
1102
+ Valid: valid,
1103
+ Code: 0,
1104
+ DebugInfo: &validationutils.DebugInfo{
1105
+ FedConfig: configureDebugInfo,
1106
+ },
1107
+ }
1108
+
1109
+ if valid {
1110
+ result.Code = 200
1111
+ } else {
1112
+ result.Code = 30000
1113
+ }
1114
+
1115
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1116
+ results = append(results, result)
1117
+ results = append(results, subResults...)
1118
+
1119
+ return results, nil
1120
+ }
1121
+ var REQUIRED_MESSAGE_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1122
+
1123
+ if input.Config.SkipTestsDict != nil {
1124
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_TYPE"]; skip {
1125
+ return []validationutils.ValidationOutput{}, nil
1126
+ }
1127
+ }
1128
+
1129
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1130
+
1131
+ subResults := make([]validationutils.ValidationOutput, 0)
1132
+ valid := true
1133
+ configureDebugInfo := ""
1134
+ for _, testObjMap := range scope {
1135
+ validationutils.UnusedFunction(testObjMap)
1136
+
1137
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
1138
+ validationutils.UnusedFunction(attr)
1139
+ enumList := validationutils.StringSliceToInterface([]string{`Delivery`, `Return`, `Batch`, `RTO`, `FTL`, `PTL`, `FIFO`})
1140
+ validationutils.UnusedFunction(enumList)
1141
+
1142
+ validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1143
+
1144
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_TYPE","attr":"$.message.order.fulfillments[*].type","_RETURN_":"attr are present && attr all in enumList","enumList":["Delivery","Return","Batch","RTO","FTL","PTL","FIFO"]}`
1145
+
1146
+ if !validate {
1147
+ result := validationutils.ValidationOutput{
1148
+ TestName: "REQUIRED_MESSAGE_TYPE",
1149
+ Valid: false,
1150
+ Code: 30000,
1151
+ Description: `#### **REQUIRED_MESSAGE_TYPE**
1152
+
1153
+ **All of the following must be true:**
1154
+ - $.message.order.fulfillments[*].type must be present in the payload
1155
+ - All elements of $.message.order.fulfillments[*].type must be in ["Delivery", "Return", "Batch", "RTO", "FTL", "PTL", "FIFO"]`,
1156
+ DebugInfo: &validationutils.DebugInfo{
1157
+ FedConfig: configureDebugInfo,
1158
+ },
1159
+ }
1160
+ return []validationutils.ValidationOutput{result}, nil
1161
+ }
1162
+
1163
+ }
1164
+
1165
+ result := validationutils.ValidationOutput{
1166
+ TestName: "REQUIRED_MESSAGE_TYPE",
1167
+ Valid: valid,
1168
+ Code: 0,
1169
+ DebugInfo: &validationutils.DebugInfo{
1170
+ FedConfig: configureDebugInfo,
1171
+ },
1172
+ }
1173
+
1174
+ if valid {
1175
+ result.Code = 200
1176
+ } else {
1177
+ result.Code = 30000
1178
+ }
1179
+
1180
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1181
+ results = append(results, result)
1182
+ results = append(results, subResults...)
1183
+
1184
+ return results, nil
1185
+ }
1186
+ var REQUIRED_MESSAGE_GPS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1187
+
1188
+ if input.Config.SkipTestsDict != nil {
1189
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_GPS"]; skip {
1190
+ return []validationutils.ValidationOutput{}, nil
1191
+ }
1192
+ }
1193
+
1194
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1195
+
1196
+ subResults := make([]validationutils.ValidationOutput, 0)
1197
+ valid := true
1198
+ configureDebugInfo := ""
1199
+ for _, testObjMap := range scope {
1200
+ validationutils.UnusedFunction(testObjMap)
1201
+
1202
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.location.gps", true)
1203
+ validationutils.UnusedFunction(attr)
1204
+
1205
+ validate := validationutils.ArePresent(attr)
1206
+
1207
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_GPS","attr":"$.message.order.fulfillments[*].start.location.gps","_RETURN_":"attr are present"}`
1208
+
1209
+ if !validate {
1210
+ result := validationutils.ValidationOutput{
1211
+ TestName: "REQUIRED_MESSAGE_GPS",
1212
+ Valid: false,
1213
+ Code: 30000,
1214
+ Description: `#### **REQUIRED_MESSAGE_GPS**
1215
+
1216
+ - $.message.order.fulfillments[*].start.location.gps must be present in the payload`,
1217
+ DebugInfo: &validationutils.DebugInfo{
1218
+ FedConfig: configureDebugInfo,
1219
+ },
1220
+ }
1221
+ return []validationutils.ValidationOutput{result}, nil
1222
+ }
1223
+
1224
+ }
1225
+
1226
+ result := validationutils.ValidationOutput{
1227
+ TestName: "REQUIRED_MESSAGE_GPS",
1228
+ Valid: valid,
1229
+ Code: 0,
1230
+ DebugInfo: &validationutils.DebugInfo{
1231
+ FedConfig: configureDebugInfo,
1232
+ },
1233
+ }
1234
+
1235
+ if valid {
1236
+ result.Code = 200
1237
+ } else {
1238
+ result.Code = 30000
1239
+ }
1240
+
1241
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1242
+ results = append(results, result)
1243
+ results = append(results, subResults...)
1244
+
1245
+ return results, nil
1246
+ }
1247
+ var REQUIRED_MESSAGE_NAME = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1248
+
1249
+ if input.Config.SkipTestsDict != nil {
1250
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_NAME"]; skip {
1251
+ return []validationutils.ValidationOutput{}, nil
1252
+ }
1253
+ }
1254
+
1255
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1256
+
1257
+ subResults := make([]validationutils.ValidationOutput, 0)
1258
+ valid := true
1259
+ configureDebugInfo := ""
1260
+ for _, testObjMap := range scope {
1261
+ validationutils.UnusedFunction(testObjMap)
1262
+
1263
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.location.address.name", true)
1264
+ validationutils.UnusedFunction(attr)
1265
+
1266
+ validate := validationutils.ArePresent(attr)
1267
+
1268
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_NAME","attr":"$.message.order.fulfillments[*].start.location.address.name","_RETURN_":"attr are present"}`
1269
+
1270
+ if !validate {
1271
+ result := validationutils.ValidationOutput{
1272
+ TestName: "REQUIRED_MESSAGE_NAME",
1273
+ Valid: false,
1274
+ Code: 30000,
1275
+ Description: `#### **REQUIRED_MESSAGE_NAME**
1276
+
1277
+ - $.message.order.fulfillments[*].start.location.address.name must be present in the payload`,
1278
+ DebugInfo: &validationutils.DebugInfo{
1279
+ FedConfig: configureDebugInfo,
1280
+ },
1281
+ }
1282
+ return []validationutils.ValidationOutput{result}, nil
1283
+ }
1284
+
1285
+ }
1286
+
1287
+ result := validationutils.ValidationOutput{
1288
+ TestName: "REQUIRED_MESSAGE_NAME",
1289
+ Valid: valid,
1290
+ Code: 0,
1291
+ DebugInfo: &validationutils.DebugInfo{
1292
+ FedConfig: configureDebugInfo,
1293
+ },
1294
+ }
1295
+
1296
+ if valid {
1297
+ result.Code = 200
1298
+ } else {
1299
+ result.Code = 30000
1300
+ }
1301
+
1302
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1303
+ results = append(results, result)
1304
+ results = append(results, subResults...)
1305
+
1306
+ return results, nil
1307
+ }
1308
+ var REQUIRED_MESSAGE_BUILDING = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1309
+
1310
+ if input.Config.SkipTestsDict != nil {
1311
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_BUILDING"]; skip {
1312
+ return []validationutils.ValidationOutput{}, nil
1313
+ }
1314
+ }
1315
+
1316
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1317
+
1318
+ subResults := make([]validationutils.ValidationOutput, 0)
1319
+ valid := true
1320
+ configureDebugInfo := ""
1321
+ for _, testObjMap := range scope {
1322
+ validationutils.UnusedFunction(testObjMap)
1323
+
1324
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.location.address.building", true)
1325
+ validationutils.UnusedFunction(attr)
1326
+
1327
+ validate := validationutils.ArePresent(attr)
1328
+
1329
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_BUILDING","attr":"$.message.order.fulfillments[*].start.location.address.building","_RETURN_":"attr are present"}`
1330
+
1331
+ if !validate {
1332
+ result := validationutils.ValidationOutput{
1333
+ TestName: "REQUIRED_MESSAGE_BUILDING",
1334
+ Valid: false,
1335
+ Code: 30000,
1336
+ Description: `#### **REQUIRED_MESSAGE_BUILDING**
1337
+
1338
+ - $.message.order.fulfillments[*].start.location.address.building must be present in the payload`,
1339
+ DebugInfo: &validationutils.DebugInfo{
1340
+ FedConfig: configureDebugInfo,
1341
+ },
1342
+ }
1343
+ return []validationutils.ValidationOutput{result}, nil
1344
+ }
1345
+
1346
+ }
1347
+
1348
+ result := validationutils.ValidationOutput{
1349
+ TestName: "REQUIRED_MESSAGE_BUILDING",
1350
+ Valid: valid,
1351
+ Code: 0,
1352
+ DebugInfo: &validationutils.DebugInfo{
1353
+ FedConfig: configureDebugInfo,
1354
+ },
1355
+ }
1356
+
1357
+ if valid {
1358
+ result.Code = 200
1359
+ } else {
1360
+ result.Code = 30000
1361
+ }
1362
+
1363
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1364
+ results = append(results, result)
1365
+ results = append(results, subResults...)
1366
+
1367
+ return results, nil
1368
+ }
1369
+ var REQUIRED_MESSAGE_LOCALITY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1370
+
1371
+ if input.Config.SkipTestsDict != nil {
1372
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_LOCALITY"]; skip {
1373
+ return []validationutils.ValidationOutput{}, nil
1374
+ }
1375
+ }
1376
+
1377
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1378
+
1379
+ subResults := make([]validationutils.ValidationOutput, 0)
1380
+ valid := true
1381
+ configureDebugInfo := ""
1382
+ for _, testObjMap := range scope {
1383
+ validationutils.UnusedFunction(testObjMap)
1384
+
1385
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.location.address.locality", true)
1386
+ validationutils.UnusedFunction(attr)
1387
+
1388
+ validate := validationutils.ArePresent(attr)
1389
+
1390
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_LOCALITY","attr":"$.message.order.fulfillments[*].start.location.address.locality","_RETURN_":"attr are present"}`
1391
+
1392
+ if !validate {
1393
+ result := validationutils.ValidationOutput{
1394
+ TestName: "REQUIRED_MESSAGE_LOCALITY",
1395
+ Valid: false,
1396
+ Code: 30000,
1397
+ Description: `#### **REQUIRED_MESSAGE_LOCALITY**
1398
+
1399
+ - $.message.order.fulfillments[*].start.location.address.locality must be present in the payload`,
1400
+ DebugInfo: &validationutils.DebugInfo{
1401
+ FedConfig: configureDebugInfo,
1402
+ },
1403
+ }
1404
+ return []validationutils.ValidationOutput{result}, nil
1405
+ }
1406
+
1407
+ }
1408
+
1409
+ result := validationutils.ValidationOutput{
1410
+ TestName: "REQUIRED_MESSAGE_LOCALITY",
1411
+ Valid: valid,
1412
+ Code: 0,
1413
+ DebugInfo: &validationutils.DebugInfo{
1414
+ FedConfig: configureDebugInfo,
1415
+ },
1416
+ }
1417
+
1418
+ if valid {
1419
+ result.Code = 200
1420
+ } else {
1421
+ result.Code = 30000
1422
+ }
1423
+
1424
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1425
+ results = append(results, result)
1426
+ results = append(results, subResults...)
1427
+
1428
+ return results, nil
1429
+ }
1430
+ var REQUIRED_MESSAGE_CITY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1431
+
1432
+ if input.Config.SkipTestsDict != nil {
1433
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CITY"]; skip {
1434
+ return []validationutils.ValidationOutput{}, nil
1435
+ }
1436
+ }
1437
+
1438
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1439
+
1440
+ subResults := make([]validationutils.ValidationOutput, 0)
1441
+ valid := true
1442
+ configureDebugInfo := ""
1443
+ for _, testObjMap := range scope {
1444
+ validationutils.UnusedFunction(testObjMap)
1445
+
1446
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.location.address.city", true)
1447
+ validationutils.UnusedFunction(attr)
1448
+
1449
+ validate := validationutils.ArePresent(attr)
1450
+
1451
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CITY","attr":"$.message.order.fulfillments[*].start.location.address.city","_RETURN_":"attr are present"}`
1452
+
1453
+ if !validate {
1454
+ result := validationutils.ValidationOutput{
1455
+ TestName: "REQUIRED_MESSAGE_CITY",
1456
+ Valid: false,
1457
+ Code: 30000,
1458
+ Description: `#### **REQUIRED_MESSAGE_CITY**
1459
+
1460
+ - $.message.order.fulfillments[*].start.location.address.city must be present in the payload`,
1461
+ DebugInfo: &validationutils.DebugInfo{
1462
+ FedConfig: configureDebugInfo,
1463
+ },
1464
+ }
1465
+ return []validationutils.ValidationOutput{result}, nil
1466
+ }
1467
+
1468
+ }
1469
+
1470
+ result := validationutils.ValidationOutput{
1471
+ TestName: "REQUIRED_MESSAGE_CITY",
1472
+ Valid: valid,
1473
+ Code: 0,
1474
+ DebugInfo: &validationutils.DebugInfo{
1475
+ FedConfig: configureDebugInfo,
1476
+ },
1477
+ }
1478
+
1479
+ if valid {
1480
+ result.Code = 200
1481
+ } else {
1482
+ result.Code = 30000
1483
+ }
1484
+
1485
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1486
+ results = append(results, result)
1487
+ results = append(results, subResults...)
1488
+
1489
+ return results, nil
1490
+ }
1491
+ var REQUIRED_MESSAGE_STATE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1492
+
1493
+ if input.Config.SkipTestsDict != nil {
1494
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_STATE"]; skip {
1495
+ return []validationutils.ValidationOutput{}, nil
1496
+ }
1497
+ }
1498
+
1499
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1500
+
1501
+ subResults := make([]validationutils.ValidationOutput, 0)
1502
+ valid := true
1503
+ configureDebugInfo := ""
1504
+ for _, testObjMap := range scope {
1505
+ validationutils.UnusedFunction(testObjMap)
1506
+
1507
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.location.address.state", true)
1508
+ validationutils.UnusedFunction(attr)
1509
+
1510
+ validate := validationutils.ArePresent(attr)
1511
+
1512
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_STATE","attr":"$.message.order.fulfillments[*].start.location.address.state","_RETURN_":"attr are present"}`
1513
+
1514
+ if !validate {
1515
+ result := validationutils.ValidationOutput{
1516
+ TestName: "REQUIRED_MESSAGE_STATE",
1517
+ Valid: false,
1518
+ Code: 30000,
1519
+ Description: `#### **REQUIRED_MESSAGE_STATE**
1520
+
1521
+ - $.message.order.fulfillments[*].start.location.address.state must be present in the payload`,
1522
+ DebugInfo: &validationutils.DebugInfo{
1523
+ FedConfig: configureDebugInfo,
1524
+ },
1525
+ }
1526
+ return []validationutils.ValidationOutput{result}, nil
1527
+ }
1528
+
1529
+ }
1530
+
1531
+ result := validationutils.ValidationOutput{
1532
+ TestName: "REQUIRED_MESSAGE_STATE",
1533
+ Valid: valid,
1534
+ Code: 0,
1535
+ DebugInfo: &validationutils.DebugInfo{
1536
+ FedConfig: configureDebugInfo,
1537
+ },
1538
+ }
1539
+
1540
+ if valid {
1541
+ result.Code = 200
1542
+ } else {
1543
+ result.Code = 30000
1544
+ }
1545
+
1546
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1547
+ results = append(results, result)
1548
+ results = append(results, subResults...)
1549
+
1550
+ return results, nil
1551
+ }
1552
+ var REQUIRED_MESSAGE_COUNTRY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1553
+
1554
+ if input.Config.SkipTestsDict != nil {
1555
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_COUNTRY"]; skip {
1556
+ return []validationutils.ValidationOutput{}, nil
1557
+ }
1558
+ }
1559
+
1560
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1561
+
1562
+ subResults := make([]validationutils.ValidationOutput, 0)
1563
+ valid := true
1564
+ configureDebugInfo := ""
1565
+ for _, testObjMap := range scope {
1566
+ validationutils.UnusedFunction(testObjMap)
1567
+
1568
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.location.address.country", true)
1569
+ validationutils.UnusedFunction(attr)
1570
+
1571
+ validate := validationutils.ArePresent(attr)
1572
+
1573
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_COUNTRY","attr":"$.message.order.fulfillments[*].start.location.address.country","_RETURN_":"attr are present"}`
1574
+
1575
+ if !validate {
1576
+ result := validationutils.ValidationOutput{
1577
+ TestName: "REQUIRED_MESSAGE_COUNTRY",
1578
+ Valid: false,
1579
+ Code: 30000,
1580
+ Description: `#### **REQUIRED_MESSAGE_COUNTRY**
1581
+
1582
+ - $.message.order.fulfillments[*].start.location.address.country must be present in the payload`,
1583
+ DebugInfo: &validationutils.DebugInfo{
1584
+ FedConfig: configureDebugInfo,
1585
+ },
1586
+ }
1587
+ return []validationutils.ValidationOutput{result}, nil
1588
+ }
1589
+
1590
+ }
1591
+
1592
+ result := validationutils.ValidationOutput{
1593
+ TestName: "REQUIRED_MESSAGE_COUNTRY",
1594
+ Valid: valid,
1595
+ Code: 0,
1596
+ DebugInfo: &validationutils.DebugInfo{
1597
+ FedConfig: configureDebugInfo,
1598
+ },
1599
+ }
1600
+
1601
+ if valid {
1602
+ result.Code = 200
1603
+ } else {
1604
+ result.Code = 30000
1605
+ }
1606
+
1607
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1608
+ results = append(results, result)
1609
+ results = append(results, subResults...)
1610
+
1611
+ return results, nil
1612
+ }
1613
+ var REQUIRED_MESSAGE_AREA_CODE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1614
+
1615
+ if input.Config.SkipTestsDict != nil {
1616
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_AREA_CODE"]; skip {
1617
+ return []validationutils.ValidationOutput{}, nil
1618
+ }
1619
+ }
1620
+
1621
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1622
+
1623
+ subResults := make([]validationutils.ValidationOutput, 0)
1624
+ valid := true
1625
+ configureDebugInfo := ""
1626
+ for _, testObjMap := range scope {
1627
+ validationutils.UnusedFunction(testObjMap)
1628
+
1629
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.location.address.area_code", true)
1630
+ validationutils.UnusedFunction(attr)
1631
+
1632
+ validate := validationutils.ArePresent(attr)
1633
+
1634
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_AREA_CODE","attr":"$.message.order.fulfillments[*].start.location.address.area_code","_RETURN_":"attr are present"}`
1635
+
1636
+ if !validate {
1637
+ result := validationutils.ValidationOutput{
1638
+ TestName: "REQUIRED_MESSAGE_AREA_CODE",
1639
+ Valid: false,
1640
+ Code: 30000,
1641
+ Description: `#### **REQUIRED_MESSAGE_AREA_CODE**
1642
+
1643
+ - $.message.order.fulfillments[*].start.location.address.area_code must be present in the payload`,
1644
+ DebugInfo: &validationutils.DebugInfo{
1645
+ FedConfig: configureDebugInfo,
1646
+ },
1647
+ }
1648
+ return []validationutils.ValidationOutput{result}, nil
1649
+ }
1650
+
1651
+ }
1652
+
1653
+ result := validationutils.ValidationOutput{
1654
+ TestName: "REQUIRED_MESSAGE_AREA_CODE",
1655
+ Valid: valid,
1656
+ Code: 0,
1657
+ DebugInfo: &validationutils.DebugInfo{
1658
+ FedConfig: configureDebugInfo,
1659
+ },
1660
+ }
1661
+
1662
+ if valid {
1663
+ result.Code = 200
1664
+ } else {
1665
+ result.Code = 30000
1666
+ }
1667
+
1668
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1669
+ results = append(results, result)
1670
+ results = append(results, subResults...)
1671
+
1672
+ return results, nil
1673
+ }
1674
+ var REQUIRED_MESSAGE_PHONE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1675
+
1676
+ if input.Config.SkipTestsDict != nil {
1677
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_PHONE"]; skip {
1678
+ return []validationutils.ValidationOutput{}, nil
1679
+ }
1680
+ }
1681
+
1682
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1683
+
1684
+ subResults := make([]validationutils.ValidationOutput, 0)
1685
+ valid := true
1686
+ configureDebugInfo := ""
1687
+ for _, testObjMap := range scope {
1688
+ validationutils.UnusedFunction(testObjMap)
1689
+
1690
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.contact.phone", true)
1691
+ validationutils.UnusedFunction(attr)
1692
+
1693
+ validate := validationutils.ArePresent(attr)
1694
+
1695
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_PHONE","attr":"$.message.order.fulfillments[*].start.contact.phone","_RETURN_":"attr are present"}`
1696
+
1697
+ if !validate {
1698
+ result := validationutils.ValidationOutput{
1699
+ TestName: "REQUIRED_MESSAGE_PHONE",
1700
+ Valid: false,
1701
+ Code: 30000,
1702
+ Description: `#### **REQUIRED_MESSAGE_PHONE**
1703
+
1704
+ - $.message.order.fulfillments[*].start.contact.phone must be present in the payload`,
1705
+ DebugInfo: &validationutils.DebugInfo{
1706
+ FedConfig: configureDebugInfo,
1707
+ },
1708
+ }
1709
+ return []validationutils.ValidationOutput{result}, nil
1710
+ }
1711
+
1712
+ }
1713
+
1714
+ result := validationutils.ValidationOutput{
1715
+ TestName: "REQUIRED_MESSAGE_PHONE",
1716
+ Valid: valid,
1717
+ Code: 0,
1718
+ DebugInfo: &validationutils.DebugInfo{
1719
+ FedConfig: configureDebugInfo,
1720
+ },
1721
+ }
1722
+
1723
+ if valid {
1724
+ result.Code = 200
1725
+ } else {
1726
+ result.Code = 30000
1727
+ }
1728
+
1729
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1730
+ results = append(results, result)
1731
+ results = append(results, subResults...)
1732
+
1733
+ return results, nil
1734
+ }
1735
+ var REQUIRED_MESSAGE_EMAIL = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1736
+
1737
+ if input.Config.SkipTestsDict != nil {
1738
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_EMAIL"]; skip {
1739
+ return []validationutils.ValidationOutput{}, nil
1740
+ }
1741
+ }
1742
+
1743
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1744
+
1745
+ subResults := make([]validationutils.ValidationOutput, 0)
1746
+ valid := true
1747
+ configureDebugInfo := ""
1748
+ for _, testObjMap := range scope {
1749
+ validationutils.UnusedFunction(testObjMap)
1750
+
1751
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.contact.email", true)
1752
+ validationutils.UnusedFunction(attr)
1753
+
1754
+ validate := validationutils.ArePresent(attr)
1755
+
1756
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_EMAIL","attr":"$.message.order.fulfillments[*].start.contact.email","_RETURN_":"attr are present"}`
1757
+
1758
+ if !validate {
1759
+ result := validationutils.ValidationOutput{
1760
+ TestName: "REQUIRED_MESSAGE_EMAIL",
1761
+ Valid: false,
1762
+ Code: 30000,
1763
+ Description: `#### **REQUIRED_MESSAGE_EMAIL**
1764
+
1765
+ - $.message.order.fulfillments[*].start.contact.email must be present in the payload`,
1766
+ DebugInfo: &validationutils.DebugInfo{
1767
+ FedConfig: configureDebugInfo,
1768
+ },
1769
+ }
1770
+ return []validationutils.ValidationOutput{result}, nil
1771
+ }
1772
+
1773
+ }
1774
+
1775
+ result := validationutils.ValidationOutput{
1776
+ TestName: "REQUIRED_MESSAGE_EMAIL",
1777
+ Valid: valid,
1778
+ Code: 0,
1779
+ DebugInfo: &validationutils.DebugInfo{
1780
+ FedConfig: configureDebugInfo,
1781
+ },
1782
+ }
1783
+
1784
+ if valid {
1785
+ result.Code = 200
1786
+ } else {
1787
+ result.Code = 30000
1788
+ }
1789
+
1790
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1791
+ results = append(results, result)
1792
+ results = append(results, subResults...)
1793
+
1794
+ return results, nil
1795
+ }
1796
+ var REQUIRED_MESSAGE_GPS_29 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1797
+
1798
+ if input.Config.SkipTestsDict != nil {
1799
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_GPS_29"]; skip {
1800
+ return []validationutils.ValidationOutput{}, nil
1801
+ }
1802
+ }
1803
+
1804
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1805
+
1806
+ subResults := make([]validationutils.ValidationOutput, 0)
1807
+ valid := true
1808
+ configureDebugInfo := ""
1809
+ for _, testObjMap := range scope {
1810
+ validationutils.UnusedFunction(testObjMap)
1811
+
1812
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.location.gps", true)
1813
+ validationutils.UnusedFunction(attr)
1814
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
1815
+ validationutils.UnusedFunction(fulfillmentType)
1816
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1817
+ validationutils.UnusedFunction(fulType)
1818
+
1819
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1820
+ if skipCheck {
1821
+ continue
1822
+ }
1823
+
1824
+ validate := validationutils.ArePresent(attr)
1825
+
1826
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_GPS_29","attr":"$.message.order.fulfillments[*].end.location.gps","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1827
+
1828
+ if !validate {
1829
+ result := validationutils.ValidationOutput{
1830
+ TestName: "REQUIRED_MESSAGE_GPS_29",
1831
+ Valid: false,
1832
+ Code: 30000,
1833
+ Description: `#### **REQUIRED_MESSAGE_GPS_29**
1834
+
1835
+ - $.message.order.fulfillments[*].end.location.gps must be present in the payload
1836
+
1837
+ > **Skip if:**
1838
+ >
1839
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
1840
+ DebugInfo: &validationutils.DebugInfo{
1841
+ FedConfig: configureDebugInfo,
1842
+ },
1843
+ }
1844
+ return []validationutils.ValidationOutput{result}, nil
1845
+ }
1846
+
1847
+ }
1848
+
1849
+ result := validationutils.ValidationOutput{
1850
+ TestName: "REQUIRED_MESSAGE_GPS_29",
1851
+ Valid: valid,
1852
+ Code: 0,
1853
+ DebugInfo: &validationutils.DebugInfo{
1854
+ FedConfig: configureDebugInfo,
1855
+ },
1856
+ }
1857
+
1858
+ if valid {
1859
+ result.Code = 200
1860
+ } else {
1861
+ result.Code = 30000
1862
+ }
1863
+
1864
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1865
+ results = append(results, result)
1866
+ results = append(results, subResults...)
1867
+
1868
+ return results, nil
1869
+ }
1870
+ var REQUIRED_MESSAGE_NAME_30 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1871
+
1872
+ if input.Config.SkipTestsDict != nil {
1873
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_NAME_30"]; skip {
1874
+ return []validationutils.ValidationOutput{}, nil
1875
+ }
1876
+ }
1877
+
1878
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1879
+
1880
+ subResults := make([]validationutils.ValidationOutput, 0)
1881
+ valid := true
1882
+ configureDebugInfo := ""
1883
+ for _, testObjMap := range scope {
1884
+ validationutils.UnusedFunction(testObjMap)
1885
+
1886
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.location.address.name", true)
1887
+ validationutils.UnusedFunction(attr)
1888
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
1889
+ validationutils.UnusedFunction(fulfillmentType)
1890
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1891
+ validationutils.UnusedFunction(fulType)
1892
+
1893
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1894
+ if skipCheck {
1895
+ continue
1896
+ }
1897
+
1898
+ validate := validationutils.ArePresent(attr)
1899
+
1900
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_NAME_30","attr":"$.message.order.fulfillments[*].end.location.address.name","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1901
+
1902
+ if !validate {
1903
+ result := validationutils.ValidationOutput{
1904
+ TestName: "REQUIRED_MESSAGE_NAME_30",
1905
+ Valid: false,
1906
+ Code: 30000,
1907
+ Description: `#### **REQUIRED_MESSAGE_NAME_30**
1908
+
1909
+ - $.message.order.fulfillments[*].end.location.address.name must be present in the payload
1910
+
1911
+ > **Skip if:**
1912
+ >
1913
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
1914
+ DebugInfo: &validationutils.DebugInfo{
1915
+ FedConfig: configureDebugInfo,
1916
+ },
1917
+ }
1918
+ return []validationutils.ValidationOutput{result}, nil
1919
+ }
1920
+
1921
+ }
1922
+
1923
+ result := validationutils.ValidationOutput{
1924
+ TestName: "REQUIRED_MESSAGE_NAME_30",
1925
+ Valid: valid,
1926
+ Code: 0,
1927
+ DebugInfo: &validationutils.DebugInfo{
1928
+ FedConfig: configureDebugInfo,
1929
+ },
1930
+ }
1931
+
1932
+ if valid {
1933
+ result.Code = 200
1934
+ } else {
1935
+ result.Code = 30000
1936
+ }
1937
+
1938
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1939
+ results = append(results, result)
1940
+ results = append(results, subResults...)
1941
+
1942
+ return results, nil
1943
+ }
1944
+ var REQUIRED_MESSAGE_BUILDING_31 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1945
+
1946
+ if input.Config.SkipTestsDict != nil {
1947
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_BUILDING_31"]; skip {
1948
+ return []validationutils.ValidationOutput{}, nil
1949
+ }
1950
+ }
1951
+
1952
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
1953
+
1954
+ subResults := make([]validationutils.ValidationOutput, 0)
1955
+ valid := true
1956
+ configureDebugInfo := ""
1957
+ for _, testObjMap := range scope {
1958
+ validationutils.UnusedFunction(testObjMap)
1959
+
1960
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.location.address.building", true)
1961
+ validationutils.UnusedFunction(attr)
1962
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
1963
+ validationutils.UnusedFunction(fulfillmentType)
1964
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
1965
+ validationutils.UnusedFunction(fulType)
1966
+
1967
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
1968
+ if skipCheck {
1969
+ continue
1970
+ }
1971
+
1972
+ validate := validationutils.ArePresent(attr)
1973
+
1974
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_BUILDING_31","attr":"$.message.order.fulfillments[*].end.location.address.building","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
1975
+
1976
+ if !validate {
1977
+ result := validationutils.ValidationOutput{
1978
+ TestName: "REQUIRED_MESSAGE_BUILDING_31",
1979
+ Valid: false,
1980
+ Code: 30000,
1981
+ Description: `#### **REQUIRED_MESSAGE_BUILDING_31**
1982
+
1983
+ - $.message.order.fulfillments[*].end.location.address.building must be present in the payload
1984
+
1985
+ > **Skip if:**
1986
+ >
1987
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
1988
+ DebugInfo: &validationutils.DebugInfo{
1989
+ FedConfig: configureDebugInfo,
1990
+ },
1991
+ }
1992
+ return []validationutils.ValidationOutput{result}, nil
1993
+ }
1994
+
1995
+ }
1996
+
1997
+ result := validationutils.ValidationOutput{
1998
+ TestName: "REQUIRED_MESSAGE_BUILDING_31",
1999
+ Valid: valid,
2000
+ Code: 0,
2001
+ DebugInfo: &validationutils.DebugInfo{
2002
+ FedConfig: configureDebugInfo,
2003
+ },
2004
+ }
2005
+
2006
+ if valid {
2007
+ result.Code = 200
2008
+ } else {
2009
+ result.Code = 30000
2010
+ }
2011
+
2012
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2013
+ results = append(results, result)
2014
+ results = append(results, subResults...)
2015
+
2016
+ return results, nil
2017
+ }
2018
+ var REQUIRED_MESSAGE_LOCALITY_32 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2019
+
2020
+ if input.Config.SkipTestsDict != nil {
2021
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_LOCALITY_32"]; skip {
2022
+ return []validationutils.ValidationOutput{}, nil
2023
+ }
2024
+ }
2025
+
2026
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2027
+
2028
+ subResults := make([]validationutils.ValidationOutput, 0)
2029
+ valid := true
2030
+ configureDebugInfo := ""
2031
+ for _, testObjMap := range scope {
2032
+ validationutils.UnusedFunction(testObjMap)
2033
+
2034
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.location.address.locality", true)
2035
+ validationutils.UnusedFunction(attr)
2036
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
2037
+ validationutils.UnusedFunction(fulfillmentType)
2038
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2039
+ validationutils.UnusedFunction(fulType)
2040
+
2041
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2042
+ if skipCheck {
2043
+ continue
2044
+ }
2045
+
2046
+ validate := validationutils.ArePresent(attr)
2047
+
2048
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_LOCALITY_32","attr":"$.message.order.fulfillments[*].end.location.address.locality","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2049
+
2050
+ if !validate {
2051
+ result := validationutils.ValidationOutput{
2052
+ TestName: "REQUIRED_MESSAGE_LOCALITY_32",
2053
+ Valid: false,
2054
+ Code: 30000,
2055
+ Description: `#### **REQUIRED_MESSAGE_LOCALITY_32**
2056
+
2057
+ - $.message.order.fulfillments[*].end.location.address.locality must be present in the payload
2058
+
2059
+ > **Skip if:**
2060
+ >
2061
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
2062
+ DebugInfo: &validationutils.DebugInfo{
2063
+ FedConfig: configureDebugInfo,
2064
+ },
2065
+ }
2066
+ return []validationutils.ValidationOutput{result}, nil
2067
+ }
2068
+
2069
+ }
2070
+
2071
+ result := validationutils.ValidationOutput{
2072
+ TestName: "REQUIRED_MESSAGE_LOCALITY_32",
2073
+ Valid: valid,
2074
+ Code: 0,
2075
+ DebugInfo: &validationutils.DebugInfo{
2076
+ FedConfig: configureDebugInfo,
2077
+ },
2078
+ }
2079
+
2080
+ if valid {
2081
+ result.Code = 200
2082
+ } else {
2083
+ result.Code = 30000
2084
+ }
2085
+
2086
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2087
+ results = append(results, result)
2088
+ results = append(results, subResults...)
2089
+
2090
+ return results, nil
2091
+ }
2092
+ var REQUIRED_MESSAGE_CITY_33 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2093
+
2094
+ if input.Config.SkipTestsDict != nil {
2095
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CITY_33"]; skip {
2096
+ return []validationutils.ValidationOutput{}, nil
2097
+ }
2098
+ }
2099
+
2100
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2101
+
2102
+ subResults := make([]validationutils.ValidationOutput, 0)
2103
+ valid := true
2104
+ configureDebugInfo := ""
2105
+ for _, testObjMap := range scope {
2106
+ validationutils.UnusedFunction(testObjMap)
2107
+
2108
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.location.address.city", true)
2109
+ validationutils.UnusedFunction(attr)
2110
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
2111
+ validationutils.UnusedFunction(fulfillmentType)
2112
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2113
+ validationutils.UnusedFunction(fulType)
2114
+
2115
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2116
+ if skipCheck {
2117
+ continue
2118
+ }
2119
+
2120
+ validate := validationutils.ArePresent(attr)
2121
+
2122
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CITY_33","attr":"$.message.order.fulfillments[*].end.location.address.city","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2123
+
2124
+ if !validate {
2125
+ result := validationutils.ValidationOutput{
2126
+ TestName: "REQUIRED_MESSAGE_CITY_33",
2127
+ Valid: false,
2128
+ Code: 30000,
2129
+ Description: `#### **REQUIRED_MESSAGE_CITY_33**
2130
+
2131
+ - $.message.order.fulfillments[*].end.location.address.city must be present in the payload
2132
+
2133
+ > **Skip if:**
2134
+ >
2135
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
2136
+ DebugInfo: &validationutils.DebugInfo{
2137
+ FedConfig: configureDebugInfo,
2138
+ },
2139
+ }
2140
+ return []validationutils.ValidationOutput{result}, nil
2141
+ }
2142
+
2143
+ }
2144
+
2145
+ result := validationutils.ValidationOutput{
2146
+ TestName: "REQUIRED_MESSAGE_CITY_33",
2147
+ Valid: valid,
2148
+ Code: 0,
2149
+ DebugInfo: &validationutils.DebugInfo{
2150
+ FedConfig: configureDebugInfo,
2151
+ },
2152
+ }
2153
+
2154
+ if valid {
2155
+ result.Code = 200
2156
+ } else {
2157
+ result.Code = 30000
2158
+ }
2159
+
2160
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2161
+ results = append(results, result)
2162
+ results = append(results, subResults...)
2163
+
2164
+ return results, nil
2165
+ }
2166
+ var REQUIRED_MESSAGE_STATE_34 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2167
+
2168
+ if input.Config.SkipTestsDict != nil {
2169
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_STATE_34"]; skip {
2170
+ return []validationutils.ValidationOutput{}, nil
2171
+ }
2172
+ }
2173
+
2174
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2175
+
2176
+ subResults := make([]validationutils.ValidationOutput, 0)
2177
+ valid := true
2178
+ configureDebugInfo := ""
2179
+ for _, testObjMap := range scope {
2180
+ validationutils.UnusedFunction(testObjMap)
2181
+
2182
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.location.address.state", true)
2183
+ validationutils.UnusedFunction(attr)
2184
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
2185
+ validationutils.UnusedFunction(fulfillmentType)
2186
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2187
+ validationutils.UnusedFunction(fulType)
2188
+
2189
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2190
+ if skipCheck {
2191
+ continue
2192
+ }
2193
+
2194
+ validate := validationutils.ArePresent(attr)
2195
+
2196
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_STATE_34","attr":"$.message.order.fulfillments[*].end.location.address.state","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2197
+
2198
+ if !validate {
2199
+ result := validationutils.ValidationOutput{
2200
+ TestName: "REQUIRED_MESSAGE_STATE_34",
2201
+ Valid: false,
2202
+ Code: 30000,
2203
+ Description: `#### **REQUIRED_MESSAGE_STATE_34**
2204
+
2205
+ - $.message.order.fulfillments[*].end.location.address.state must be present in the payload
2206
+
2207
+ > **Skip if:**
2208
+ >
2209
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
2210
+ DebugInfo: &validationutils.DebugInfo{
2211
+ FedConfig: configureDebugInfo,
2212
+ },
2213
+ }
2214
+ return []validationutils.ValidationOutput{result}, nil
2215
+ }
2216
+
2217
+ }
2218
+
2219
+ result := validationutils.ValidationOutput{
2220
+ TestName: "REQUIRED_MESSAGE_STATE_34",
2221
+ Valid: valid,
2222
+ Code: 0,
2223
+ DebugInfo: &validationutils.DebugInfo{
2224
+ FedConfig: configureDebugInfo,
2225
+ },
2226
+ }
2227
+
2228
+ if valid {
2229
+ result.Code = 200
2230
+ } else {
2231
+ result.Code = 30000
2232
+ }
2233
+
2234
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2235
+ results = append(results, result)
2236
+ results = append(results, subResults...)
2237
+
2238
+ return results, nil
2239
+ }
2240
+ var REQUIRED_MESSAGE_COUNTRY_35 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2241
+
2242
+ if input.Config.SkipTestsDict != nil {
2243
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_COUNTRY_35"]; skip {
2244
+ return []validationutils.ValidationOutput{}, nil
2245
+ }
2246
+ }
2247
+
2248
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2249
+
2250
+ subResults := make([]validationutils.ValidationOutput, 0)
2251
+ valid := true
2252
+ configureDebugInfo := ""
2253
+ for _, testObjMap := range scope {
2254
+ validationutils.UnusedFunction(testObjMap)
2255
+
2256
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.location.address.country", true)
2257
+ validationutils.UnusedFunction(attr)
2258
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
2259
+ validationutils.UnusedFunction(fulfillmentType)
2260
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2261
+ validationutils.UnusedFunction(fulType)
2262
+
2263
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2264
+ if skipCheck {
2265
+ continue
2266
+ }
2267
+
2268
+ validate := validationutils.ArePresent(attr)
2269
+
2270
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_COUNTRY_35","attr":"$.message.order.fulfillments[*].end.location.address.country","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2271
+
2272
+ if !validate {
2273
+ result := validationutils.ValidationOutput{
2274
+ TestName: "REQUIRED_MESSAGE_COUNTRY_35",
2275
+ Valid: false,
2276
+ Code: 30000,
2277
+ Description: `#### **REQUIRED_MESSAGE_COUNTRY_35**
2278
+
2279
+ - $.message.order.fulfillments[*].end.location.address.country must be present in the payload
2280
+
2281
+ > **Skip if:**
2282
+ >
2283
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
2284
+ DebugInfo: &validationutils.DebugInfo{
2285
+ FedConfig: configureDebugInfo,
2286
+ },
2287
+ }
2288
+ return []validationutils.ValidationOutput{result}, nil
2289
+ }
2290
+
2291
+ }
2292
+
2293
+ result := validationutils.ValidationOutput{
2294
+ TestName: "REQUIRED_MESSAGE_COUNTRY_35",
2295
+ Valid: valid,
2296
+ Code: 0,
2297
+ DebugInfo: &validationutils.DebugInfo{
2298
+ FedConfig: configureDebugInfo,
2299
+ },
2300
+ }
2301
+
2302
+ if valid {
2303
+ result.Code = 200
2304
+ } else {
2305
+ result.Code = 30000
2306
+ }
2307
+
2308
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2309
+ results = append(results, result)
2310
+ results = append(results, subResults...)
2311
+
2312
+ return results, nil
2313
+ }
2314
+ var REQUIRED_MESSAGE_AREA_CODE_36 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2315
+
2316
+ if input.Config.SkipTestsDict != nil {
2317
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_AREA_CODE_36"]; skip {
2318
+ return []validationutils.ValidationOutput{}, nil
2319
+ }
2320
+ }
2321
+
2322
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2323
+
2324
+ subResults := make([]validationutils.ValidationOutput, 0)
2325
+ valid := true
2326
+ configureDebugInfo := ""
2327
+ for _, testObjMap := range scope {
2328
+ validationutils.UnusedFunction(testObjMap)
2329
+
2330
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.location.address.area_code", true)
2331
+ validationutils.UnusedFunction(attr)
2332
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
2333
+ validationutils.UnusedFunction(fulfillmentType)
2334
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2335
+ validationutils.UnusedFunction(fulType)
2336
+
2337
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2338
+ if skipCheck {
2339
+ continue
2340
+ }
2341
+
2342
+ validate := validationutils.ArePresent(attr)
2343
+
2344
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_AREA_CODE_36","attr":"$.message.order.fulfillments[*].end.location.address.area_code","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2345
+
2346
+ if !validate {
2347
+ result := validationutils.ValidationOutput{
2348
+ TestName: "REQUIRED_MESSAGE_AREA_CODE_36",
2349
+ Valid: false,
2350
+ Code: 30000,
2351
+ Description: `#### **REQUIRED_MESSAGE_AREA_CODE_36**
2352
+
2353
+ - $.message.order.fulfillments[*].end.location.address.area_code must be present in the payload
2354
+
2355
+ > **Skip if:**
2356
+ >
2357
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
2358
+ DebugInfo: &validationutils.DebugInfo{
2359
+ FedConfig: configureDebugInfo,
2360
+ },
2361
+ }
2362
+ return []validationutils.ValidationOutput{result}, nil
2363
+ }
2364
+
2365
+ }
2366
+
2367
+ result := validationutils.ValidationOutput{
2368
+ TestName: "REQUIRED_MESSAGE_AREA_CODE_36",
2369
+ Valid: valid,
2370
+ Code: 0,
2371
+ DebugInfo: &validationutils.DebugInfo{
2372
+ FedConfig: configureDebugInfo,
2373
+ },
2374
+ }
2375
+
2376
+ if valid {
2377
+ result.Code = 200
2378
+ } else {
2379
+ result.Code = 30000
2380
+ }
2381
+
2382
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2383
+ results = append(results, result)
2384
+ results = append(results, subResults...)
2385
+
2386
+ return results, nil
2387
+ }
2388
+ var REQUIRED_MESSAGE_PHONE_37 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2389
+
2390
+ if input.Config.SkipTestsDict != nil {
2391
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_PHONE_37"]; skip {
2392
+ return []validationutils.ValidationOutput{}, nil
2393
+ }
2394
+ }
2395
+
2396
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2397
+
2398
+ subResults := make([]validationutils.ValidationOutput, 0)
2399
+ valid := true
2400
+ configureDebugInfo := ""
2401
+ for _, testObjMap := range scope {
2402
+ validationutils.UnusedFunction(testObjMap)
2403
+
2404
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.contact.phone", true)
2405
+ validationutils.UnusedFunction(attr)
2406
+ fulfillmentType := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
2407
+ validationutils.UnusedFunction(fulfillmentType)
2408
+ fulType := validationutils.StringSliceToInterface([]string{`Delivery`})
2409
+ validationutils.UnusedFunction(fulType)
2410
+
2411
+ skipCheck := !(validationutils.AllIn(fulfillmentType, fulType))
2412
+ if skipCheck {
2413
+ continue
2414
+ }
2415
+
2416
+ validate := validationutils.ArePresent(attr)
2417
+
2418
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_PHONE_37","attr":"$.message.order.fulfillments[*].end.contact.phone","fulfillmentType":"$.message.order.fulfillments[*].type","fulType":["Delivery"],"_CONTINUE_":"!(fulfillmentType all in fulType)","_RETURN_":"attr are present"}`
2419
+
2420
+ if !validate {
2421
+ result := validationutils.ValidationOutput{
2422
+ TestName: "REQUIRED_MESSAGE_PHONE_37",
2423
+ Valid: false,
2424
+ Code: 30000,
2425
+ Description: `#### **REQUIRED_MESSAGE_PHONE_37**
2426
+
2427
+ - $.message.order.fulfillments[*].end.contact.phone must be present in the payload
2428
+
2429
+ > **Skip if:**
2430
+ >
2431
+ > - not all elements of $.message.order.fulfillments[*].type are in ["Delivery"]`,
2432
+ DebugInfo: &validationutils.DebugInfo{
2433
+ FedConfig: configureDebugInfo,
2434
+ },
2435
+ }
2436
+ return []validationutils.ValidationOutput{result}, nil
2437
+ }
2438
+
2439
+ }
2440
+
2441
+ result := validationutils.ValidationOutput{
2442
+ TestName: "REQUIRED_MESSAGE_PHONE_37",
2443
+ Valid: valid,
2444
+ Code: 0,
2445
+ DebugInfo: &validationutils.DebugInfo{
2446
+ FedConfig: configureDebugInfo,
2447
+ },
2448
+ }
2449
+
2450
+ if valid {
2451
+ result.Code = 200
2452
+ } else {
2453
+ result.Code = 30000
2454
+ }
2455
+
2456
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2457
+ results = append(results, result)
2458
+ results = append(results, subResults...)
2459
+
2460
+ return results, nil
2461
+ }
2462
+ var REQUIRED_MESSAGE_NAME_38 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2463
+
2464
+ if input.Config.SkipTestsDict != nil {
2465
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_NAME_38"]; skip {
2466
+ return []validationutils.ValidationOutput{}, nil
2467
+ }
2468
+ }
2469
+
2470
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2471
+
2472
+ subResults := make([]validationutils.ValidationOutput, 0)
2473
+ valid := true
2474
+ configureDebugInfo := ""
2475
+ for _, testObjMap := range scope {
2476
+ validationutils.UnusedFunction(testObjMap)
2477
+
2478
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.name", true)
2479
+ validationutils.UnusedFunction(attr)
2480
+
2481
+ validate := validationutils.ArePresent(attr)
2482
+
2483
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_NAME_38","attr":"$.message.order.billing.name","_RETURN_":"attr are present"}`
2484
+
2485
+ if !validate {
2486
+ result := validationutils.ValidationOutput{
2487
+ TestName: "REQUIRED_MESSAGE_NAME_38",
2488
+ Valid: false,
2489
+ Code: 30000,
2490
+ Description: `#### **REQUIRED_MESSAGE_NAME_38**
2491
+
2492
+ - $.message.order.billing.name must be present in the payload`,
2493
+ DebugInfo: &validationutils.DebugInfo{
2494
+ FedConfig: configureDebugInfo,
2495
+ },
2496
+ }
2497
+ return []validationutils.ValidationOutput{result}, nil
2498
+ }
2499
+
2500
+ }
2501
+
2502
+ result := validationutils.ValidationOutput{
2503
+ TestName: "REQUIRED_MESSAGE_NAME_38",
2504
+ Valid: valid,
2505
+ Code: 0,
2506
+ DebugInfo: &validationutils.DebugInfo{
2507
+ FedConfig: configureDebugInfo,
2508
+ },
2509
+ }
2510
+
2511
+ if valid {
2512
+ result.Code = 200
2513
+ } else {
2514
+ result.Code = 30000
2515
+ }
2516
+
2517
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2518
+ results = append(results, result)
2519
+ results = append(results, subResults...)
2520
+
2521
+ return results, nil
2522
+ }
2523
+ var REQUIRED_MESSAGE_NAME_39 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2524
+
2525
+ if input.Config.SkipTestsDict != nil {
2526
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_NAME_39"]; skip {
2527
+ return []validationutils.ValidationOutput{}, nil
2528
+ }
2529
+ }
2530
+
2531
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2532
+
2533
+ subResults := make([]validationutils.ValidationOutput, 0)
2534
+ valid := true
2535
+ configureDebugInfo := ""
2536
+ for _, testObjMap := range scope {
2537
+ validationutils.UnusedFunction(testObjMap)
2538
+
2539
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.address.name", true)
2540
+ validationutils.UnusedFunction(attr)
2541
+
2542
+ validate := validationutils.ArePresent(attr)
2543
+
2544
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_NAME_39","attr":"$.message.order.billing.address.name","_RETURN_":"attr are present"}`
2545
+
2546
+ if !validate {
2547
+ result := validationutils.ValidationOutput{
2548
+ TestName: "REQUIRED_MESSAGE_NAME_39",
2549
+ Valid: false,
2550
+ Code: 30000,
2551
+ Description: `#### **REQUIRED_MESSAGE_NAME_39**
2552
+
2553
+ - $.message.order.billing.address.name must be present in the payload`,
2554
+ DebugInfo: &validationutils.DebugInfo{
2555
+ FedConfig: configureDebugInfo,
2556
+ },
2557
+ }
2558
+ return []validationutils.ValidationOutput{result}, nil
2559
+ }
2560
+
2561
+ }
2562
+
2563
+ result := validationutils.ValidationOutput{
2564
+ TestName: "REQUIRED_MESSAGE_NAME_39",
2565
+ Valid: valid,
2566
+ Code: 0,
2567
+ DebugInfo: &validationutils.DebugInfo{
2568
+ FedConfig: configureDebugInfo,
2569
+ },
2570
+ }
2571
+
2572
+ if valid {
2573
+ result.Code = 200
2574
+ } else {
2575
+ result.Code = 30000
2576
+ }
2577
+
2578
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2579
+ results = append(results, result)
2580
+ results = append(results, subResults...)
2581
+
2582
+ return results, nil
2583
+ }
2584
+ var REQUIRED_MESSAGE_BUILDING_40 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2585
+
2586
+ if input.Config.SkipTestsDict != nil {
2587
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_BUILDING_40"]; skip {
2588
+ return []validationutils.ValidationOutput{}, nil
2589
+ }
2590
+ }
2591
+
2592
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2593
+
2594
+ subResults := make([]validationutils.ValidationOutput, 0)
2595
+ valid := true
2596
+ configureDebugInfo := ""
2597
+ for _, testObjMap := range scope {
2598
+ validationutils.UnusedFunction(testObjMap)
2599
+
2600
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.address.building", true)
2601
+ validationutils.UnusedFunction(attr)
2602
+
2603
+ validate := validationutils.ArePresent(attr)
2604
+
2605
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_BUILDING_40","attr":"$.message.order.billing.address.building","_RETURN_":"attr are present"}`
2606
+
2607
+ if !validate {
2608
+ result := validationutils.ValidationOutput{
2609
+ TestName: "REQUIRED_MESSAGE_BUILDING_40",
2610
+ Valid: false,
2611
+ Code: 30000,
2612
+ Description: `#### **REQUIRED_MESSAGE_BUILDING_40**
2613
+
2614
+ - $.message.order.billing.address.building must be present in the payload`,
2615
+ DebugInfo: &validationutils.DebugInfo{
2616
+ FedConfig: configureDebugInfo,
2617
+ },
2618
+ }
2619
+ return []validationutils.ValidationOutput{result}, nil
2620
+ }
2621
+
2622
+ }
2623
+
2624
+ result := validationutils.ValidationOutput{
2625
+ TestName: "REQUIRED_MESSAGE_BUILDING_40",
2626
+ Valid: valid,
2627
+ Code: 0,
2628
+ DebugInfo: &validationutils.DebugInfo{
2629
+ FedConfig: configureDebugInfo,
2630
+ },
2631
+ }
2632
+
2633
+ if valid {
2634
+ result.Code = 200
2635
+ } else {
2636
+ result.Code = 30000
2637
+ }
2638
+
2639
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2640
+ results = append(results, result)
2641
+ results = append(results, subResults...)
2642
+
2643
+ return results, nil
2644
+ }
2645
+ var REQUIRED_MESSAGE_LOCALITY_41 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2646
+
2647
+ if input.Config.SkipTestsDict != nil {
2648
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_LOCALITY_41"]; skip {
2649
+ return []validationutils.ValidationOutput{}, nil
2650
+ }
2651
+ }
2652
+
2653
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2654
+
2655
+ subResults := make([]validationutils.ValidationOutput, 0)
2656
+ valid := true
2657
+ configureDebugInfo := ""
2658
+ for _, testObjMap := range scope {
2659
+ validationutils.UnusedFunction(testObjMap)
2660
+
2661
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.address.locality", true)
2662
+ validationutils.UnusedFunction(attr)
2663
+
2664
+ validate := validationutils.ArePresent(attr)
2665
+
2666
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_LOCALITY_41","attr":"$.message.order.billing.address.locality","_RETURN_":"attr are present"}`
2667
+
2668
+ if !validate {
2669
+ result := validationutils.ValidationOutput{
2670
+ TestName: "REQUIRED_MESSAGE_LOCALITY_41",
2671
+ Valid: false,
2672
+ Code: 30000,
2673
+ Description: `#### **REQUIRED_MESSAGE_LOCALITY_41**
2674
+
2675
+ - $.message.order.billing.address.locality must be present in the payload`,
2676
+ DebugInfo: &validationutils.DebugInfo{
2677
+ FedConfig: configureDebugInfo,
2678
+ },
2679
+ }
2680
+ return []validationutils.ValidationOutput{result}, nil
2681
+ }
2682
+
2683
+ }
2684
+
2685
+ result := validationutils.ValidationOutput{
2686
+ TestName: "REQUIRED_MESSAGE_LOCALITY_41",
2687
+ Valid: valid,
2688
+ Code: 0,
2689
+ DebugInfo: &validationutils.DebugInfo{
2690
+ FedConfig: configureDebugInfo,
2691
+ },
2692
+ }
2693
+
2694
+ if valid {
2695
+ result.Code = 200
2696
+ } else {
2697
+ result.Code = 30000
2698
+ }
2699
+
2700
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2701
+ results = append(results, result)
2702
+ results = append(results, subResults...)
2703
+
2704
+ return results, nil
2705
+ }
2706
+ var REQUIRED_MESSAGE_CITY_42 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2707
+
2708
+ if input.Config.SkipTestsDict != nil {
2709
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CITY_42"]; skip {
2710
+ return []validationutils.ValidationOutput{}, nil
2711
+ }
2712
+ }
2713
+
2714
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2715
+
2716
+ subResults := make([]validationutils.ValidationOutput, 0)
2717
+ valid := true
2718
+ configureDebugInfo := ""
2719
+ for _, testObjMap := range scope {
2720
+ validationutils.UnusedFunction(testObjMap)
2721
+
2722
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.address.city", true)
2723
+ validationutils.UnusedFunction(attr)
2724
+
2725
+ validate := validationutils.ArePresent(attr)
2726
+
2727
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CITY_42","attr":"$.message.order.billing.address.city","_RETURN_":"attr are present"}`
2728
+
2729
+ if !validate {
2730
+ result := validationutils.ValidationOutput{
2731
+ TestName: "REQUIRED_MESSAGE_CITY_42",
2732
+ Valid: false,
2733
+ Code: 30000,
2734
+ Description: `#### **REQUIRED_MESSAGE_CITY_42**
2735
+
2736
+ - $.message.order.billing.address.city must be present in the payload`,
2737
+ DebugInfo: &validationutils.DebugInfo{
2738
+ FedConfig: configureDebugInfo,
2739
+ },
2740
+ }
2741
+ return []validationutils.ValidationOutput{result}, nil
2742
+ }
2743
+
2744
+ }
2745
+
2746
+ result := validationutils.ValidationOutput{
2747
+ TestName: "REQUIRED_MESSAGE_CITY_42",
2748
+ Valid: valid,
2749
+ Code: 0,
2750
+ DebugInfo: &validationutils.DebugInfo{
2751
+ FedConfig: configureDebugInfo,
2752
+ },
2753
+ }
2754
+
2755
+ if valid {
2756
+ result.Code = 200
2757
+ } else {
2758
+ result.Code = 30000
2759
+ }
2760
+
2761
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2762
+ results = append(results, result)
2763
+ results = append(results, subResults...)
2764
+
2765
+ return results, nil
2766
+ }
2767
+ var REQUIRED_MESSAGE_STATE_43 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2768
+
2769
+ if input.Config.SkipTestsDict != nil {
2770
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_STATE_43"]; skip {
2771
+ return []validationutils.ValidationOutput{}, nil
2772
+ }
2773
+ }
2774
+
2775
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2776
+
2777
+ subResults := make([]validationutils.ValidationOutput, 0)
2778
+ valid := true
2779
+ configureDebugInfo := ""
2780
+ for _, testObjMap := range scope {
2781
+ validationutils.UnusedFunction(testObjMap)
2782
+
2783
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.address.state", true)
2784
+ validationutils.UnusedFunction(attr)
2785
+
2786
+ validate := validationutils.ArePresent(attr)
2787
+
2788
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_STATE_43","attr":"$.message.order.billing.address.state","_RETURN_":"attr are present"}`
2789
+
2790
+ if !validate {
2791
+ result := validationutils.ValidationOutput{
2792
+ TestName: "REQUIRED_MESSAGE_STATE_43",
2793
+ Valid: false,
2794
+ Code: 30000,
2795
+ Description: `#### **REQUIRED_MESSAGE_STATE_43**
2796
+
2797
+ - $.message.order.billing.address.state must be present in the payload`,
2798
+ DebugInfo: &validationutils.DebugInfo{
2799
+ FedConfig: configureDebugInfo,
2800
+ },
2801
+ }
2802
+ return []validationutils.ValidationOutput{result}, nil
2803
+ }
2804
+
2805
+ }
2806
+
2807
+ result := validationutils.ValidationOutput{
2808
+ TestName: "REQUIRED_MESSAGE_STATE_43",
2809
+ Valid: valid,
2810
+ Code: 0,
2811
+ DebugInfo: &validationutils.DebugInfo{
2812
+ FedConfig: configureDebugInfo,
2813
+ },
2814
+ }
2815
+
2816
+ if valid {
2817
+ result.Code = 200
2818
+ } else {
2819
+ result.Code = 30000
2820
+ }
2821
+
2822
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2823
+ results = append(results, result)
2824
+ results = append(results, subResults...)
2825
+
2826
+ return results, nil
2827
+ }
2828
+ var REQUIRED_MESSAGE_COUNTRY_44 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2829
+
2830
+ if input.Config.SkipTestsDict != nil {
2831
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_COUNTRY_44"]; skip {
2832
+ return []validationutils.ValidationOutput{}, nil
2833
+ }
2834
+ }
2835
+
2836
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2837
+
2838
+ subResults := make([]validationutils.ValidationOutput, 0)
2839
+ valid := true
2840
+ configureDebugInfo := ""
2841
+ for _, testObjMap := range scope {
2842
+ validationutils.UnusedFunction(testObjMap)
2843
+
2844
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.address.country", true)
2845
+ validationutils.UnusedFunction(attr)
2846
+
2847
+ validate := validationutils.ArePresent(attr)
2848
+
2849
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_COUNTRY_44","attr":"$.message.order.billing.address.country","_RETURN_":"attr are present"}`
2850
+
2851
+ if !validate {
2852
+ result := validationutils.ValidationOutput{
2853
+ TestName: "REQUIRED_MESSAGE_COUNTRY_44",
2854
+ Valid: false,
2855
+ Code: 30000,
2856
+ Description: `#### **REQUIRED_MESSAGE_COUNTRY_44**
2857
+
2858
+ - $.message.order.billing.address.country must be present in the payload`,
2859
+ DebugInfo: &validationutils.DebugInfo{
2860
+ FedConfig: configureDebugInfo,
2861
+ },
2862
+ }
2863
+ return []validationutils.ValidationOutput{result}, nil
2864
+ }
2865
+
2866
+ }
2867
+
2868
+ result := validationutils.ValidationOutput{
2869
+ TestName: "REQUIRED_MESSAGE_COUNTRY_44",
2870
+ Valid: valid,
2871
+ Code: 0,
2872
+ DebugInfo: &validationutils.DebugInfo{
2873
+ FedConfig: configureDebugInfo,
2874
+ },
2875
+ }
2876
+
2877
+ if valid {
2878
+ result.Code = 200
2879
+ } else {
2880
+ result.Code = 30000
2881
+ }
2882
+
2883
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2884
+ results = append(results, result)
2885
+ results = append(results, subResults...)
2886
+
2887
+ return results, nil
2888
+ }
2889
+ var REQUIRED_MESSAGE_AREA_CODE_45 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2890
+
2891
+ if input.Config.SkipTestsDict != nil {
2892
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_AREA_CODE_45"]; skip {
2893
+ return []validationutils.ValidationOutput{}, nil
2894
+ }
2895
+ }
2896
+
2897
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2898
+
2899
+ subResults := make([]validationutils.ValidationOutput, 0)
2900
+ valid := true
2901
+ configureDebugInfo := ""
2902
+ for _, testObjMap := range scope {
2903
+ validationutils.UnusedFunction(testObjMap)
2904
+
2905
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.address.area_code", true)
2906
+ validationutils.UnusedFunction(attr)
2907
+
2908
+ validate := validationutils.ArePresent(attr)
2909
+
2910
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_AREA_CODE_45","attr":"$.message.order.billing.address.area_code","_RETURN_":"attr are present"}`
2911
+
2912
+ if !validate {
2913
+ result := validationutils.ValidationOutput{
2914
+ TestName: "REQUIRED_MESSAGE_AREA_CODE_45",
2915
+ Valid: false,
2916
+ Code: 30000,
2917
+ Description: `#### **REQUIRED_MESSAGE_AREA_CODE_45**
2918
+
2919
+ - $.message.order.billing.address.area_code must be present in the payload`,
2920
+ DebugInfo: &validationutils.DebugInfo{
2921
+ FedConfig: configureDebugInfo,
2922
+ },
2923
+ }
2924
+ return []validationutils.ValidationOutput{result}, nil
2925
+ }
2926
+
2927
+ }
2928
+
2929
+ result := validationutils.ValidationOutput{
2930
+ TestName: "REQUIRED_MESSAGE_AREA_CODE_45",
2931
+ Valid: valid,
2932
+ Code: 0,
2933
+ DebugInfo: &validationutils.DebugInfo{
2934
+ FedConfig: configureDebugInfo,
2935
+ },
2936
+ }
2937
+
2938
+ if valid {
2939
+ result.Code = 200
2940
+ } else {
2941
+ result.Code = 30000
2942
+ }
2943
+
2944
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2945
+ results = append(results, result)
2946
+ results = append(results, subResults...)
2947
+
2948
+ return results, nil
2949
+ }
2950
+ var REQUIRED_MESSAGE_TAX_NUMBER = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2951
+
2952
+ if input.Config.SkipTestsDict != nil {
2953
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_TAX_NUMBER"]; skip {
2954
+ return []validationutils.ValidationOutput{}, nil
2955
+ }
2956
+ }
2957
+
2958
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
2959
+
2960
+ subResults := make([]validationutils.ValidationOutput, 0)
2961
+ valid := true
2962
+ configureDebugInfo := ""
2963
+ for _, testObjMap := range scope {
2964
+ validationutils.UnusedFunction(testObjMap)
2965
+
2966
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.tax_number", true)
2967
+ validationutils.UnusedFunction(attr)
2968
+
2969
+ validate := validationutils.ArePresent(attr)
2970
+
2971
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_TAX_NUMBER","attr":"$.message.order.billing.tax_number","_RETURN_":"attr are present"}`
2972
+
2973
+ if !validate {
2974
+ result := validationutils.ValidationOutput{
2975
+ TestName: "REQUIRED_MESSAGE_TAX_NUMBER",
2976
+ Valid: false,
2977
+ Code: 30000,
2978
+ Description: `#### **REQUIRED_MESSAGE_TAX_NUMBER**
2979
+
2980
+ - $.message.order.billing.tax_number must be present in the payload`,
2981
+ DebugInfo: &validationutils.DebugInfo{
2982
+ FedConfig: configureDebugInfo,
2983
+ },
2984
+ }
2985
+ return []validationutils.ValidationOutput{result}, nil
2986
+ }
2987
+
2988
+ }
2989
+
2990
+ result := validationutils.ValidationOutput{
2991
+ TestName: "REQUIRED_MESSAGE_TAX_NUMBER",
2992
+ Valid: valid,
2993
+ Code: 0,
2994
+ DebugInfo: &validationutils.DebugInfo{
2995
+ FedConfig: configureDebugInfo,
2996
+ },
2997
+ }
2998
+
2999
+ if valid {
3000
+ result.Code = 200
3001
+ } else {
3002
+ result.Code = 30000
3003
+ }
3004
+
3005
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3006
+ results = append(results, result)
3007
+ results = append(results, subResults...)
3008
+
3009
+ return results, nil
3010
+ }
3011
+ var REQUIRED_MESSAGE_PHONE_47 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3012
+
3013
+ if input.Config.SkipTestsDict != nil {
3014
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_PHONE_47"]; skip {
3015
+ return []validationutils.ValidationOutput{}, nil
3016
+ }
3017
+ }
3018
+
3019
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3020
+
3021
+ subResults := make([]validationutils.ValidationOutput, 0)
3022
+ valid := true
3023
+ configureDebugInfo := ""
3024
+ for _, testObjMap := range scope {
3025
+ validationutils.UnusedFunction(testObjMap)
3026
+
3027
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.phone", true)
3028
+ validationutils.UnusedFunction(attr)
3029
+
3030
+ validate := validationutils.ArePresent(attr)
3031
+
3032
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_PHONE_47","attr":"$.message.order.billing.phone","_RETURN_":"attr are present"}`
3033
+
3034
+ if !validate {
3035
+ result := validationutils.ValidationOutput{
3036
+ TestName: "REQUIRED_MESSAGE_PHONE_47",
3037
+ Valid: false,
3038
+ Code: 30000,
3039
+ Description: `#### **REQUIRED_MESSAGE_PHONE_47**
3040
+
3041
+ - $.message.order.billing.phone must be present in the payload`,
3042
+ DebugInfo: &validationutils.DebugInfo{
3043
+ FedConfig: configureDebugInfo,
3044
+ },
3045
+ }
3046
+ return []validationutils.ValidationOutput{result}, nil
3047
+ }
3048
+
3049
+ }
3050
+
3051
+ result := validationutils.ValidationOutput{
3052
+ TestName: "REQUIRED_MESSAGE_PHONE_47",
3053
+ Valid: valid,
3054
+ Code: 0,
3055
+ DebugInfo: &validationutils.DebugInfo{
3056
+ FedConfig: configureDebugInfo,
3057
+ },
3058
+ }
3059
+
3060
+ if valid {
3061
+ result.Code = 200
3062
+ } else {
3063
+ result.Code = 30000
3064
+ }
3065
+
3066
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3067
+ results = append(results, result)
3068
+ results = append(results, subResults...)
3069
+
3070
+ return results, nil
3071
+ }
3072
+ var REQUIRED_MESSAGE_EMAIL_48 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3073
+
3074
+ if input.Config.SkipTestsDict != nil {
3075
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_EMAIL_48"]; skip {
3076
+ return []validationutils.ValidationOutput{}, nil
3077
+ }
3078
+ }
3079
+
3080
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3081
+
3082
+ subResults := make([]validationutils.ValidationOutput, 0)
3083
+ valid := true
3084
+ configureDebugInfo := ""
3085
+ for _, testObjMap := range scope {
3086
+ validationutils.UnusedFunction(testObjMap)
3087
+
3088
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.email", true)
3089
+ validationutils.UnusedFunction(attr)
3090
+
3091
+ validate := validationutils.ArePresent(attr)
3092
+
3093
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_EMAIL_48","attr":"$.message.order.billing.email","_RETURN_":"attr are present"}`
3094
+
3095
+ if !validate {
3096
+ result := validationutils.ValidationOutput{
3097
+ TestName: "REQUIRED_MESSAGE_EMAIL_48",
3098
+ Valid: false,
3099
+ Code: 30000,
3100
+ Description: `#### **REQUIRED_MESSAGE_EMAIL_48**
3101
+
3102
+ - $.message.order.billing.email must be present in the payload`,
3103
+ DebugInfo: &validationutils.DebugInfo{
3104
+ FedConfig: configureDebugInfo,
3105
+ },
3106
+ }
3107
+ return []validationutils.ValidationOutput{result}, nil
3108
+ }
3109
+
3110
+ }
3111
+
3112
+ result := validationutils.ValidationOutput{
3113
+ TestName: "REQUIRED_MESSAGE_EMAIL_48",
3114
+ Valid: valid,
3115
+ Code: 0,
3116
+ DebugInfo: &validationutils.DebugInfo{
3117
+ FedConfig: configureDebugInfo,
3118
+ },
3119
+ }
3120
+
3121
+ if valid {
3122
+ result.Code = 200
3123
+ } else {
3124
+ result.Code = 30000
3125
+ }
3126
+
3127
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3128
+ results = append(results, result)
3129
+ results = append(results, subResults...)
3130
+
3131
+ return results, nil
3132
+ }
3133
+ var REQUIRED_MESSAGE_CREATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3134
+
3135
+ if input.Config.SkipTestsDict != nil {
3136
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CREATED_AT"]; skip {
3137
+ return []validationutils.ValidationOutput{}, nil
3138
+ }
3139
+ }
3140
+
3141
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3142
+
3143
+ subResults := make([]validationutils.ValidationOutput, 0)
3144
+ valid := true
3145
+ configureDebugInfo := ""
3146
+ for _, testObjMap := range scope {
3147
+ validationutils.UnusedFunction(testObjMap)
3148
+
3149
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.created_at", true)
3150
+ validationutils.UnusedFunction(attr)
3151
+
3152
+ validate := validationutils.ArePresent(attr)
3153
+
3154
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CREATED_AT","attr":"$.message.order.billing.created_at","_RETURN_":"attr are present"}`
3155
+
3156
+ if !validate {
3157
+ result := validationutils.ValidationOutput{
3158
+ TestName: "REQUIRED_MESSAGE_CREATED_AT",
3159
+ Valid: false,
3160
+ Code: 30000,
3161
+ Description: `#### **REQUIRED_MESSAGE_CREATED_AT**
3162
+
3163
+ - $.message.order.billing.created_at must be present in the payload`,
3164
+ DebugInfo: &validationutils.DebugInfo{
3165
+ FedConfig: configureDebugInfo,
3166
+ },
3167
+ }
3168
+ return []validationutils.ValidationOutput{result}, nil
3169
+ }
3170
+
3171
+ }
3172
+
3173
+ result := validationutils.ValidationOutput{
3174
+ TestName: "REQUIRED_MESSAGE_CREATED_AT",
3175
+ Valid: valid,
3176
+ Code: 0,
3177
+ DebugInfo: &validationutils.DebugInfo{
3178
+ FedConfig: configureDebugInfo,
3179
+ },
3180
+ }
3181
+
3182
+ if valid {
3183
+ result.Code = 200
3184
+ } else {
3185
+ result.Code = 30000
3186
+ }
3187
+
3188
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3189
+ results = append(results, result)
3190
+ results = append(results, subResults...)
3191
+
3192
+ return results, nil
3193
+ }
3194
+ var REQUIRED_MESSAGE_UPDATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3195
+
3196
+ if input.Config.SkipTestsDict != nil {
3197
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UPDATED_AT"]; skip {
3198
+ return []validationutils.ValidationOutput{}, nil
3199
+ }
3200
+ }
3201
+
3202
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3203
+
3204
+ subResults := make([]validationutils.ValidationOutput, 0)
3205
+ valid := true
3206
+ configureDebugInfo := ""
3207
+ for _, testObjMap := range scope {
3208
+ validationutils.UnusedFunction(testObjMap)
3209
+
3210
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.billing.updated_at", true)
3211
+ validationutils.UnusedFunction(attr)
3212
+
3213
+ validate := validationutils.ArePresent(attr)
3214
+
3215
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UPDATED_AT","attr":"$.message.order.billing.updated_at","_RETURN_":"attr are present"}`
3216
+
3217
+ if !validate {
3218
+ result := validationutils.ValidationOutput{
3219
+ TestName: "REQUIRED_MESSAGE_UPDATED_AT",
3220
+ Valid: false,
3221
+ Code: 30000,
3222
+ Description: `#### **REQUIRED_MESSAGE_UPDATED_AT**
3223
+
3224
+ - $.message.order.billing.updated_at must be present in the payload`,
3225
+ DebugInfo: &validationutils.DebugInfo{
3226
+ FedConfig: configureDebugInfo,
3227
+ },
3228
+ }
3229
+ return []validationutils.ValidationOutput{result}, nil
3230
+ }
3231
+
3232
+ }
3233
+
3234
+ result := validationutils.ValidationOutput{
3235
+ TestName: "REQUIRED_MESSAGE_UPDATED_AT",
3236
+ Valid: valid,
3237
+ Code: 0,
3238
+ DebugInfo: &validationutils.DebugInfo{
3239
+ FedConfig: configureDebugInfo,
3240
+ },
3241
+ }
3242
+
3243
+ if valid {
3244
+ result.Code = 200
3245
+ } else {
3246
+ result.Code = 30000
3247
+ }
3248
+
3249
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3250
+ results = append(results, result)
3251
+ results = append(results, subResults...)
3252
+
3253
+ return results, nil
3254
+ }
3255
+ var REQUIRED_MESSAGE_COLLECTED_BY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3256
+
3257
+ if input.Config.SkipTestsDict != nil {
3258
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_COLLECTED_BY"]; skip {
3259
+ return []validationutils.ValidationOutput{}, nil
3260
+ }
3261
+ }
3262
+
3263
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3264
+
3265
+ subResults := make([]validationutils.ValidationOutput, 0)
3266
+ valid := true
3267
+ configureDebugInfo := ""
3268
+ for _, testObjMap := range scope {
3269
+ validationutils.UnusedFunction(testObjMap)
3270
+
3271
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.payment.collected_by", true)
3272
+ validationutils.UnusedFunction(attr)
3273
+
3274
+ skipCheck := !(validationutils.ArePresent(attr))
3275
+ if skipCheck {
3276
+ continue
3277
+ }
3278
+
3279
+ validate := validationutils.ArePresent(attr)
3280
+
3281
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_COLLECTED_BY","attr":"$.message.order.payment.collected_by","_CONTINUE_":"!(attr are present)","_RETURN_":"attr are present"}`
3282
+
3283
+ if !validate {
3284
+ result := validationutils.ValidationOutput{
3285
+ TestName: "REQUIRED_MESSAGE_COLLECTED_BY",
3286
+ Valid: false,
3287
+ Code: 30000,
3288
+ Description: `#### **REQUIRED_MESSAGE_COLLECTED_BY**
3289
+
3290
+ - $.message.order.payment.collected_by must be present in the payload
3291
+
3292
+ > **Skip if:**
3293
+ >
3294
+ > - $.message.order.payment.collected_by is not in the payload`,
3295
+ DebugInfo: &validationutils.DebugInfo{
3296
+ FedConfig: configureDebugInfo,
3297
+ },
3298
+ }
3299
+ return []validationutils.ValidationOutput{result}, nil
3300
+ }
3301
+
3302
+ }
3303
+
3304
+ result := validationutils.ValidationOutput{
3305
+ TestName: "REQUIRED_MESSAGE_COLLECTED_BY",
3306
+ Valid: valid,
3307
+ Code: 0,
3308
+ DebugInfo: &validationutils.DebugInfo{
3309
+ FedConfig: configureDebugInfo,
3310
+ },
3311
+ }
3312
+
3313
+ if valid {
3314
+ result.Code = 200
3315
+ } else {
3316
+ result.Code = 30000
3317
+ }
3318
+
3319
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3320
+ results = append(results, result)
3321
+ results = append(results, subResults...)
3322
+
3323
+ return results, nil
3324
+ }
3325
+ var REQUIRED_MESSAGE_TYPE_52 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3326
+
3327
+ if input.Config.SkipTestsDict != nil {
3328
+ if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_TYPE_52"]; skip {
3329
+ return []validationutils.ValidationOutput{}, nil
3330
+ }
3331
+ }
3332
+
3333
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3334
+
3335
+ subResults := make([]validationutils.ValidationOutput, 0)
3336
+ valid := true
3337
+ configureDebugInfo := ""
3338
+ for _, testObjMap := range scope {
3339
+ validationutils.UnusedFunction(testObjMap)
3340
+
3341
+ attr := validationutils.GetJsonPath(testObjMap, "$.message.order.payment.type", true)
3342
+ validationutils.UnusedFunction(attr)
3343
+ enumList := validationutils.StringSliceToInterface([]string{`ON-ORDER`, `ON-FULFILLMENT`, `POST-FULFILLMENT`})
3344
+ validationutils.UnusedFunction(enumList)
3345
+
3346
+ skipCheck := !(validationutils.ArePresent(attr))
3347
+ if skipCheck {
3348
+ continue
3349
+ }
3350
+
3351
+ validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
3352
+
3353
+ configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_TYPE_52","attr":"$.message.order.payment.type","_RETURN_":"attr are present && attr all in enumList","_CONTINUE_":"!(attr are present)","enumList":["ON-ORDER","ON-FULFILLMENT","POST-FULFILLMENT"]}`
3354
+
3355
+ if !validate {
3356
+ result := validationutils.ValidationOutput{
3357
+ TestName: "REQUIRED_MESSAGE_TYPE_52",
3358
+ Valid: false,
3359
+ Code: 30000,
3360
+ Description: `#### **REQUIRED_MESSAGE_TYPE_52**
3361
+
3362
+ **All of the following must be true:**
3363
+ - $.message.order.payment.type must be present in the payload
3364
+ - All elements of $.message.order.payment.type must be in ["ON-ORDER", "ON-FULFILLMENT", "POST-FULFILLMENT"]
3365
+
3366
+ > **Skip if:**
3367
+ >
3368
+ > - $.message.order.payment.type is not in the payload`,
3369
+ DebugInfo: &validationutils.DebugInfo{
3370
+ FedConfig: configureDebugInfo,
3371
+ },
3372
+ }
3373
+ return []validationutils.ValidationOutput{result}, nil
3374
+ }
3375
+
3376
+ }
3377
+
3378
+ result := validationutils.ValidationOutput{
3379
+ TestName: "REQUIRED_MESSAGE_TYPE_52",
3380
+ Valid: valid,
3381
+ Code: 0,
3382
+ DebugInfo: &validationutils.DebugInfo{
3383
+ FedConfig: configureDebugInfo,
3384
+ },
3385
+ }
3386
+
3387
+ if valid {
3388
+ result.Code = 200
3389
+ } else {
3390
+ result.Code = 30000
3391
+ }
3392
+
3393
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3394
+ results = append(results, result)
3395
+ results = append(results, subResults...)
3396
+
3397
+ return results, nil
3398
+ }
3399
+ var VALID_ENUM_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3400
+
3401
+ if input.Config.SkipTestsDict != nil {
3402
+ if _, skip := input.Config.SkipTestsDict["VALID_ENUM_CONTEXT_DOMAIN"]; skip {
3403
+ return []validationutils.ValidationOutput{}, nil
3404
+ }
3405
+ }
3406
+
3407
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3408
+
3409
+ subResults := make([]validationutils.ValidationOutput, 0)
3410
+ valid := true
3411
+ configureDebugInfo := ""
3412
+ for _, testObjMap := range scope {
3413
+ validationutils.UnusedFunction(testObjMap)
3414
+
3415
+ enumList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`, `ONDC:LOG11`, `nic2004:60232`})
3416
+ validationutils.UnusedFunction(enumList)
3417
+ enumPath := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
3418
+ validationutils.UnusedFunction(enumPath)
3419
+
3420
+ skipCheck := !(validationutils.ArePresent(enumPath))
3421
+ if skipCheck {
3422
+ continue
3423
+ }
3424
+
3425
+ validate := validationutils.AllIn(enumPath, enumList)
3426
+
3427
+ 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"}`
3428
+
3429
+ if !validate {
3430
+ result := validationutils.ValidationOutput{
3431
+ TestName: "VALID_ENUM_CONTEXT_DOMAIN",
3432
+ Valid: false,
3433
+ Code: 30000,
3434
+ Description: `#### **VALID_ENUM_CONTEXT_DOMAIN**
3435
+
3436
+ - All elements of $.context.domain must be in ["ONDC:LOG10", "ONDC:LOG11", "nic2004:60232"]
3437
+
3438
+ > **Skip if:**
3439
+ >
3440
+ > - $.context.domain is not in the payload`,
3441
+ DebugInfo: &validationutils.DebugInfo{
3442
+ FedConfig: configureDebugInfo,
3443
+ },
3444
+ }
3445
+ return []validationutils.ValidationOutput{result}, nil
3446
+ }
3447
+
3448
+ }
3449
+
3450
+ result := validationutils.ValidationOutput{
3451
+ TestName: "VALID_ENUM_CONTEXT_DOMAIN",
3452
+ Valid: valid,
3453
+ Code: 0,
3454
+ DebugInfo: &validationutils.DebugInfo{
3455
+ FedConfig: configureDebugInfo,
3456
+ },
3457
+ }
3458
+
3459
+ if valid {
3460
+ result.Code = 200
3461
+ } else {
3462
+ result.Code = 30000
3463
+ }
3464
+
3465
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3466
+ results = append(results, result)
3467
+ results = append(results, subResults...)
3468
+
3469
+ return results, nil
3470
+ }
3471
+ var VALID_ENUM_MESSAGE_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3472
+
3473
+ if input.Config.SkipTestsDict != nil {
3474
+ if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE"]; skip {
3475
+ return []validationutils.ValidationOutput{}, nil
3476
+ }
3477
+ }
3478
+
3479
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3480
+
3481
+ subResults := make([]validationutils.ValidationOutput, 0)
3482
+ valid := true
3483
+ configureDebugInfo := ""
3484
+ for _, testObjMap := range scope {
3485
+ validationutils.UnusedFunction(testObjMap)
3486
+
3487
+ enumList := validationutils.StringSliceToInterface([]string{`Delivery`, `Return`, `Batch`, `RTO`, `FTL`, `PTL`, `FIFO`})
3488
+ validationutils.UnusedFunction(enumList)
3489
+ enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
3490
+ validationutils.UnusedFunction(enumPath)
3491
+
3492
+ skipCheck := !(validationutils.ArePresent(enumPath))
3493
+ if skipCheck {
3494
+ continue
3495
+ }
3496
+
3497
+ validate := validationutils.AllIn(enumPath, enumList)
3498
+
3499
+ configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE","enumList":["Delivery","Return","Batch","RTO","FTL","PTL","FIFO"],"enumPath":"$.message.order.fulfillments[*].type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
3500
+
3501
+ if !validate {
3502
+ result := validationutils.ValidationOutput{
3503
+ TestName: "VALID_ENUM_MESSAGE_TYPE",
3504
+ Valid: false,
3505
+ Code: 30000,
3506
+ Description: `#### **VALID_ENUM_MESSAGE_TYPE**
3507
+
3508
+ - All elements of $.message.order.fulfillments[*].type must be in ["Delivery", "Return", "Batch", "RTO", "FTL", "PTL", "FIFO"]
3509
+
3510
+ > **Skip if:**
3511
+ >
3512
+ > - $.message.order.fulfillments[*].type is not in the payload`,
3513
+ DebugInfo: &validationutils.DebugInfo{
3514
+ FedConfig: configureDebugInfo,
3515
+ },
3516
+ }
3517
+ return []validationutils.ValidationOutput{result}, nil
3518
+ }
3519
+
3520
+ }
3521
+
3522
+ result := validationutils.ValidationOutput{
3523
+ TestName: "VALID_ENUM_MESSAGE_TYPE",
3524
+ Valid: valid,
3525
+ Code: 0,
3526
+ DebugInfo: &validationutils.DebugInfo{
3527
+ FedConfig: configureDebugInfo,
3528
+ },
3529
+ }
3530
+
3531
+ if valid {
3532
+ result.Code = 200
3533
+ } else {
3534
+ result.Code = 30000
3535
+ }
3536
+
3537
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3538
+ results = append(results, result)
3539
+ results = append(results, subResults...)
3540
+
3541
+ return results, nil
3542
+ }
3543
+ var VALID_ENUM_MESSAGE_TYPE_3 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3544
+
3545
+ if input.Config.SkipTestsDict != nil {
3546
+ if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE_3"]; skip {
3547
+ return []validationutils.ValidationOutput{}, nil
3548
+ }
3549
+ }
3550
+
3551
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3552
+
3553
+ subResults := make([]validationutils.ValidationOutput, 0)
3554
+ valid := true
3555
+ configureDebugInfo := ""
3556
+ for _, testObjMap := range scope {
3557
+ validationutils.UnusedFunction(testObjMap)
3558
+
3559
+ enumList := validationutils.StringSliceToInterface([]string{`ON-ORDER`, `ON-FULFILLMENT`, `POST-FULFILLMENT`})
3560
+ validationutils.UnusedFunction(enumList)
3561
+ enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.payment.type", true)
3562
+ validationutils.UnusedFunction(enumPath)
3563
+
3564
+ skipCheck := !(validationutils.ArePresent(enumPath))
3565
+ if skipCheck {
3566
+ continue
3567
+ }
3568
+
3569
+ validate := validationutils.AllIn(enumPath, enumList)
3570
+
3571
+ configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE_3","enumList":["ON-ORDER","ON-FULFILLMENT","POST-FULFILLMENT"],"enumPath":"$.message.order.payment.type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
3572
+
3573
+ if !validate {
3574
+ result := validationutils.ValidationOutput{
3575
+ TestName: "VALID_ENUM_MESSAGE_TYPE_3",
3576
+ Valid: false,
3577
+ Code: 30000,
3578
+ Description: `#### **VALID_ENUM_MESSAGE_TYPE_3**
3579
+
3580
+ - All elements of $.message.order.payment.type must be in ["ON-ORDER", "ON-FULFILLMENT", "POST-FULFILLMENT"]
3581
+
3582
+ > **Skip if:**
3583
+ >
3584
+ > - $.message.order.payment.type is not in the payload`,
3585
+ DebugInfo: &validationutils.DebugInfo{
3586
+ FedConfig: configureDebugInfo,
3587
+ },
3588
+ }
3589
+ return []validationutils.ValidationOutput{result}, nil
3590
+ }
3591
+
3592
+ }
3593
+
3594
+ result := validationutils.ValidationOutput{
3595
+ TestName: "VALID_ENUM_MESSAGE_TYPE_3",
3596
+ Valid: valid,
3597
+ Code: 0,
3598
+ DebugInfo: &validationutils.DebugInfo{
3599
+ FedConfig: configureDebugInfo,
3600
+ },
3601
+ }
3602
+
3603
+ if valid {
3604
+ result.Code = 200
3605
+ } else {
3606
+ result.Code = 30000
3607
+ }
3608
+
3609
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3610
+ results = append(results, result)
3611
+ results = append(results, subResults...)
3612
+
3613
+ return results, nil
3614
+ }
3615
+ var VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3616
+
3617
+ if input.Config.SkipTestsDict != nil {
3618
+ if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY"]; skip {
3619
+ return []validationutils.ValidationOutput{}, nil
3620
+ }
3621
+ }
3622
+
3623
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3624
+
3625
+ subResults := make([]validationutils.ValidationOutput, 0)
3626
+ valid := true
3627
+ configureDebugInfo := ""
3628
+ for _, testObjMap := range scope {
3629
+ validationutils.UnusedFunction(testObjMap)
3630
+
3631
+ enumList := validationutils.StringSliceToInterface([]string{`lbnp`, `lsp`})
3632
+ validationutils.UnusedFunction(enumList)
3633
+ enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.payment['@ondc/org/settlement_details'][*].settlement_counterparty", true)
3634
+ validationutils.UnusedFunction(enumPath)
3635
+
3636
+ skipCheck := !(validationutils.ArePresent(enumPath))
3637
+ if skipCheck {
3638
+ continue
3639
+ }
3640
+
3641
+ validate := validationutils.AllIn(enumPath, enumList)
3642
+
3643
+ configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY","enumList":["lbnp","lsp"],"enumPath":"$.message.order.payment['@ondc/org/settlement_details'][*].settlement_counterparty","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
3644
+
3645
+ if !validate {
3646
+ result := validationutils.ValidationOutput{
3647
+ TestName: "VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY",
3648
+ Valid: false,
3649
+ Code: 30000,
3650
+ Description: `#### **VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY**
3651
+
3652
+ - All elements of $.message.order.payment['@ondc/org/settlement_details'][*].settlement_counterparty must be in ["lbnp", "lsp"]
3653
+
3654
+ > **Skip if:**
3655
+ >
3656
+ > - $.message.order.payment['@ondc/org/settlement_details'][*].settlement_counterparty is not in the payload`,
3657
+ DebugInfo: &validationutils.DebugInfo{
3658
+ FedConfig: configureDebugInfo,
3659
+ },
3660
+ }
3661
+ return []validationutils.ValidationOutput{result}, nil
3662
+ }
3663
+
3664
+ }
3665
+
3666
+ result := validationutils.ValidationOutput{
3667
+ TestName: "VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY",
3668
+ Valid: valid,
3669
+ Code: 0,
3670
+ DebugInfo: &validationutils.DebugInfo{
3671
+ FedConfig: configureDebugInfo,
3672
+ },
3673
+ }
3674
+
3675
+ if valid {
3676
+ result.Code = 200
3677
+ } else {
3678
+ result.Code = 30000
3679
+ }
3680
+
3681
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3682
+ results = append(results, result)
3683
+ results = append(results, subResults...)
3684
+
3685
+ return results, nil
3686
+ }
3687
+ var Validate_tag_0 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3688
+
3689
+ if input.Config.SkipTestsDict != nil {
3690
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_0"]; skip {
3691
+ return []validationutils.ValidationOutput{}, nil
3692
+ }
3693
+ }
3694
+
3695
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3696
+
3697
+ subResults := make([]validationutils.ValidationOutput, 0)
3698
+ valid := true
3699
+ configureDebugInfo := ""
3700
+ for _, testObjMap := range scope {
3701
+ validationutils.UnusedFunction(testObjMap)
3702
+
3703
+ validTags := validationutils.StringSliceToInterface([]string{`masked_contact`})
3704
+ validationutils.UnusedFunction(validTags)
3705
+ tagPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.contact.tags[*].code", true)
3706
+ validationutils.UnusedFunction(tagPath)
3707
+
3708
+ skipCheck := !(validationutils.ArePresent(tagPath))
3709
+ if skipCheck {
3710
+ continue
3711
+ }
3712
+
3713
+ validate := validationutils.AllIn(tagPath, validTags)
3714
+
3715
+ configureDebugInfo = `{"_NAME_":"validate_tag_0","validTags":["masked_contact"],"tagPath":"$.message.order.fulfillments[*].start.contact.tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
3716
+
3717
+ if !validate {
3718
+ result := validationutils.ValidationOutput{
3719
+ TestName: "validate_tag_0",
3720
+ Valid: false,
3721
+ Code: 30000,
3722
+ Description: `#### **validate_tag_0**
3723
+
3724
+ - All elements of $.message.order.fulfillments[*].start.contact.tags[*].code must be in ["masked_contact"]
3725
+
3726
+ > **Skip if:**
3727
+ >
3728
+ > - $.message.order.fulfillments[*].start.contact.tags[*].code is not in the payload`,
3729
+ DebugInfo: &validationutils.DebugInfo{
3730
+ FedConfig: configureDebugInfo,
3731
+ },
3732
+ }
3733
+ return []validationutils.ValidationOutput{result}, nil
3734
+ }
3735
+
3736
+ }
3737
+
3738
+ result := validationutils.ValidationOutput{
3739
+ TestName: "Validate_tag_0",
3740
+ Valid: valid,
3741
+ Code: 0,
3742
+ DebugInfo: &validationutils.DebugInfo{
3743
+ FedConfig: configureDebugInfo,
3744
+ },
3745
+ }
3746
+
3747
+ if valid {
3748
+ result.Code = 200
3749
+ } else {
3750
+ result.Code = 30000
3751
+ }
3752
+
3753
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3754
+ results = append(results, result)
3755
+ results = append(results, subResults...)
3756
+
3757
+ return results, nil
3758
+ }
3759
+ var Validate_tag_0_masked_contact = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3760
+
3761
+ if input.Config.SkipTestsDict != nil {
3762
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_0_masked_contact"]; skip {
3763
+ return []validationutils.ValidationOutput{}, nil
3764
+ }
3765
+ }
3766
+
3767
+ scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].start.contact.tags[?(@.code=='masked_contact')]", true)
3768
+
3769
+ subResults := make([]validationutils.ValidationOutput, 0)
3770
+ valid := true
3771
+ configureDebugInfo := ""
3772
+ for _, testObjMap := range scope {
3773
+ validationutils.UnusedFunction(testObjMap)
3774
+
3775
+ subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
3776
+ validationutils.UnusedFunction(subTags)
3777
+ validValues := validationutils.StringSliceToInterface([]string{`type`, `setup`, `token`})
3778
+ validationutils.UnusedFunction(validValues)
3779
+
3780
+ validate := validationutils.AllIn(subTags, validValues)
3781
+
3782
+ configureDebugInfo = `{"_NAME_":"validate_tag_0_masked_contact","_SCOPE_":"$.message.order.fulfillments[*].start.contact.tags[?(@.code=='masked_contact')]","subTags":"$.list[*].code","validValues":["type","setup","token"],"_RETURN_":"subTags all in validValues"}`
3783
+
3784
+ if !validate {
3785
+ result := validationutils.ValidationOutput{
3786
+ TestName: "validate_tag_0_masked_contact",
3787
+ Valid: false,
3788
+ Code: 30000,
3789
+ Description: `#### **validate_tag_0_masked_contact**
3790
+
3791
+ - All elements of $.message.order.fulfillments[*].start.contact.tags[?(@.code=='masked_contact')].list[*].code must be in ["type", "setup", "token"]`,
3792
+ DebugInfo: &validationutils.DebugInfo{
3793
+ FedConfig: configureDebugInfo,
3794
+ },
3795
+ }
3796
+ return []validationutils.ValidationOutput{result}, nil
3797
+ }
3798
+
3799
+ }
3800
+
3801
+ result := validationutils.ValidationOutput{
3802
+ TestName: "Validate_tag_0_masked_contact",
3803
+ Valid: valid,
3804
+ Code: 0,
3805
+ DebugInfo: &validationutils.DebugInfo{
3806
+ FedConfig: configureDebugInfo,
3807
+ },
3808
+ }
3809
+
3810
+ if valid {
3811
+ result.Code = 200
3812
+ } else {
3813
+ result.Code = 30000
3814
+ }
3815
+
3816
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3817
+ results = append(results, result)
3818
+ results = append(results, subResults...)
3819
+
3820
+ return results, nil
3821
+ }
3822
+ var Validate_tag_1 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3823
+
3824
+ if input.Config.SkipTestsDict != nil {
3825
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_1"]; skip {
3826
+ return []validationutils.ValidationOutput{}, nil
3827
+ }
3828
+ }
3829
+
3830
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3831
+
3832
+ subResults := make([]validationutils.ValidationOutput, 0)
3833
+ valid := true
3834
+ configureDebugInfo := ""
3835
+ for _, testObjMap := range scope {
3836
+ validationutils.UnusedFunction(testObjMap)
3837
+
3838
+ validTags := validationutils.StringSliceToInterface([]string{`masked_contact`})
3839
+ validationutils.UnusedFunction(validTags)
3840
+ tagPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.contact.tags[*].code", true)
3841
+ validationutils.UnusedFunction(tagPath)
3842
+
3843
+ skipCheck := !(validationutils.ArePresent(tagPath))
3844
+ if skipCheck {
3845
+ continue
3846
+ }
3847
+
3848
+ validate := validationutils.AllIn(tagPath, validTags)
3849
+
3850
+ configureDebugInfo = `{"_NAME_":"validate_tag_1","validTags":["masked_contact"],"tagPath":"$.message.order.fulfillments[*].end.contact.tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
3851
+
3852
+ if !validate {
3853
+ result := validationutils.ValidationOutput{
3854
+ TestName: "validate_tag_1",
3855
+ Valid: false,
3856
+ Code: 30000,
3857
+ Description: `#### **validate_tag_1**
3858
+
3859
+ - All elements of $.message.order.fulfillments[*].end.contact.tags[*].code must be in ["masked_contact"]
3860
+
3861
+ > **Skip if:**
3862
+ >
3863
+ > - $.message.order.fulfillments[*].end.contact.tags[*].code is not in the payload`,
3864
+ DebugInfo: &validationutils.DebugInfo{
3865
+ FedConfig: configureDebugInfo,
3866
+ },
3867
+ }
3868
+ return []validationutils.ValidationOutput{result}, nil
3869
+ }
3870
+
3871
+ }
3872
+
3873
+ result := validationutils.ValidationOutput{
3874
+ TestName: "Validate_tag_1",
3875
+ Valid: valid,
3876
+ Code: 0,
3877
+ DebugInfo: &validationutils.DebugInfo{
3878
+ FedConfig: configureDebugInfo,
3879
+ },
3880
+ }
3881
+
3882
+ if valid {
3883
+ result.Code = 200
3884
+ } else {
3885
+ result.Code = 30000
3886
+ }
3887
+
3888
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3889
+ results = append(results, result)
3890
+ results = append(results, subResults...)
3891
+
3892
+ return results, nil
3893
+ }
3894
+ var Validate_tag_1_masked_contact = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3895
+
3896
+ if input.Config.SkipTestsDict != nil {
3897
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_1_masked_contact"]; skip {
3898
+ return []validationutils.ValidationOutput{}, nil
3899
+ }
3900
+ }
3901
+
3902
+ scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].end.contact.tags[?(@.code=='masked_contact')]", true)
3903
+
3904
+ subResults := make([]validationutils.ValidationOutput, 0)
3905
+ valid := true
3906
+ configureDebugInfo := ""
3907
+ for _, testObjMap := range scope {
3908
+ validationutils.UnusedFunction(testObjMap)
3909
+
3910
+ subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
3911
+ validationutils.UnusedFunction(subTags)
3912
+ validValues := validationutils.StringSliceToInterface([]string{`type`, `setup`, `token`})
3913
+ validationutils.UnusedFunction(validValues)
3914
+
3915
+ validate := validationutils.AllIn(subTags, validValues)
3916
+
3917
+ configureDebugInfo = `{"_NAME_":"validate_tag_1_masked_contact","_SCOPE_":"$.message.order.fulfillments[*].end.contact.tags[?(@.code=='masked_contact')]","subTags":"$.list[*].code","validValues":["type","setup","token"],"_RETURN_":"subTags all in validValues"}`
3918
+
3919
+ if !validate {
3920
+ result := validationutils.ValidationOutput{
3921
+ TestName: "validate_tag_1_masked_contact",
3922
+ Valid: false,
3923
+ Code: 30000,
3924
+ Description: `#### **validate_tag_1_masked_contact**
3925
+
3926
+ - All elements of $.message.order.fulfillments[*].end.contact.tags[?(@.code=='masked_contact')].list[*].code must be in ["type", "setup", "token"]`,
3927
+ DebugInfo: &validationutils.DebugInfo{
3928
+ FedConfig: configureDebugInfo,
3929
+ },
3930
+ }
3931
+ return []validationutils.ValidationOutput{result}, nil
3932
+ }
3933
+
3934
+ }
3935
+
3936
+ result := validationutils.ValidationOutput{
3937
+ TestName: "Validate_tag_1_masked_contact",
3938
+ Valid: valid,
3939
+ Code: 0,
3940
+ DebugInfo: &validationutils.DebugInfo{
3941
+ FedConfig: configureDebugInfo,
3942
+ },
3943
+ }
3944
+
3945
+ if valid {
3946
+ result.Code = 200
3947
+ } else {
3948
+ result.Code = 30000
3949
+ }
3950
+
3951
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3952
+ results = append(results, result)
3953
+ results = append(results, subResults...)
3954
+
3955
+ return results, nil
3956
+ }
3957
+ var Validate_tag_2 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
3958
+
3959
+ if input.Config.SkipTestsDict != nil {
3960
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_2"]; skip {
3961
+ return []validationutils.ValidationOutput{}, nil
3962
+ }
3963
+ }
3964
+
3965
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
3966
+
3967
+ subResults := make([]validationutils.ValidationOutput, 0)
3968
+ valid := true
3969
+ configureDebugInfo := ""
3970
+ for _, testObjMap := range scope {
3971
+ validationutils.UnusedFunction(testObjMap)
3972
+
3973
+ validTags := validationutils.StringSliceToInterface([]string{`linked_provider`, `fulfill_request`, `fulfill_response`, `linked_order`, `special_req`, `linked_package`, `motorable_distance`})
3974
+ validationutils.UnusedFunction(validTags)
3975
+ tagPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].tags[*].code", true)
3976
+ validationutils.UnusedFunction(tagPath)
3977
+
3978
+ skipCheck := !(validationutils.ArePresent(tagPath))
3979
+ if skipCheck {
3980
+ continue
3981
+ }
3982
+
3983
+ validate := validationutils.AllIn(tagPath, validTags)
3984
+
3985
+ configureDebugInfo = `{"_NAME_":"validate_tag_2","validTags":["linked_provider","fulfill_request","fulfill_response","linked_order","special_req","linked_package","motorable_distance"],"tagPath":"$.message.order.fulfillments[*].tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
3986
+
3987
+ if !validate {
3988
+ result := validationutils.ValidationOutput{
3989
+ TestName: "validate_tag_2",
3990
+ Valid: false,
3991
+ Code: 30000,
3992
+ Description: `#### **validate_tag_2**
3993
+
3994
+ - All elements of $.message.order.fulfillments[*].tags[*].code must be in ["linked_provider", "fulfill_request", "fulfill_response", "linked_order", "special_req", "linked_package", "motorable_distance"]
3995
+
3996
+ > **Skip if:**
3997
+ >
3998
+ > - $.message.order.fulfillments[*].tags[*].code is not in the payload`,
3999
+ DebugInfo: &validationutils.DebugInfo{
4000
+ FedConfig: configureDebugInfo,
4001
+ },
4002
+ }
4003
+ return []validationutils.ValidationOutput{result}, nil
4004
+ }
4005
+
4006
+ }
4007
+
4008
+ result := validationutils.ValidationOutput{
4009
+ TestName: "Validate_tag_2",
4010
+ Valid: valid,
4011
+ Code: 0,
4012
+ DebugInfo: &validationutils.DebugInfo{
4013
+ FedConfig: configureDebugInfo,
4014
+ },
4015
+ }
4016
+
4017
+ if valid {
4018
+ result.Code = 200
4019
+ } else {
4020
+ result.Code = 30000
4021
+ }
4022
+
4023
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4024
+ results = append(results, result)
4025
+ results = append(results, subResults...)
4026
+
4027
+ return results, nil
4028
+ }
4029
+ var Validate_tag_2_linked_provider = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4030
+
4031
+ if input.Config.SkipTestsDict != nil {
4032
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_2_linked_provider"]; skip {
4033
+ return []validationutils.ValidationOutput{}, nil
4034
+ }
4035
+ }
4036
+
4037
+ scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='linked_provider')]", true)
4038
+
4039
+ subResults := make([]validationutils.ValidationOutput, 0)
4040
+ valid := true
4041
+ configureDebugInfo := ""
4042
+ for _, testObjMap := range scope {
4043
+ validationutils.UnusedFunction(testObjMap)
4044
+
4045
+ subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
4046
+ validationutils.UnusedFunction(subTags)
4047
+ validValues := validationutils.StringSliceToInterface([]string{`id`, `name`, `address`, `cred_code`, `cred_desc`, `tax_id`})
4048
+ validationutils.UnusedFunction(validValues)
4049
+
4050
+ validate := validationutils.AllIn(subTags, validValues)
4051
+
4052
+ configureDebugInfo = `{"_NAME_":"validate_tag_2_linked_provider","_SCOPE_":"$.message.order.fulfillments[*].tags[?(@.code=='linked_provider')]","subTags":"$.list[*].code","validValues":["id","name","address","cred_code","cred_desc","tax_id"],"_RETURN_":"subTags all in validValues"}`
4053
+
4054
+ if !validate {
4055
+ result := validationutils.ValidationOutput{
4056
+ TestName: "validate_tag_2_linked_provider",
4057
+ Valid: false,
4058
+ Code: 30000,
4059
+ Description: `#### **validate_tag_2_linked_provider**
4060
+
4061
+ - All elements of $.message.order.fulfillments[*].tags[?(@.code=='linked_provider')].list[*].code must be in ["id", "name", "address", "cred_code", "cred_desc", "tax_id"]`,
4062
+ DebugInfo: &validationutils.DebugInfo{
4063
+ FedConfig: configureDebugInfo,
4064
+ },
4065
+ }
4066
+ return []validationutils.ValidationOutput{result}, nil
4067
+ }
4068
+
4069
+ }
4070
+
4071
+ result := validationutils.ValidationOutput{
4072
+ TestName: "Validate_tag_2_linked_provider",
4073
+ Valid: valid,
4074
+ Code: 0,
4075
+ DebugInfo: &validationutils.DebugInfo{
4076
+ FedConfig: configureDebugInfo,
4077
+ },
4078
+ }
4079
+
4080
+ if valid {
4081
+ result.Code = 200
4082
+ } else {
4083
+ result.Code = 30000
4084
+ }
4085
+
4086
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4087
+ results = append(results, result)
4088
+ results = append(results, subResults...)
4089
+
4090
+ return results, nil
4091
+ }
4092
+ var Validate_tag_2_fulfill_request = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4093
+
4094
+ if input.Config.SkipTestsDict != nil {
4095
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_2_fulfill_request"]; skip {
4096
+ return []validationutils.ValidationOutput{}, nil
4097
+ }
4098
+ }
4099
+
4100
+ scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='fulfill_request')]", true)
4101
+
4102
+ subResults := make([]validationutils.ValidationOutput, 0)
4103
+ valid := true
4104
+ configureDebugInfo := ""
4105
+ for _, testObjMap := range scope {
4106
+ validationutils.UnusedFunction(testObjMap)
4107
+
4108
+ subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
4109
+ validationutils.UnusedFunction(subTags)
4110
+ validValues := validationutils.StringSliceToInterface([]string{`rider_count`, `order_count`, `rate_basis`, `motorable_distance`, `pickup_slot_start`, `pickup_slot_end`, `delivery_slot_start`, `delivery_slot_end`})
4111
+ validationutils.UnusedFunction(validValues)
4112
+
4113
+ validate := validationutils.AllIn(subTags, validValues)
4114
+
4115
+ configureDebugInfo = `{"_NAME_":"validate_tag_2_fulfill_request","_SCOPE_":"$.message.order.fulfillments[*].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"}`
4116
+
4117
+ if !validate {
4118
+ result := validationutils.ValidationOutput{
4119
+ TestName: "validate_tag_2_fulfill_request",
4120
+ Valid: false,
4121
+ Code: 30000,
4122
+ Description: `#### **validate_tag_2_fulfill_request**
4123
+
4124
+ - All elements of $.message.order.fulfillments[*].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"]`,
4125
+ DebugInfo: &validationutils.DebugInfo{
4126
+ FedConfig: configureDebugInfo,
4127
+ },
4128
+ }
4129
+ return []validationutils.ValidationOutput{result}, nil
4130
+ }
4131
+
4132
+ }
4133
+
4134
+ result := validationutils.ValidationOutput{
4135
+ TestName: "Validate_tag_2_fulfill_request",
4136
+ Valid: valid,
4137
+ Code: 0,
4138
+ DebugInfo: &validationutils.DebugInfo{
4139
+ FedConfig: configureDebugInfo,
4140
+ },
4141
+ }
4142
+
4143
+ if valid {
4144
+ result.Code = 200
4145
+ } else {
4146
+ result.Code = 30000
4147
+ }
4148
+
4149
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4150
+ results = append(results, result)
4151
+ results = append(results, subResults...)
4152
+
4153
+ return results, nil
4154
+ }
4155
+ var Validate_tag_2_fulfill_response = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4156
+
4157
+ if input.Config.SkipTestsDict != nil {
4158
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_2_fulfill_response"]; skip {
4159
+ return []validationutils.ValidationOutput{}, nil
4160
+ }
4161
+ }
4162
+
4163
+ scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='fulfill_response')]", true)
4164
+
4165
+ subResults := make([]validationutils.ValidationOutput, 0)
4166
+ valid := true
4167
+ configureDebugInfo := ""
4168
+ for _, testObjMap := range scope {
4169
+ validationutils.UnusedFunction(testObjMap)
4170
+
4171
+ subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
4172
+ validationutils.UnusedFunction(subTags)
4173
+ validValues := validationutils.StringSliceToInterface([]string{`rider_count`, `order_count`, `rate_basis`})
4174
+ validationutils.UnusedFunction(validValues)
4175
+
4176
+ validate := validationutils.AllIn(subTags, validValues)
4177
+
4178
+ configureDebugInfo = `{"_NAME_":"validate_tag_2_fulfill_response","_SCOPE_":"$.message.order.fulfillments[*].tags[?(@.code=='fulfill_response')]","subTags":"$.list[*].code","validValues":["rider_count","order_count","rate_basis"],"_RETURN_":"subTags all in validValues"}`
4179
+
4180
+ if !validate {
4181
+ result := validationutils.ValidationOutput{
4182
+ TestName: "validate_tag_2_fulfill_response",
4183
+ Valid: false,
4184
+ Code: 30000,
4185
+ Description: `#### **validate_tag_2_fulfill_response**
4186
+
4187
+ - All elements of $.message.order.fulfillments[*].tags[?(@.code=='fulfill_response')].list[*].code must be in ["rider_count", "order_count", "rate_basis"]`,
4188
+ DebugInfo: &validationutils.DebugInfo{
4189
+ FedConfig: configureDebugInfo,
4190
+ },
4191
+ }
4192
+ return []validationutils.ValidationOutput{result}, nil
4193
+ }
4194
+
4195
+ }
4196
+
4197
+ result := validationutils.ValidationOutput{
4198
+ TestName: "Validate_tag_2_fulfill_response",
4199
+ Valid: valid,
4200
+ Code: 0,
4201
+ DebugInfo: &validationutils.DebugInfo{
4202
+ FedConfig: configureDebugInfo,
4203
+ },
4204
+ }
4205
+
4206
+ if valid {
4207
+ result.Code = 200
4208
+ } else {
4209
+ result.Code = 30000
4210
+ }
4211
+
4212
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4213
+ results = append(results, result)
4214
+ results = append(results, subResults...)
4215
+
4216
+ return results, nil
4217
+ }
4218
+ var Validate_tag_2_linked_order = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4219
+
4220
+ if input.Config.SkipTestsDict != nil {
4221
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_2_linked_order"]; skip {
4222
+ return []validationutils.ValidationOutput{}, nil
4223
+ }
4224
+ }
4225
+
4226
+ scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='linked_order')]", true)
4227
+
4228
+ subResults := make([]validationutils.ValidationOutput, 0)
4229
+ valid := true
4230
+ configureDebugInfo := ""
4231
+ for _, testObjMap := range scope {
4232
+ validationutils.UnusedFunction(testObjMap)
4233
+
4234
+ subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
4235
+ validationutils.UnusedFunction(subTags)
4236
+ validValues := validationutils.StringSliceToInterface([]string{`id`, `cod_order`, `collection_amount`, `currency`, `declared_value`, `category`, `weight_unit`, `weight_value`, `dim_unit`, `length`, `breadth`, `height`})
4237
+ validationutils.UnusedFunction(validValues)
4238
+
4239
+ validate := validationutils.AllIn(subTags, validValues)
4240
+
4241
+ configureDebugInfo = `{"_NAME_":"validate_tag_2_linked_order","_SCOPE_":"$.message.order.fulfillments[*].tags[?(@.code=='linked_order')]","subTags":"$.list[*].code","validValues":["id","cod_order","collection_amount","currency","declared_value","category","weight_unit","weight_value","dim_unit","length","breadth","height"],"_RETURN_":"subTags all in validValues"}`
4242
+
4243
+ if !validate {
4244
+ result := validationutils.ValidationOutput{
4245
+ TestName: "validate_tag_2_linked_order",
4246
+ Valid: false,
4247
+ Code: 30000,
4248
+ Description: `#### **validate_tag_2_linked_order**
4249
+
4250
+ - All elements of $.message.order.fulfillments[*].tags[?(@.code=='linked_order')].list[*].code must be in ["id", "cod_order", "collection_amount", "currency", "declared_value", "category", "weight_unit", "weight_value", "dim_unit", "length", "breadth", "height"]`,
4251
+ DebugInfo: &validationutils.DebugInfo{
4252
+ FedConfig: configureDebugInfo,
4253
+ },
4254
+ }
4255
+ return []validationutils.ValidationOutput{result}, nil
4256
+ }
4257
+
4258
+ }
4259
+
4260
+ result := validationutils.ValidationOutput{
4261
+ TestName: "Validate_tag_2_linked_order",
4262
+ Valid: valid,
4263
+ Code: 0,
4264
+ DebugInfo: &validationutils.DebugInfo{
4265
+ FedConfig: configureDebugInfo,
4266
+ },
4267
+ }
4268
+
4269
+ if valid {
4270
+ result.Code = 200
4271
+ } else {
4272
+ result.Code = 30000
4273
+ }
4274
+
4275
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4276
+ results = append(results, result)
4277
+ results = append(results, subResults...)
4278
+
4279
+ return results, nil
4280
+ }
4281
+ var Validate_tag_3 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4282
+
4283
+ if input.Config.SkipTestsDict != nil {
4284
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_3"]; skip {
4285
+ return []validationutils.ValidationOutput{}, nil
4286
+ }
4287
+ }
4288
+
4289
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
4290
+
4291
+ subResults := make([]validationutils.ValidationOutput, 0)
4292
+ valid := true
4293
+ configureDebugInfo := ""
4294
+ for _, testObjMap := range scope {
4295
+ validationutils.UnusedFunction(testObjMap)
4296
+
4297
+ validTags := validationutils.StringSliceToInterface([]string{`type`})
4298
+ validationutils.UnusedFunction(validTags)
4299
+ tagPath := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].tags[*].code", true)
4300
+ validationutils.UnusedFunction(tagPath)
4301
+
4302
+ skipCheck := !(validationutils.ArePresent(tagPath))
4303
+ if skipCheck {
4304
+ continue
4305
+ }
4306
+
4307
+ validate := validationutils.AllIn(tagPath, validTags)
4308
+
4309
+ configureDebugInfo = `{"_NAME_":"validate_tag_3","validTags":["type"],"tagPath":"$.message.order.items[*].tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
4310
+
4311
+ if !validate {
4312
+ result := validationutils.ValidationOutput{
4313
+ TestName: "validate_tag_3",
4314
+ Valid: false,
4315
+ Code: 30000,
4316
+ Description: `#### **validate_tag_3**
4317
+
4318
+ - All elements of $.message.order.items[*].tags[*].code must be in ["type"]
4319
+
4320
+ > **Skip if:**
4321
+ >
4322
+ > - $.message.order.items[*].tags[*].code is not in the payload`,
4323
+ DebugInfo: &validationutils.DebugInfo{
4324
+ FedConfig: configureDebugInfo,
4325
+ },
4326
+ }
4327
+ return []validationutils.ValidationOutput{result}, nil
4328
+ }
4329
+
4330
+ }
4331
+
4332
+ result := validationutils.ValidationOutput{
4333
+ TestName: "Validate_tag_3",
4334
+ Valid: valid,
4335
+ Code: 0,
4336
+ DebugInfo: &validationutils.DebugInfo{
4337
+ FedConfig: configureDebugInfo,
4338
+ },
4339
+ }
4340
+
4341
+ if valid {
4342
+ result.Code = 200
4343
+ } else {
4344
+ result.Code = 30000
4345
+ }
4346
+
4347
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4348
+ results = append(results, result)
4349
+ results = append(results, subResults...)
4350
+
4351
+ return results, nil
4352
+ }
4353
+ var Validate_tag_3_type = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4354
+
4355
+ if input.Config.SkipTestsDict != nil {
4356
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_3_type"]; skip {
4357
+ return []validationutils.ValidationOutput{}, nil
4358
+ }
4359
+ }
4360
+
4361
+ scope := validationutils.GetJsonPath(input.Payload, "$.message.order.items[*].tags[?(@.code=='type')]", true)
4362
+
4363
+ subResults := make([]validationutils.ValidationOutput, 0)
4364
+ valid := true
4365
+ configureDebugInfo := ""
4366
+ for _, testObjMap := range scope {
4367
+ validationutils.UnusedFunction(testObjMap)
4368
+
4369
+ subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
4370
+ validationutils.UnusedFunction(subTags)
4371
+ validValues := validationutils.StringSliceToInterface([]string{`type`})
4372
+ validationutils.UnusedFunction(validValues)
4373
+
4374
+ validate := validationutils.AllIn(subTags, validValues)
4375
+
4376
+ configureDebugInfo = `{"_NAME_":"validate_tag_3_type","_SCOPE_":"$.message.order.items[*].tags[?(@.code=='type')]","subTags":"$.list[*].code","validValues":["type"],"_RETURN_":"subTags all in validValues"}`
4377
+
4378
+ if !validate {
4379
+ result := validationutils.ValidationOutput{
4380
+ TestName: "validate_tag_3_type",
4381
+ Valid: false,
4382
+ Code: 30000,
4383
+ Description: `#### **validate_tag_3_type**
4384
+
4385
+ - All elements of $.message.order.items[*].tags[?(@.code=='type')].list[*].code must be in ["type"]`,
4386
+ DebugInfo: &validationutils.DebugInfo{
4387
+ FedConfig: configureDebugInfo,
4388
+ },
4389
+ }
4390
+ return []validationutils.ValidationOutput{result}, nil
4391
+ }
4392
+
4393
+ }
4394
+
4395
+ result := validationutils.ValidationOutput{
4396
+ TestName: "Validate_tag_3_type",
4397
+ Valid: valid,
4398
+ Code: 0,
4399
+ DebugInfo: &validationutils.DebugInfo{
4400
+ FedConfig: configureDebugInfo,
4401
+ },
4402
+ }
4403
+
4404
+ if valid {
4405
+ result.Code = 200
4406
+ } else {
4407
+ result.Code = 30000
4408
+ }
4409
+
4410
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4411
+ results = append(results, result)
4412
+ results = append(results, subResults...)
4413
+
4414
+ return results, nil
4415
+ }
4416
+ var Validate_tag_4 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4417
+
4418
+ if input.Config.SkipTestsDict != nil {
4419
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_4"]; skip {
4420
+ return []validationutils.ValidationOutput{}, nil
4421
+ }
4422
+ }
4423
+
4424
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
4425
+
4426
+ subResults := make([]validationutils.ValidationOutput, 0)
4427
+ valid := true
4428
+ configureDebugInfo := ""
4429
+ for _, testObjMap := range scope {
4430
+ validationutils.UnusedFunction(testObjMap)
4431
+
4432
+ validTags := validationutils.StringSliceToInterface([]string{`bap_terms`})
4433
+ validationutils.UnusedFunction(validTags)
4434
+ tagPath := validationutils.GetJsonPath(testObjMap, "$.message.order.tags[*].code", true)
4435
+ validationutils.UnusedFunction(tagPath)
4436
+
4437
+ skipCheck := !(validationutils.ArePresent(tagPath))
4438
+ if skipCheck {
4439
+ continue
4440
+ }
4441
+
4442
+ validate := validationutils.AllIn(tagPath, validTags)
4443
+
4444
+ configureDebugInfo = `{"_NAME_":"validate_tag_4","validTags":["bap_terms"],"tagPath":"$.message.order.tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
4445
+
4446
+ if !validate {
4447
+ result := validationutils.ValidationOutput{
4448
+ TestName: "validate_tag_4",
4449
+ Valid: false,
4450
+ Code: 30000,
4451
+ Description: `#### **validate_tag_4**
4452
+
4453
+ - All elements of $.message.order.tags[*].code must be in ["bap_terms"]
4454
+
4455
+ > **Skip if:**
4456
+ >
4457
+ > - $.message.order.tags[*].code is not in the payload`,
4458
+ DebugInfo: &validationutils.DebugInfo{
4459
+ FedConfig: configureDebugInfo,
4460
+ },
4461
+ }
4462
+ return []validationutils.ValidationOutput{result}, nil
4463
+ }
4464
+
4465
+ }
4466
+
4467
+ result := validationutils.ValidationOutput{
4468
+ TestName: "Validate_tag_4",
4469
+ Valid: valid,
4470
+ Code: 0,
4471
+ DebugInfo: &validationutils.DebugInfo{
4472
+ FedConfig: configureDebugInfo,
4473
+ },
4474
+ }
4475
+
4476
+ if valid {
4477
+ result.Code = 200
4478
+ } else {
4479
+ result.Code = 30000
4480
+ }
4481
+
4482
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4483
+ results = append(results, result)
4484
+ results = append(results, subResults...)
4485
+
4486
+ return results, nil
4487
+ }
4488
+ var Validate_tag_4_bap_terms = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4489
+
4490
+ if input.Config.SkipTestsDict != nil {
4491
+ if _, skip := input.Config.SkipTestsDict["Validate_tag_4_bap_terms"]; skip {
4492
+ return []validationutils.ValidationOutput{}, nil
4493
+ }
4494
+ }
4495
+
4496
+ scope := validationutils.GetJsonPath(input.Payload, "$.message.order.tags[?(@.code=='bap_terms')]", true)
4497
+
4498
+ subResults := make([]validationutils.ValidationOutput, 0)
4499
+ valid := true
4500
+ configureDebugInfo := ""
4501
+ for _, testObjMap := range scope {
4502
+ validationutils.UnusedFunction(testObjMap)
4503
+
4504
+ subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
4505
+ validationutils.UnusedFunction(subTags)
4506
+ validValues := validationutils.StringSliceToInterface([]string{`accept_bpp_terms`})
4507
+ validationutils.UnusedFunction(validValues)
4508
+
4509
+ validate := validationutils.AllIn(subTags, validValues)
4510
+
4511
+ configureDebugInfo = `{"_NAME_":"validate_tag_4_bap_terms","_SCOPE_":"$.message.order.tags[?(@.code=='bap_terms')]","subTags":"$.list[*].code","validValues":["accept_bpp_terms"],"_RETURN_":"subTags all in validValues"}`
4512
+
4513
+ if !validate {
4514
+ result := validationutils.ValidationOutput{
4515
+ TestName: "validate_tag_4_bap_terms",
4516
+ Valid: false,
4517
+ Code: 30000,
4518
+ Description: `#### **validate_tag_4_bap_terms**
4519
+
4520
+ - All elements of $.message.order.tags[?(@.code=='bap_terms')].list[*].code must be in ["accept_bpp_terms"]`,
4521
+ DebugInfo: &validationutils.DebugInfo{
4522
+ FedConfig: configureDebugInfo,
4523
+ },
4524
+ }
4525
+ return []validationutils.ValidationOutput{result}, nil
4526
+ }
4527
+
4528
+ }
4529
+
4530
+ result := validationutils.ValidationOutput{
4531
+ TestName: "Validate_tag_4_bap_terms",
4532
+ Valid: valid,
4533
+ Code: 0,
4534
+ DebugInfo: &validationutils.DebugInfo{
4535
+ FedConfig: configureDebugInfo,
4536
+ },
4537
+ }
4538
+
4539
+ if valid {
4540
+ result.Code = 200
4541
+ } else {
4542
+ result.Code = 30000
4543
+ }
4544
+
4545
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4546
+ results = append(results, result)
4547
+ results = append(results, subResults...)
4548
+
4549
+ return results, nil
4550
+ }
4551
+ var Init_fulfillment_id_validations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4552
+
4553
+ if input.Config.SkipTestsDict != nil {
4554
+ if _, skip := input.Config.SkipTestsDict["Init_fulfillment_id_validations"]; skip {
4555
+ return []validationutils.ValidationOutput{}, nil
4556
+ }
4557
+ }
4558
+
4559
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
4560
+
4561
+ subResults := make([]validationutils.ValidationOutput, 0)
4562
+ valid := true
4563
+ configureDebugInfo := ""
4564
+ for _, testObjMap := range scope {
4565
+ validationutils.UnusedFunction(testObjMap)
4566
+
4567
+ var Validate_fulfillment_id_in_items = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4568
+
4569
+ if input.Config.SkipTestsDict != nil {
4570
+ if _, skip := input.Config.SkipTestsDict["Validate_fulfillment_id_in_items"]; skip {
4571
+ return []validationutils.ValidationOutput{}, nil
4572
+ }
4573
+ }
4574
+
4575
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
4576
+
4577
+ subResults := make([]validationutils.ValidationOutput, 0)
4578
+ valid := true
4579
+ configureDebugInfo := ""
4580
+ for _, testObjMap := range scope {
4581
+ validationutils.UnusedFunction(testObjMap)
4582
+
4583
+ fulfillment_id := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].fulfillment_id", true)
4584
+ validationutils.UnusedFunction(fulfillment_id)
4585
+ fulfillment_ids := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].fulfillment_ids[*]", true)
4586
+ validationutils.UnusedFunction(fulfillment_ids)
4587
+
4588
+ validate := (validationutils.ArePresent(fulfillment_id)) || (validationutils.ArePresent(fulfillment_ids))
4589
+
4590
+ configureDebugInfo = `{"_NAME_":"validate_fulfillment_id_in_items","_DESCRIPTION_":"fulfillment_id or fulfillment_ids should be present in items","fulfillment_id":"$.message.order.items[*].fulfillment_id","fulfillment_ids":"$.message.order.items[*].fulfillment_ids[*]","_RETURN_":"fulfillment_id are present || fulfillment_ids are present"}`
4591
+
4592
+ if !validate {
4593
+ result := validationutils.ValidationOutput{
4594
+ TestName: "validate_fulfillment_id_in_items",
4595
+ Valid: false,
4596
+ Code: 30000,
4597
+ Description: `#### **validate_fulfillment_id_in_items**
4598
+
4599
+ fulfillment_id or fulfillment_ids should be present in items`,
4600
+ DebugInfo: &validationutils.DebugInfo{
4601
+ FedConfig: configureDebugInfo,
4602
+ },
4603
+ }
4604
+ return []validationutils.ValidationOutput{result}, nil
4605
+ }
4606
+
4607
+ }
4608
+
4609
+ result := validationutils.ValidationOutput{
4610
+ TestName: "Validate_fulfillment_id_in_items",
4611
+ Valid: valid,
4612
+ Code: 0,
4613
+ DebugInfo: &validationutils.DebugInfo{
4614
+ FedConfig: configureDebugInfo,
4615
+ },
4616
+ }
4617
+
4618
+ if valid {
4619
+ result.Code = 200
4620
+ } else {
4621
+ result.Code = 30000
4622
+ }
4623
+
4624
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4625
+ results = append(results, result)
4626
+ results = append(results, subResults...)
4627
+
4628
+ return results, nil
4629
+ }
4630
+ var Validate_fulfillment_id_in_fulfillments = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
4631
+
4632
+ if input.Config.SkipTestsDict != nil {
4633
+ if _, skip := input.Config.SkipTestsDict["Validate_fulfillment_id_in_fulfillments"]; skip {
4634
+ return []validationutils.ValidationOutput{}, nil
4635
+ }
4636
+ }
4637
+
4638
+ scope := validationutils.GetJsonPath(input.Payload, "$", true)
4639
+
4640
+ subResults := make([]validationutils.ValidationOutput, 0)
4641
+ valid := true
4642
+ configureDebugInfo := ""
4643
+ for _, testObjMap := range scope {
4644
+ validationutils.UnusedFunction(testObjMap)
4645
+
4646
+ fulfillment_id := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].id", true)
4647
+ validationutils.UnusedFunction(fulfillment_id)
4648
+ item_fulfillment_id := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].fulfillment_id", true)
4649
+ validationutils.UnusedFunction(item_fulfillment_id)
4650
+ item_fulfillment_ids := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].fulfillment_ids[*]", true)
4651
+ validationutils.UnusedFunction(item_fulfillment_ids)
4652
+
4653
+ validate := (validationutils.AllIn(item_fulfillment_id, fulfillment_id)) || (validationutils.AllIn(item_fulfillment_ids, fulfillment_id))
4654
+
4655
+ configureDebugInfo = `{"_NAME_":"validate_fulfillment_id_in_fulfillments","_DESCRIPTION_":"Fulfillment id in items should be mapped correctly in fulfillments array","fulfillment_id":"$.message.order.fulfillments[*].id","item_fulfillment_id":"$.message.order.items[*].fulfillment_id","item_fulfillment_ids":"$.message.order.items[*].fulfillment_ids[*]","_RETURN_":"item_fulfillment_id all in fulfillment_id || item_fulfillment_ids all in fulfillment_id"}`
4656
+
4657
+ if !validate {
4658
+ result := validationutils.ValidationOutput{
4659
+ TestName: "validate_fulfillment_id_in_fulfillments",
4660
+ Valid: false,
4661
+ Code: 30000,
4662
+ Description: `#### **validate_fulfillment_id_in_fulfillments**
4663
+
4664
+ Fulfillment id in items should be mapped correctly in fulfillments array`,
4665
+ DebugInfo: &validationutils.DebugInfo{
4666
+ FedConfig: configureDebugInfo,
4667
+ },
4668
+ }
4669
+ return []validationutils.ValidationOutput{result}, nil
4670
+ }
4671
+
4672
+ }
4673
+
4674
+ result := validationutils.ValidationOutput{
4675
+ TestName: "Validate_fulfillment_id_in_fulfillments",
4676
+ Valid: valid,
4677
+ Code: 0,
4678
+ DebugInfo: &validationutils.DebugInfo{
4679
+ FedConfig: configureDebugInfo,
4680
+ },
4681
+ }
4682
+
4683
+ if valid {
4684
+ result.Code = 200
4685
+ } else {
4686
+ result.Code = 30000
4687
+ }
4688
+
4689
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4690
+ results = append(results, result)
4691
+ results = append(results, subResults...)
4692
+
4693
+ return results, nil
4694
+ }
4695
+
4696
+ var testFunctions = validationutils.TestFunctionArray{
4697
+ Validate_fulfillment_id_in_items,
4698
+ Validate_fulfillment_id_in_fulfillments,
4699
+ }
4700
+
4701
+ allResults := make([]validationutils.ValidationOutput, 0)
4702
+
4703
+ for _, testFunc := range testFunctions {
4704
+ results, err := testFunc(input)
4705
+ if err != nil {
4706
+ return nil, err
4707
+ }
4708
+ allResults = append(allResults, results...)
4709
+ }
4710
+
4711
+ subResults = allResults
4712
+ // if all subResults are valid, then valid is true
4713
+ valid = true
4714
+ for _, res := range subResults {
4715
+ if !res.Valid {
4716
+ valid = false
4717
+ break
4718
+ }
4719
+ }
4720
+
4721
+ configureDebugInfo = `NESTED_TEST_OBJECT`
4722
+
4723
+ }
4724
+
4725
+ result := validationutils.ValidationOutput{
4726
+ TestName: "Init_fulfillment_id_validations",
4727
+ Valid: valid,
4728
+ Code: 0,
4729
+ DebugInfo: &validationutils.DebugInfo{
4730
+ FedConfig: configureDebugInfo,
4731
+ },
4732
+ }
4733
+
4734
+ if valid {
4735
+ result.Code = 200
4736
+ } else {
4737
+ result.Code = 30000
4738
+ }
4739
+
4740
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4741
+ results = append(results, result)
4742
+ results = append(results, subResults...)
4743
+
4744
+ return results, nil
4745
+ }
4746
+
4747
+ var testFunctions = validationutils.TestFunctionArray{
4748
+ REQUIRED_CONTEXT_DOMAIN,
4749
+ REQUIRED_CONTEXT_COUNTRY,
4750
+ REQUIRED_CONTEXT_CITY,
4751
+ REQUIRED_CONTEXT_ACTION,
4752
+ REQUIRED_CONTEXT_CORE_VERSION,
4753
+ REQUIRED_CONTEXT_BAP_ID,
4754
+ REQUIRED_CONTEXT_BAP_URI,
4755
+ REQUIRED_CONTEXT_BPP_ID,
4756
+ REQUIRED_CONTEXT_BPP_URI,
4757
+ REQUIRED_CONTEXT_TRANSACTION_ID,
4758
+ REQUIRED_CONTEXT_MESSAGE_ID,
4759
+ REQUIRED_CONTEXT_TIMESTAMP,
4760
+ REQUIRED_CONTEXT_TTL,
4761
+ REQUIRED_MESSAGE_ID,
4762
+ REQUIRED_MESSAGE_ID_15,
4763
+ REQUIRED_MESSAGE_CATEGORY_ID,
4764
+ REQUIRED_MESSAGE_ID_17,
4765
+ REQUIRED_MESSAGE_TYPE,
4766
+ REQUIRED_MESSAGE_GPS,
4767
+ REQUIRED_MESSAGE_NAME,
4768
+ REQUIRED_MESSAGE_BUILDING,
4769
+ REQUIRED_MESSAGE_LOCALITY,
4770
+ REQUIRED_MESSAGE_CITY,
4771
+ REQUIRED_MESSAGE_STATE,
4772
+ REQUIRED_MESSAGE_COUNTRY,
4773
+ REQUIRED_MESSAGE_AREA_CODE,
4774
+ REQUIRED_MESSAGE_PHONE,
4775
+ REQUIRED_MESSAGE_EMAIL,
4776
+ REQUIRED_MESSAGE_GPS_29,
4777
+ REQUIRED_MESSAGE_NAME_30,
4778
+ REQUIRED_MESSAGE_BUILDING_31,
4779
+ REQUIRED_MESSAGE_LOCALITY_32,
4780
+ REQUIRED_MESSAGE_CITY_33,
4781
+ REQUIRED_MESSAGE_STATE_34,
4782
+ REQUIRED_MESSAGE_COUNTRY_35,
4783
+ REQUIRED_MESSAGE_AREA_CODE_36,
4784
+ REQUIRED_MESSAGE_PHONE_37,
4785
+ REQUIRED_MESSAGE_NAME_38,
4786
+ REQUIRED_MESSAGE_NAME_39,
4787
+ REQUIRED_MESSAGE_BUILDING_40,
4788
+ REQUIRED_MESSAGE_LOCALITY_41,
4789
+ REQUIRED_MESSAGE_CITY_42,
4790
+ REQUIRED_MESSAGE_STATE_43,
4791
+ REQUIRED_MESSAGE_COUNTRY_44,
4792
+ REQUIRED_MESSAGE_AREA_CODE_45,
4793
+ REQUIRED_MESSAGE_TAX_NUMBER,
4794
+ REQUIRED_MESSAGE_PHONE_47,
4795
+ REQUIRED_MESSAGE_EMAIL_48,
4796
+ REQUIRED_MESSAGE_CREATED_AT,
4797
+ REQUIRED_MESSAGE_UPDATED_AT,
4798
+ REQUIRED_MESSAGE_COLLECTED_BY,
4799
+ REQUIRED_MESSAGE_TYPE_52,
4800
+ VALID_ENUM_CONTEXT_DOMAIN,
4801
+ VALID_ENUM_MESSAGE_TYPE,
4802
+ VALID_ENUM_MESSAGE_TYPE_3,
4803
+ VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY,
4804
+ Validate_tag_0,
4805
+ Validate_tag_0_masked_contact,
4806
+ Validate_tag_1,
4807
+ Validate_tag_1_masked_contact,
4808
+ Validate_tag_2,
4809
+ Validate_tag_2_linked_provider,
4810
+ Validate_tag_2_fulfill_request,
4811
+ Validate_tag_2_fulfill_response,
4812
+ Validate_tag_2_linked_order,
4813
+ Validate_tag_3,
4814
+ Validate_tag_3_type,
4815
+ Validate_tag_4,
4816
+ Validate_tag_4_bap_terms,
4817
+ Init_fulfillment_id_validations,
4818
+ }
4819
+
4820
+ allResults := make([]validationutils.ValidationOutput, 0)
4821
+
4822
+ for _, testFunc := range testFunctions {
4823
+ results, err := testFunc(input)
4824
+ if err != nil {
4825
+ return nil, err
4826
+ }
4827
+ allResults = append(allResults, results...)
4828
+ }
4829
+
4830
+ subResults = allResults
4831
+ // if all subResults are valid, then valid is true
4832
+ valid = true
4833
+ for _, res := range subResults {
4834
+ if !res.Valid {
4835
+ valid = false
4836
+ break
4837
+ }
4838
+ }
4839
+
4840
+ configureDebugInfo = `NESTED_TEST_OBJECT`
4841
+
4842
+ }
4843
+
4844
+ result := validationutils.ValidationOutput{
4845
+ TestName: "InitValidations",
4846
+ Valid: valid,
4847
+ Code: 0,
4848
+ DebugInfo: &validationutils.DebugInfo{
4849
+ FedConfig: configureDebugInfo,
4850
+ },
4851
+ }
4852
+
4853
+ if valid {
4854
+ result.Code = 200
4855
+ } else {
4856
+ result.Code = 30000
4857
+ }
4858
+
4859
+ results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
4860
+ results = append(results, result)
4861
+ results = append(results, subResults...)
4862
+
4863
+ return results, nil
4864
+ }