ondc-code-generator 0.8.8 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +1 -1
  2. package/alpha/table/page/index.html +11487 -0
  3. package/alpha/table/page/style.css +449 -0
  4. package/alpha/table/rag-table-docs/confirm.md +60 -0
  5. package/alpha/table/rag-table-docs/init.md +78 -0
  6. package/alpha/table/rag-table-docs/on_confirm.md +161 -0
  7. package/alpha/table/rag-table-docs/on_init.md +143 -0
  8. package/alpha/table/rag-table-docs/on_search.md +160 -0
  9. package/alpha/table/rag-table-docs/on_select.md +96 -0
  10. package/alpha/table/rag-table-docs/on_status.md +150 -0
  11. package/alpha/table/rag-table-docs/on_update.md +161 -0
  12. package/alpha/table/rag-table-docs/raw_table.json +11198 -0
  13. package/alpha/table/rag-table-docs/search.md +125 -0
  14. package/alpha/table/rag-table-docs/select.md +67 -0
  15. package/alpha/table/rag-table-docs/status.md +41 -0
  16. package/alpha/table/rag-table-docs/update.md +48 -0
  17. package/alpha/table/readme.md +1312 -0
  18. package/alpha/table/validPaths.json +34134 -0
  19. package/alpha/table.zip +0 -0
  20. package/dist/bin/cli.js +6 -0
  21. package/dist/generator/config-compiler.js +16 -0
  22. package/dist/generator/generators/documentation/md-generator.d.ts +11 -5
  23. package/dist/generator/generators/documentation/md-generator.js +22 -28
  24. package/dist/generator/generators/documentation/templates/index.mustache +162 -26
  25. package/dist/generator/generators/documentation/templates/style.css +387 -142
  26. package/dist/generator/generators/rag/rag-generator.d.ts +48 -0
  27. package/dist/generator/generators/rag/rag-generator.js +185 -0
  28. package/dist/generator/generators/rag/rag-table-generator.d.ts +55 -0
  29. package/dist/generator/generators/rag/rag-table-generator.js +263 -0
  30. package/dist/types/compiler-types.d.ts +4 -1
  31. package/dist/types/compiler-types.js +3 -0
  32. package/docs/jval-dsl.md +913 -0
  33. package/package.json +1 -1
  34. package/alpha/golang/newPkg/go.mod +0 -3
  35. package/alpha/golang/newPkg/jsonvalidations/cancel.go +0 -1289
  36. package/alpha/golang/newPkg/jsonvalidations/confirm.go +0 -9121
  37. package/alpha/golang/newPkg/jsonvalidations/init.go +0 -4864
  38. package/alpha/golang/newPkg/jsonvalidations/issue.go +0 -4868
  39. package/alpha/golang/newPkg/jsonvalidations/on_cancel.go +0 -7111
  40. package/alpha/golang/newPkg/jsonvalidations/on_confirm.go +0 -8903
  41. package/alpha/golang/newPkg/jsonvalidations/on_init.go +0 -4445
  42. package/alpha/golang/newPkg/jsonvalidations/on_issue.go +0 -2828
  43. package/alpha/golang/newPkg/jsonvalidations/on_issue_status.go +0 -1938
  44. package/alpha/golang/newPkg/jsonvalidations/on_search.go +0 -3356
  45. package/alpha/golang/newPkg/jsonvalidations/on_status.go +0 -8129
  46. package/alpha/golang/newPkg/jsonvalidations/on_track.go +0 -1415
  47. package/alpha/golang/newPkg/jsonvalidations/on_update.go +0 -8700
  48. package/alpha/golang/newPkg/jsonvalidations/search.go +0 -3585
  49. package/alpha/golang/newPkg/jsonvalidations/status.go +0 -1073
  50. package/alpha/golang/newPkg/jsonvalidations/track.go +0 -1073
  51. package/alpha/golang/newPkg/jsonvalidations/update.go +0 -3012
  52. package/alpha/golang/newPkg/main-validator.go +0 -196
  53. package/alpha/golang/newPkg/main-validator_test.go +0 -165
  54. package/alpha/golang/newPkg/storageutils/api_save_utils.go +0 -83
  55. package/alpha/golang/newPkg/storageutils/cancel.go +0 -30
  56. package/alpha/golang/newPkg/storageutils/confirm.go +0 -30
  57. package/alpha/golang/newPkg/storageutils/index.go +0 -132
  58. package/alpha/golang/newPkg/storageutils/init.go +0 -30
  59. package/alpha/golang/newPkg/storageutils/issue.go +0 -30
  60. package/alpha/golang/newPkg/storageutils/on_cancel.go +0 -30
  61. package/alpha/golang/newPkg/storageutils/on_confirm.go +0 -30
  62. package/alpha/golang/newPkg/storageutils/on_init.go +0 -30
  63. package/alpha/golang/newPkg/storageutils/on_issue.go +0 -30
  64. package/alpha/golang/newPkg/storageutils/on_issue_status.go +0 -30
  65. package/alpha/golang/newPkg/storageutils/on_search.go +0 -30
  66. package/alpha/golang/newPkg/storageutils/on_status.go +0 -30
  67. package/alpha/golang/newPkg/storageutils/on_track.go +0 -30
  68. package/alpha/golang/newPkg/storageutils/on_update.go +0 -30
  69. package/alpha/golang/newPkg/storageutils/save_utils.go +0 -75
  70. package/alpha/golang/newPkg/storageutils/search.go +0 -30
  71. package/alpha/golang/newPkg/storageutils/status.go +0 -30
  72. package/alpha/golang/newPkg/storageutils/track.go +0 -30
  73. package/alpha/golang/newPkg/storageutils/update.go +0 -30
  74. package/alpha/golang/newPkg/validationutils/json_normalizer.go +0 -152
  75. package/alpha/golang/newPkg/validationutils/json_path_utils.go +0 -173
  76. package/alpha/golang/newPkg/validationutils/storage-interface.go +0 -107
  77. package/alpha/golang/newPkg/validationutils/test-config.go +0 -69
  78. package/alpha/golang/newPkg/validationutils/validation_utils.go +0 -429
  79. package/alpha/golang/page/index.html +0 -6137
  80. package/alpha/golang/page/style.css +0 -204
  81. package/alpha/golang/readme.md +0 -5939
  82. package/alpha/golang/validationpkg/go.mod +0 -3
  83. package/alpha/golang/validationpkg/jsonvalidations/cancel.go +0 -1289
  84. package/alpha/golang/validationpkg/jsonvalidations/confirm.go +0 -9121
  85. package/alpha/golang/validationpkg/jsonvalidations/init.go +0 -4864
  86. package/alpha/golang/validationpkg/jsonvalidations/issue.go +0 -4868
  87. package/alpha/golang/validationpkg/jsonvalidations/on_cancel.go +0 -7111
  88. package/alpha/golang/validationpkg/jsonvalidations/on_confirm.go +0 -8903
  89. package/alpha/golang/validationpkg/jsonvalidations/on_init.go +0 -4445
  90. package/alpha/golang/validationpkg/jsonvalidations/on_issue.go +0 -2828
  91. package/alpha/golang/validationpkg/jsonvalidations/on_issue_status.go +0 -1938
  92. package/alpha/golang/validationpkg/jsonvalidations/on_search.go +0 -3356
  93. package/alpha/golang/validationpkg/jsonvalidations/on_status.go +0 -8129
  94. package/alpha/golang/validationpkg/jsonvalidations/on_track.go +0 -1415
  95. package/alpha/golang/validationpkg/jsonvalidations/on_update.go +0 -8700
  96. package/alpha/golang/validationpkg/jsonvalidations/search.go +0 -3585
  97. package/alpha/golang/validationpkg/jsonvalidations/status.go +0 -1073
  98. package/alpha/golang/validationpkg/jsonvalidations/track.go +0 -1073
  99. package/alpha/golang/validationpkg/jsonvalidations/update.go +0 -3012
  100. package/alpha/golang/validationpkg/main-validator.go +0 -196
  101. package/alpha/golang/validationpkg/main-validator_test.go +0 -165
  102. package/alpha/golang/validationpkg/storageutils/api_save_utils.go +0 -83
  103. package/alpha/golang/validationpkg/storageutils/cancel.go +0 -30
  104. package/alpha/golang/validationpkg/storageutils/confirm.go +0 -30
  105. package/alpha/golang/validationpkg/storageutils/index.go +0 -132
  106. package/alpha/golang/validationpkg/storageutils/init.go +0 -30
  107. package/alpha/golang/validationpkg/storageutils/issue.go +0 -30
  108. package/alpha/golang/validationpkg/storageutils/on_cancel.go +0 -30
  109. package/alpha/golang/validationpkg/storageutils/on_confirm.go +0 -30
  110. package/alpha/golang/validationpkg/storageutils/on_init.go +0 -30
  111. package/alpha/golang/validationpkg/storageutils/on_issue.go +0 -30
  112. package/alpha/golang/validationpkg/storageutils/on_issue_status.go +0 -30
  113. package/alpha/golang/validationpkg/storageutils/on_search.go +0 -30
  114. package/alpha/golang/validationpkg/storageutils/on_status.go +0 -30
  115. package/alpha/golang/validationpkg/storageutils/on_track.go +0 -30
  116. package/alpha/golang/validationpkg/storageutils/on_update.go +0 -30
  117. package/alpha/golang/validationpkg/storageutils/save_utils.go +0 -75
  118. package/alpha/golang/validationpkg/storageutils/search.go +0 -30
  119. package/alpha/golang/validationpkg/storageutils/status.go +0 -30
  120. package/alpha/golang/validationpkg/storageutils/track.go +0 -30
  121. package/alpha/golang/validationpkg/storageutils/update.go +0 -30
  122. package/alpha/golang/validationpkg/validationutils/json_normalizer.go +0 -152
  123. package/alpha/golang/validationpkg/validationutils/json_path_utils.go +0 -173
  124. package/alpha/golang/validationpkg/validationutils/storage-interface.go +0 -107
  125. package/alpha/golang/validationpkg/validationutils/test-config.go +0 -69
  126. package/alpha/golang/validationpkg/validationutils/validation_utils.go +0 -429
  127. /package/alpha/{golang/validPaths.json → validPaths.json} +0 -0
@@ -1,3012 +0,0 @@
1
- // Code generated by github.com/ONDC-Official/automation-validation-compiler, DO NOT EDIT.
2
-
3
- package jsonvalidations
4
-
5
- import (
6
- "validationpkg/validationutils"
7
- )
8
-
9
- func Update_Tests(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
10
- totalResults, err := UpdateValidations(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 == "UpdateValidations" {
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 UpdateValidations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
65
-
66
- if input.Config.SkipTestsDict != nil {
67
- if _, skip := input.Config.SkipTestsDict["UpdateValidations"]; 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_UPDATE_TARGET = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
878
-
879
- if input.Config.SkipTestsDict != nil {
880
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UPDATE_TARGET"]; 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.update_target", true)
894
- validationutils.UnusedFunction(attr)
895
-
896
- validate := validationutils.ArePresent(attr)
897
-
898
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UPDATE_TARGET","attr":"$.message.update_target","_RETURN_":"attr are present"}`
899
-
900
- if !validate {
901
- result := validationutils.ValidationOutput{
902
- TestName: "REQUIRED_MESSAGE_UPDATE_TARGET",
903
- Valid: false,
904
- Code: 30000,
905
- Description: `#### **REQUIRED_MESSAGE_UPDATE_TARGET**
906
-
907
- - $.message.update_target 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_UPDATE_TARGET",
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 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
939
-
940
- if input.Config.SkipTestsDict != nil {
941
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID"]; skip {
942
- return []validationutils.ValidationOutput{}, nil
943
- }
944
- }
945
-
946
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
947
-
948
- subResults := make([]validationutils.ValidationOutput, 0)
949
- valid := true
950
- configureDebugInfo := ""
951
- for _, testObjMap := range scope {
952
- validationutils.UnusedFunction(testObjMap)
953
-
954
- attr := validationutils.GetJsonPath(testObjMap, "$.message.order.id", true)
955
- validationutils.UnusedFunction(attr)
956
-
957
- validate := validationutils.ArePresent(attr)
958
-
959
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID","attr":"$.message.order.id","_RETURN_":"attr are present"}`
960
-
961
- if !validate {
962
- result := validationutils.ValidationOutput{
963
- TestName: "REQUIRED_MESSAGE_ID",
964
- Valid: false,
965
- Code: 30000,
966
- Description: `#### **REQUIRED_MESSAGE_ID**
967
-
968
- - $.message.order.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",
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_ID_16 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1000
-
1001
- if input.Config.SkipTestsDict != nil {
1002
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID_16"]; 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[*].id", true)
1016
- validationutils.UnusedFunction(attr)
1017
-
1018
- validate := validationutils.ArePresent(attr)
1019
-
1020
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID_16","attr":"$.message.order.items[*].id","_RETURN_":"attr are present"}`
1021
-
1022
- if !validate {
1023
- result := validationutils.ValidationOutput{
1024
- TestName: "REQUIRED_MESSAGE_ID_16",
1025
- Valid: false,
1026
- Code: 30000,
1027
- Description: `#### **REQUIRED_MESSAGE_ID_16**
1028
-
1029
- - $.message.order.items[*].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_ID_16",
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_CATEGORY_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1061
-
1062
- if input.Config.SkipTestsDict != nil {
1063
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CATEGORY_ID"]; 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.items[*].category_id", true)
1077
- validationutils.UnusedFunction(attr)
1078
- enumList := validationutils.StringSliceToInterface([]string{`Express Delivery`, `Standard Delivery`, `Immediate Delivery`, `Next Day Delivery`, `Same Day Delivery`, `Instant Delivery`})
1079
- validationutils.UnusedFunction(enumList)
1080
-
1081
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1082
-
1083
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CATEGORY_ID","attr":"$.message.order.items[*].category_id","_RETURN_":"attr are present && attr all in enumList","enumList":["Express Delivery","Standard Delivery","Immediate Delivery","Next Day Delivery","Same Day Delivery","Instant Delivery"]}`
1084
-
1085
- if !validate {
1086
- result := validationutils.ValidationOutput{
1087
- TestName: "REQUIRED_MESSAGE_CATEGORY_ID",
1088
- Valid: false,
1089
- Code: 30000,
1090
- Description: `#### **REQUIRED_MESSAGE_CATEGORY_ID**
1091
-
1092
- **All of the following must be true:**
1093
- - $.message.order.items[*].category_id must be present in the payload
1094
- - All elements of $.message.order.items[*].category_id must be in ["Express Delivery", "Standard Delivery", "Immediate Delivery", "Next Day Delivery", "Same Day Delivery", "Instant Delivery"]`,
1095
- DebugInfo: &validationutils.DebugInfo{
1096
- FedConfig: configureDebugInfo,
1097
- },
1098
- }
1099
- return []validationutils.ValidationOutput{result}, nil
1100
- }
1101
-
1102
- }
1103
-
1104
- result := validationutils.ValidationOutput{
1105
- TestName: "REQUIRED_MESSAGE_CATEGORY_ID",
1106
- Valid: valid,
1107
- Code: 0,
1108
- DebugInfo: &validationutils.DebugInfo{
1109
- FedConfig: configureDebugInfo,
1110
- },
1111
- }
1112
-
1113
- if valid {
1114
- result.Code = 200
1115
- } else {
1116
- result.Code = 30000
1117
- }
1118
-
1119
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1120
- results = append(results, result)
1121
- results = append(results, subResults...)
1122
-
1123
- return results, nil
1124
- }
1125
- var REQUIRED_MESSAGE_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1126
-
1127
- if input.Config.SkipTestsDict != nil {
1128
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_TYPE"]; skip {
1129
- return []validationutils.ValidationOutput{}, nil
1130
- }
1131
- }
1132
-
1133
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1134
-
1135
- subResults := make([]validationutils.ValidationOutput, 0)
1136
- valid := true
1137
- configureDebugInfo := ""
1138
- for _, testObjMap := range scope {
1139
- validationutils.UnusedFunction(testObjMap)
1140
-
1141
- attr := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
1142
- validationutils.UnusedFunction(attr)
1143
- enumList := validationutils.StringSliceToInterface([]string{`Delivery`, `Return`, `Batch`, `RTO`, `FTL`, `PTL`, `FIFO`})
1144
- validationutils.UnusedFunction(enumList)
1145
-
1146
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1147
-
1148
- 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"]}`
1149
-
1150
- if !validate {
1151
- result := validationutils.ValidationOutput{
1152
- TestName: "REQUIRED_MESSAGE_TYPE",
1153
- Valid: false,
1154
- Code: 30000,
1155
- Description: `#### **REQUIRED_MESSAGE_TYPE**
1156
-
1157
- **All of the following must be true:**
1158
- - $.message.order.fulfillments[*].type must be present in the payload
1159
- - All elements of $.message.order.fulfillments[*].type must be in ["Delivery", "Return", "Batch", "RTO", "FTL", "PTL", "FIFO"]`,
1160
- DebugInfo: &validationutils.DebugInfo{
1161
- FedConfig: configureDebugInfo,
1162
- },
1163
- }
1164
- return []validationutils.ValidationOutput{result}, nil
1165
- }
1166
-
1167
- }
1168
-
1169
- result := validationutils.ValidationOutput{
1170
- TestName: "REQUIRED_MESSAGE_TYPE",
1171
- Valid: valid,
1172
- Code: 0,
1173
- DebugInfo: &validationutils.DebugInfo{
1174
- FedConfig: configureDebugInfo,
1175
- },
1176
- }
1177
-
1178
- if valid {
1179
- result.Code = 200
1180
- } else {
1181
- result.Code = 30000
1182
- }
1183
-
1184
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1185
- results = append(results, result)
1186
- results = append(results, subResults...)
1187
-
1188
- return results, nil
1189
- }
1190
- var REQUIRED_MESSAGE_UPDATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1191
-
1192
- if input.Config.SkipTestsDict != nil {
1193
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UPDATED_AT"]; skip {
1194
- return []validationutils.ValidationOutput{}, nil
1195
- }
1196
- }
1197
-
1198
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1199
-
1200
- subResults := make([]validationutils.ValidationOutput, 0)
1201
- valid := true
1202
- configureDebugInfo := ""
1203
- for _, testObjMap := range scope {
1204
- validationutils.UnusedFunction(testObjMap)
1205
-
1206
- attr := validationutils.GetJsonPath(testObjMap, "$.message.order.updated_at", true)
1207
- validationutils.UnusedFunction(attr)
1208
-
1209
- validate := validationutils.ArePresent(attr)
1210
-
1211
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UPDATED_AT","attr":"$.message.order.updated_at","_RETURN_":"attr are present"}`
1212
-
1213
- if !validate {
1214
- result := validationutils.ValidationOutput{
1215
- TestName: "REQUIRED_MESSAGE_UPDATED_AT",
1216
- Valid: false,
1217
- Code: 30000,
1218
- Description: `#### **REQUIRED_MESSAGE_UPDATED_AT**
1219
-
1220
- - $.message.order.updated_at must be present in the payload`,
1221
- DebugInfo: &validationutils.DebugInfo{
1222
- FedConfig: configureDebugInfo,
1223
- },
1224
- }
1225
- return []validationutils.ValidationOutput{result}, nil
1226
- }
1227
-
1228
- }
1229
-
1230
- result := validationutils.ValidationOutput{
1231
- TestName: "REQUIRED_MESSAGE_UPDATED_AT",
1232
- Valid: valid,
1233
- Code: 0,
1234
- DebugInfo: &validationutils.DebugInfo{
1235
- FedConfig: configureDebugInfo,
1236
- },
1237
- }
1238
-
1239
- if valid {
1240
- result.Code = 200
1241
- } else {
1242
- result.Code = 30000
1243
- }
1244
-
1245
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1246
- results = append(results, result)
1247
- results = append(results, subResults...)
1248
-
1249
- return results, nil
1250
- }
1251
- var VALID_ENUM_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1252
-
1253
- if input.Config.SkipTestsDict != nil {
1254
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_CONTEXT_DOMAIN"]; skip {
1255
- return []validationutils.ValidationOutput{}, nil
1256
- }
1257
- }
1258
-
1259
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1260
-
1261
- subResults := make([]validationutils.ValidationOutput, 0)
1262
- valid := true
1263
- configureDebugInfo := ""
1264
- for _, testObjMap := range scope {
1265
- validationutils.UnusedFunction(testObjMap)
1266
-
1267
- enumList := validationutils.StringSliceToInterface([]string{`ONDC:LOG10`, `ONDC:LOG11`, `nic2004:60232`})
1268
- validationutils.UnusedFunction(enumList)
1269
- enumPath := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
1270
- validationutils.UnusedFunction(enumPath)
1271
-
1272
- skipCheck := !(validationutils.ArePresent(enumPath))
1273
- if skipCheck {
1274
- continue
1275
- }
1276
-
1277
- validate := validationutils.AllIn(enumPath, enumList)
1278
-
1279
- 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"}`
1280
-
1281
- if !validate {
1282
- result := validationutils.ValidationOutput{
1283
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
1284
- Valid: false,
1285
- Code: 30000,
1286
- Description: `#### **VALID_ENUM_CONTEXT_DOMAIN**
1287
-
1288
- - All elements of $.context.domain must be in ["ONDC:LOG10", "ONDC:LOG11", "nic2004:60232"]
1289
-
1290
- > **Skip if:**
1291
- >
1292
- > - $.context.domain is not in the payload`,
1293
- DebugInfo: &validationutils.DebugInfo{
1294
- FedConfig: configureDebugInfo,
1295
- },
1296
- }
1297
- return []validationutils.ValidationOutput{result}, nil
1298
- }
1299
-
1300
- }
1301
-
1302
- result := validationutils.ValidationOutput{
1303
- TestName: "VALID_ENUM_CONTEXT_DOMAIN",
1304
- Valid: valid,
1305
- Code: 0,
1306
- DebugInfo: &validationutils.DebugInfo{
1307
- FedConfig: configureDebugInfo,
1308
- },
1309
- }
1310
-
1311
- if valid {
1312
- result.Code = 200
1313
- } else {
1314
- result.Code = 30000
1315
- }
1316
-
1317
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1318
- results = append(results, result)
1319
- results = append(results, subResults...)
1320
-
1321
- return results, nil
1322
- }
1323
- var VALID_ENUM_MESSAGE_STATE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1324
-
1325
- if input.Config.SkipTestsDict != nil {
1326
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_STATE"]; skip {
1327
- return []validationutils.ValidationOutput{}, nil
1328
- }
1329
- }
1330
-
1331
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1332
-
1333
- subResults := make([]validationutils.ValidationOutput, 0)
1334
- valid := true
1335
- configureDebugInfo := ""
1336
- for _, testObjMap := range scope {
1337
- validationutils.UnusedFunction(testObjMap)
1338
-
1339
- enumList := validationutils.StringSliceToInterface([]string{`Created`, `Accepted`, `In-progress`, `Completed`, `Cancelled`})
1340
- validationutils.UnusedFunction(enumList)
1341
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.state", true)
1342
- validationutils.UnusedFunction(enumPath)
1343
-
1344
- skipCheck := !(validationutils.ArePresent(enumPath))
1345
- if skipCheck {
1346
- continue
1347
- }
1348
-
1349
- validate := validationutils.AllIn(enumPath, enumList)
1350
-
1351
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_STATE","enumList":["Created","Accepted","In-progress","Completed","Cancelled"],"enumPath":"$.message.order.state","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1352
-
1353
- if !validate {
1354
- result := validationutils.ValidationOutput{
1355
- TestName: "VALID_ENUM_MESSAGE_STATE",
1356
- Valid: false,
1357
- Code: 30000,
1358
- Description: `#### **VALID_ENUM_MESSAGE_STATE**
1359
-
1360
- - All elements of $.message.order.state must be in ["Created", "Accepted", "In-progress", "Completed", "Cancelled"]
1361
-
1362
- > **Skip if:**
1363
- >
1364
- > - $.message.order.state is not in the payload`,
1365
- DebugInfo: &validationutils.DebugInfo{
1366
- FedConfig: configureDebugInfo,
1367
- },
1368
- }
1369
- return []validationutils.ValidationOutput{result}, nil
1370
- }
1371
-
1372
- }
1373
-
1374
- result := validationutils.ValidationOutput{
1375
- TestName: "VALID_ENUM_MESSAGE_STATE",
1376
- Valid: valid,
1377
- Code: 0,
1378
- DebugInfo: &validationutils.DebugInfo{
1379
- FedConfig: configureDebugInfo,
1380
- },
1381
- }
1382
-
1383
- if valid {
1384
- result.Code = 200
1385
- } else {
1386
- result.Code = 30000
1387
- }
1388
-
1389
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1390
- results = append(results, result)
1391
- results = append(results, subResults...)
1392
-
1393
- return results, nil
1394
- }
1395
- var VALID_ENUM_MESSAGE_CATEGORY_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1396
-
1397
- if input.Config.SkipTestsDict != nil {
1398
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_CATEGORY_ID"]; skip {
1399
- return []validationutils.ValidationOutput{}, nil
1400
- }
1401
- }
1402
-
1403
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1404
-
1405
- subResults := make([]validationutils.ValidationOutput, 0)
1406
- valid := true
1407
- configureDebugInfo := ""
1408
- for _, testObjMap := range scope {
1409
- validationutils.UnusedFunction(testObjMap)
1410
-
1411
- enumList := validationutils.StringSliceToInterface([]string{`Express Delivery`, `Standard Delivery`, `Immediate Delivery`, `Next Day Delivery`, `Same Day Delivery`, `Instant Delivery`})
1412
- validationutils.UnusedFunction(enumList)
1413
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].category_id", true)
1414
- validationutils.UnusedFunction(enumPath)
1415
-
1416
- skipCheck := !(validationutils.ArePresent(enumPath))
1417
- if skipCheck {
1418
- continue
1419
- }
1420
-
1421
- validate := validationutils.AllIn(enumPath, enumList)
1422
-
1423
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_CATEGORY_ID","enumList":["Express Delivery","Standard Delivery","Immediate Delivery","Next Day Delivery","Same Day Delivery","Instant Delivery"],"enumPath":"$.message.order.items[*].category_id","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1424
-
1425
- if !validate {
1426
- result := validationutils.ValidationOutput{
1427
- TestName: "VALID_ENUM_MESSAGE_CATEGORY_ID",
1428
- Valid: false,
1429
- Code: 30000,
1430
- Description: `#### **VALID_ENUM_MESSAGE_CATEGORY_ID**
1431
-
1432
- - All elements of $.message.order.items[*].category_id must be in ["Express Delivery", "Standard Delivery", "Immediate Delivery", "Next Day Delivery", "Same Day Delivery", "Instant Delivery"]
1433
-
1434
- > **Skip if:**
1435
- >
1436
- > - $.message.order.items[*].category_id is not in the payload`,
1437
- DebugInfo: &validationutils.DebugInfo{
1438
- FedConfig: configureDebugInfo,
1439
- },
1440
- }
1441
- return []validationutils.ValidationOutput{result}, nil
1442
- }
1443
-
1444
- }
1445
-
1446
- result := validationutils.ValidationOutput{
1447
- TestName: "VALID_ENUM_MESSAGE_CATEGORY_ID",
1448
- Valid: valid,
1449
- Code: 0,
1450
- DebugInfo: &validationutils.DebugInfo{
1451
- FedConfig: configureDebugInfo,
1452
- },
1453
- }
1454
-
1455
- if valid {
1456
- result.Code = 200
1457
- } else {
1458
- result.Code = 30000
1459
- }
1460
-
1461
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1462
- results = append(results, result)
1463
- results = append(results, subResults...)
1464
-
1465
- return results, nil
1466
- }
1467
- var VALID_ENUM_MESSAGE_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1468
-
1469
- if input.Config.SkipTestsDict != nil {
1470
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE"]; skip {
1471
- return []validationutils.ValidationOutput{}, nil
1472
- }
1473
- }
1474
-
1475
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1476
-
1477
- subResults := make([]validationutils.ValidationOutput, 0)
1478
- valid := true
1479
- configureDebugInfo := ""
1480
- for _, testObjMap := range scope {
1481
- validationutils.UnusedFunction(testObjMap)
1482
-
1483
- enumList := validationutils.StringSliceToInterface([]string{`Delivery`, `Return`, `Batch`, `RTO`, `FTL`, `PTL`, `FIFO`})
1484
- validationutils.UnusedFunction(enumList)
1485
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].type", true)
1486
- validationutils.UnusedFunction(enumPath)
1487
-
1488
- skipCheck := !(validationutils.ArePresent(enumPath))
1489
- if skipCheck {
1490
- continue
1491
- }
1492
-
1493
- validate := validationutils.AllIn(enumPath, enumList)
1494
-
1495
- 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"}`
1496
-
1497
- if !validate {
1498
- result := validationutils.ValidationOutput{
1499
- TestName: "VALID_ENUM_MESSAGE_TYPE",
1500
- Valid: false,
1501
- Code: 30000,
1502
- Description: `#### **VALID_ENUM_MESSAGE_TYPE**
1503
-
1504
- - All elements of $.message.order.fulfillments[*].type must be in ["Delivery", "Return", "Batch", "RTO", "FTL", "PTL", "FIFO"]
1505
-
1506
- > **Skip if:**
1507
- >
1508
- > - $.message.order.fulfillments[*].type is not in the payload`,
1509
- DebugInfo: &validationutils.DebugInfo{
1510
- FedConfig: configureDebugInfo,
1511
- },
1512
- }
1513
- return []validationutils.ValidationOutput{result}, nil
1514
- }
1515
-
1516
- }
1517
-
1518
- result := validationutils.ValidationOutput{
1519
- TestName: "VALID_ENUM_MESSAGE_TYPE",
1520
- Valid: valid,
1521
- Code: 0,
1522
- DebugInfo: &validationutils.DebugInfo{
1523
- FedConfig: configureDebugInfo,
1524
- },
1525
- }
1526
-
1527
- if valid {
1528
- result.Code = 200
1529
- } else {
1530
- result.Code = 30000
1531
- }
1532
-
1533
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1534
- results = append(results, result)
1535
- results = append(results, subResults...)
1536
-
1537
- return results, nil
1538
- }
1539
- var VALID_ENUM_MESSAGE_TYPE_5 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1540
-
1541
- if input.Config.SkipTestsDict != nil {
1542
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE_5"]; skip {
1543
- return []validationutils.ValidationOutput{}, nil
1544
- }
1545
- }
1546
-
1547
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1548
-
1549
- subResults := make([]validationutils.ValidationOutput, 0)
1550
- valid := true
1551
- configureDebugInfo := ""
1552
- for _, testObjMap := range scope {
1553
- validationutils.UnusedFunction(testObjMap)
1554
-
1555
- enumList := validationutils.StringSliceToInterface([]string{`OTP`})
1556
- validationutils.UnusedFunction(enumList)
1557
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.authorization.type", true)
1558
- validationutils.UnusedFunction(enumPath)
1559
-
1560
- skipCheck := !(validationutils.ArePresent(enumPath))
1561
- if skipCheck {
1562
- continue
1563
- }
1564
-
1565
- validate := validationutils.AllIn(enumPath, enumList)
1566
-
1567
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE_5","enumList":["OTP"],"enumPath":"$.message.order.fulfillments[*].start.authorization.type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1568
-
1569
- if !validate {
1570
- result := validationutils.ValidationOutput{
1571
- TestName: "VALID_ENUM_MESSAGE_TYPE_5",
1572
- Valid: false,
1573
- Code: 30000,
1574
- Description: `#### **VALID_ENUM_MESSAGE_TYPE_5**
1575
-
1576
- - All elements of $.message.order.fulfillments[*].start.authorization.type must be in ["OTP"]
1577
-
1578
- > **Skip if:**
1579
- >
1580
- > - $.message.order.fulfillments[*].start.authorization.type is not in the payload`,
1581
- DebugInfo: &validationutils.DebugInfo{
1582
- FedConfig: configureDebugInfo,
1583
- },
1584
- }
1585
- return []validationutils.ValidationOutput{result}, nil
1586
- }
1587
-
1588
- }
1589
-
1590
- result := validationutils.ValidationOutput{
1591
- TestName: "VALID_ENUM_MESSAGE_TYPE_5",
1592
- Valid: valid,
1593
- Code: 0,
1594
- DebugInfo: &validationutils.DebugInfo{
1595
- FedConfig: configureDebugInfo,
1596
- },
1597
- }
1598
-
1599
- if valid {
1600
- result.Code = 200
1601
- } else {
1602
- result.Code = 30000
1603
- }
1604
-
1605
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1606
- results = append(results, result)
1607
- results = append(results, subResults...)
1608
-
1609
- return results, nil
1610
- }
1611
- var VALID_ENUM_MESSAGE_CODE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1612
-
1613
- if input.Config.SkipTestsDict != nil {
1614
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_CODE"]; skip {
1615
- return []validationutils.ValidationOutput{}, nil
1616
- }
1617
- }
1618
-
1619
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1620
-
1621
- subResults := make([]validationutils.ValidationOutput, 0)
1622
- valid := true
1623
- configureDebugInfo := ""
1624
- for _, testObjMap := range scope {
1625
- validationutils.UnusedFunction(testObjMap)
1626
-
1627
- enumList := validationutils.StringSliceToInterface([]string{`2`, `3`, `4`, `5`})
1628
- validationutils.UnusedFunction(enumList)
1629
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.instructions.code", true)
1630
- validationutils.UnusedFunction(enumPath)
1631
-
1632
- skipCheck := !(validationutils.ArePresent(enumPath))
1633
- if skipCheck {
1634
- continue
1635
- }
1636
-
1637
- validate := validationutils.AllIn(enumPath, enumList)
1638
-
1639
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_CODE","enumList":["2","3","4","5"],"enumPath":"$.message.order.fulfillments[*].start.instructions.code","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1640
-
1641
- if !validate {
1642
- result := validationutils.ValidationOutput{
1643
- TestName: "VALID_ENUM_MESSAGE_CODE",
1644
- Valid: false,
1645
- Code: 30000,
1646
- Description: `#### **VALID_ENUM_MESSAGE_CODE**
1647
-
1648
- - All elements of $.message.order.fulfillments[*].start.instructions.code must be in ["2", "3", "4", "5"]
1649
-
1650
- > **Skip if:**
1651
- >
1652
- > - $.message.order.fulfillments[*].start.instructions.code is not in the payload`,
1653
- DebugInfo: &validationutils.DebugInfo{
1654
- FedConfig: configureDebugInfo,
1655
- },
1656
- }
1657
- return []validationutils.ValidationOutput{result}, nil
1658
- }
1659
-
1660
- }
1661
-
1662
- result := validationutils.ValidationOutput{
1663
- TestName: "VALID_ENUM_MESSAGE_CODE",
1664
- Valid: valid,
1665
- Code: 0,
1666
- DebugInfo: &validationutils.DebugInfo{
1667
- FedConfig: configureDebugInfo,
1668
- },
1669
- }
1670
-
1671
- if valid {
1672
- result.Code = 200
1673
- } else {
1674
- result.Code = 30000
1675
- }
1676
-
1677
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1678
- results = append(results, result)
1679
- results = append(results, subResults...)
1680
-
1681
- return results, nil
1682
- }
1683
- var VALID_ENUM_MESSAGE_TYPE_7 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1684
-
1685
- if input.Config.SkipTestsDict != nil {
1686
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE_7"]; skip {
1687
- return []validationutils.ValidationOutput{}, nil
1688
- }
1689
- }
1690
-
1691
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1692
-
1693
- subResults := make([]validationutils.ValidationOutput, 0)
1694
- valid := true
1695
- configureDebugInfo := ""
1696
- for _, testObjMap := range scope {
1697
- validationutils.UnusedFunction(testObjMap)
1698
-
1699
- enumList := validationutils.StringSliceToInterface([]string{`OTP`})
1700
- validationutils.UnusedFunction(enumList)
1701
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.authorization.type", true)
1702
- validationutils.UnusedFunction(enumPath)
1703
-
1704
- skipCheck := !(validationutils.ArePresent(enumPath))
1705
- if skipCheck {
1706
- continue
1707
- }
1708
-
1709
- validate := validationutils.AllIn(enumPath, enumList)
1710
-
1711
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE_7","enumList":["OTP"],"enumPath":"$.message.order.fulfillments[*].end.authorization.type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1712
-
1713
- if !validate {
1714
- result := validationutils.ValidationOutput{
1715
- TestName: "VALID_ENUM_MESSAGE_TYPE_7",
1716
- Valid: false,
1717
- Code: 30000,
1718
- Description: `#### **VALID_ENUM_MESSAGE_TYPE_7**
1719
-
1720
- - All elements of $.message.order.fulfillments[*].end.authorization.type must be in ["OTP"]
1721
-
1722
- > **Skip if:**
1723
- >
1724
- > - $.message.order.fulfillments[*].end.authorization.type is not in the payload`,
1725
- DebugInfo: &validationutils.DebugInfo{
1726
- FedConfig: configureDebugInfo,
1727
- },
1728
- }
1729
- return []validationutils.ValidationOutput{result}, nil
1730
- }
1731
-
1732
- }
1733
-
1734
- result := validationutils.ValidationOutput{
1735
- TestName: "VALID_ENUM_MESSAGE_TYPE_7",
1736
- Valid: valid,
1737
- Code: 0,
1738
- DebugInfo: &validationutils.DebugInfo{
1739
- FedConfig: configureDebugInfo,
1740
- },
1741
- }
1742
-
1743
- if valid {
1744
- result.Code = 200
1745
- } else {
1746
- result.Code = 30000
1747
- }
1748
-
1749
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1750
- results = append(results, result)
1751
- results = append(results, subResults...)
1752
-
1753
- return results, nil
1754
- }
1755
- var VALID_ENUM_MESSAGE_CODE_8 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1756
-
1757
- if input.Config.SkipTestsDict != nil {
1758
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_CODE_8"]; skip {
1759
- return []validationutils.ValidationOutput{}, nil
1760
- }
1761
- }
1762
-
1763
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1764
-
1765
- subResults := make([]validationutils.ValidationOutput, 0)
1766
- valid := true
1767
- configureDebugInfo := ""
1768
- for _, testObjMap := range scope {
1769
- validationutils.UnusedFunction(testObjMap)
1770
-
1771
- enumList := validationutils.StringSliceToInterface([]string{`1`, `2`, `3`, `5`})
1772
- validationutils.UnusedFunction(enumList)
1773
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].end.instructions.code", true)
1774
- validationutils.UnusedFunction(enumPath)
1775
-
1776
- skipCheck := !(validationutils.ArePresent(enumPath))
1777
- if skipCheck {
1778
- continue
1779
- }
1780
-
1781
- validate := validationutils.AllIn(enumPath, enumList)
1782
-
1783
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_CODE_8","enumList":["1","2","3","5"],"enumPath":"$.message.order.fulfillments[*].end.instructions.code","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1784
-
1785
- if !validate {
1786
- result := validationutils.ValidationOutput{
1787
- TestName: "VALID_ENUM_MESSAGE_CODE_8",
1788
- Valid: false,
1789
- Code: 30000,
1790
- Description: `#### **VALID_ENUM_MESSAGE_CODE_8**
1791
-
1792
- - All elements of $.message.order.fulfillments[*].end.instructions.code must be in ["1", "2", "3", "5"]
1793
-
1794
- > **Skip if:**
1795
- >
1796
- > - $.message.order.fulfillments[*].end.instructions.code is not in the payload`,
1797
- DebugInfo: &validationutils.DebugInfo{
1798
- FedConfig: configureDebugInfo,
1799
- },
1800
- }
1801
- return []validationutils.ValidationOutput{result}, nil
1802
- }
1803
-
1804
- }
1805
-
1806
- result := validationutils.ValidationOutput{
1807
- TestName: "VALID_ENUM_MESSAGE_CODE_8",
1808
- Valid: valid,
1809
- Code: 0,
1810
- DebugInfo: &validationutils.DebugInfo{
1811
- FedConfig: configureDebugInfo,
1812
- },
1813
- }
1814
-
1815
- if valid {
1816
- result.Code = 200
1817
- } else {
1818
- result.Code = 30000
1819
- }
1820
-
1821
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1822
- results = append(results, result)
1823
- results = append(results, subResults...)
1824
-
1825
- return results, nil
1826
- }
1827
- var VALID_ENUM_MESSAGE_CODE_9 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1828
-
1829
- if input.Config.SkipTestsDict != nil {
1830
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_CODE_9"]; skip {
1831
- return []validationutils.ValidationOutput{}, nil
1832
- }
1833
- }
1834
-
1835
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1836
-
1837
- subResults := make([]validationutils.ValidationOutput, 0)
1838
- valid := true
1839
- configureDebugInfo := ""
1840
- for _, testObjMap := range scope {
1841
- validationutils.UnusedFunction(testObjMap)
1842
-
1843
- enumList := validationutils.StringSliceToInterface([]string{`Pending`, `Cancelled`, `Order-picked-up`, `RTO`, `RTO-Initiated`, `RTO-Delivered`, `RTO-Disposed`, `Out-for-pickup`, `At-destination-hub`, `In-transit`, `At-pickup`, `Out-for-delivery`, `At-delivery`, `Searching-for-Agent`, `Agent-assigned`, `Pickup-failed`, `Pickup-rescheduled`, `Delivery-failed`, `Delivery-rescheduled`, `Order-delivered`})
1844
- validationutils.UnusedFunction(enumList)
1845
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].state.descriptor.code", true)
1846
- validationutils.UnusedFunction(enumPath)
1847
-
1848
- skipCheck := !(validationutils.ArePresent(enumPath))
1849
- if skipCheck {
1850
- continue
1851
- }
1852
-
1853
- validate := validationutils.AllIn(enumPath, enumList)
1854
-
1855
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_CODE_9","enumList":["Pending","Cancelled","Order-picked-up","RTO","RTO-Initiated","RTO-Delivered","RTO-Disposed","Out-for-pickup","At-destination-hub","In-transit","At-pickup","Out-for-delivery","At-delivery","Searching-for-Agent","Agent-assigned","Pickup-failed","Pickup-rescheduled","Delivery-failed","Delivery-rescheduled","Order-delivered"],"enumPath":"$.message.order.fulfillments[*].state.descriptor.code","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1856
-
1857
- if !validate {
1858
- result := validationutils.ValidationOutput{
1859
- TestName: "VALID_ENUM_MESSAGE_CODE_9",
1860
- Valid: false,
1861
- Code: 30000,
1862
- Description: `#### **VALID_ENUM_MESSAGE_CODE_9**
1863
-
1864
- - All elements of $.message.order.fulfillments[*].state.descriptor.code must be in ["Pending", "Cancelled", "Order-picked-up", "RTO", "RTO-Initiated", "RTO-Delivered", "RTO-Disposed", "Out-for-pickup", "At-destination-hub", "In-transit", "At-pickup", "Out-for-delivery", "At-delivery", "Searching-for-Agent", "Agent-assigned", "Pickup-failed", "Pickup-rescheduled", "Delivery-failed", "Delivery-rescheduled", "Order-delivered"]
1865
-
1866
- > **Skip if:**
1867
- >
1868
- > - $.message.order.fulfillments[*].state.descriptor.code is not in the payload`,
1869
- DebugInfo: &validationutils.DebugInfo{
1870
- FedConfig: configureDebugInfo,
1871
- },
1872
- }
1873
- return []validationutils.ValidationOutput{result}, nil
1874
- }
1875
-
1876
- }
1877
-
1878
- result := validationutils.ValidationOutput{
1879
- TestName: "VALID_ENUM_MESSAGE_CODE_9",
1880
- Valid: valid,
1881
- Code: 0,
1882
- DebugInfo: &validationutils.DebugInfo{
1883
- FedConfig: configureDebugInfo,
1884
- },
1885
- }
1886
-
1887
- if valid {
1888
- result.Code = 200
1889
- } else {
1890
- result.Code = 30000
1891
- }
1892
-
1893
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1894
- results = append(results, result)
1895
- results = append(results, subResults...)
1896
-
1897
- return results, nil
1898
- }
1899
- var VALID_ENUM_MESSAGE_TYPE_10 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1900
-
1901
- if input.Config.SkipTestsDict != nil {
1902
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_TYPE_10"]; skip {
1903
- return []validationutils.ValidationOutput{}, nil
1904
- }
1905
- }
1906
-
1907
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1908
-
1909
- subResults := make([]validationutils.ValidationOutput, 0)
1910
- valid := true
1911
- configureDebugInfo := ""
1912
- for _, testObjMap := range scope {
1913
- validationutils.UnusedFunction(testObjMap)
1914
-
1915
- enumList := validationutils.StringSliceToInterface([]string{`ON-ORDER`, `ON-FULFILLMENT`, `POST-FULFILLMENT`})
1916
- validationutils.UnusedFunction(enumList)
1917
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.payment.type", true)
1918
- validationutils.UnusedFunction(enumPath)
1919
-
1920
- skipCheck := !(validationutils.ArePresent(enumPath))
1921
- if skipCheck {
1922
- continue
1923
- }
1924
-
1925
- validate := validationutils.AllIn(enumPath, enumList)
1926
-
1927
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_TYPE_10","enumList":["ON-ORDER","ON-FULFILLMENT","POST-FULFILLMENT"],"enumPath":"$.message.order.payment.type","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
1928
-
1929
- if !validate {
1930
- result := validationutils.ValidationOutput{
1931
- TestName: "VALID_ENUM_MESSAGE_TYPE_10",
1932
- Valid: false,
1933
- Code: 30000,
1934
- Description: `#### **VALID_ENUM_MESSAGE_TYPE_10**
1935
-
1936
- - All elements of $.message.order.payment.type must be in ["ON-ORDER", "ON-FULFILLMENT", "POST-FULFILLMENT"]
1937
-
1938
- > **Skip if:**
1939
- >
1940
- > - $.message.order.payment.type is not in the payload`,
1941
- DebugInfo: &validationutils.DebugInfo{
1942
- FedConfig: configureDebugInfo,
1943
- },
1944
- }
1945
- return []validationutils.ValidationOutput{result}, nil
1946
- }
1947
-
1948
- }
1949
-
1950
- result := validationutils.ValidationOutput{
1951
- TestName: "VALID_ENUM_MESSAGE_TYPE_10",
1952
- Valid: valid,
1953
- Code: 0,
1954
- DebugInfo: &validationutils.DebugInfo{
1955
- FedConfig: configureDebugInfo,
1956
- },
1957
- }
1958
-
1959
- if valid {
1960
- result.Code = 200
1961
- } else {
1962
- result.Code = 30000
1963
- }
1964
-
1965
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1966
- results = append(results, result)
1967
- results = append(results, subResults...)
1968
-
1969
- return results, nil
1970
- }
1971
- var VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1972
-
1973
- if input.Config.SkipTestsDict != nil {
1974
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY"]; skip {
1975
- return []validationutils.ValidationOutput{}, nil
1976
- }
1977
- }
1978
-
1979
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1980
-
1981
- subResults := make([]validationutils.ValidationOutput, 0)
1982
- valid := true
1983
- configureDebugInfo := ""
1984
- for _, testObjMap := range scope {
1985
- validationutils.UnusedFunction(testObjMap)
1986
-
1987
- enumList := validationutils.StringSliceToInterface([]string{`lbnp`, `lsp`})
1988
- validationutils.UnusedFunction(enumList)
1989
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.payment['@ondc/org/settlement_details'][*].settlement_counterparty", true)
1990
- validationutils.UnusedFunction(enumPath)
1991
-
1992
- skipCheck := !(validationutils.ArePresent(enumPath))
1993
- if skipCheck {
1994
- continue
1995
- }
1996
-
1997
- validate := validationutils.AllIn(enumPath, enumList)
1998
-
1999
- 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"}`
2000
-
2001
- if !validate {
2002
- result := validationutils.ValidationOutput{
2003
- TestName: "VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY",
2004
- Valid: false,
2005
- Code: 30000,
2006
- Description: `#### **VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY**
2007
-
2008
- - All elements of $.message.order.payment['@ondc/org/settlement_details'][*].settlement_counterparty must be in ["lbnp", "lsp"]
2009
-
2010
- > **Skip if:**
2011
- >
2012
- > - $.message.order.payment['@ondc/org/settlement_details'][*].settlement_counterparty is not in the payload`,
2013
- DebugInfo: &validationutils.DebugInfo{
2014
- FedConfig: configureDebugInfo,
2015
- },
2016
- }
2017
- return []validationutils.ValidationOutput{result}, nil
2018
- }
2019
-
2020
- }
2021
-
2022
- result := validationutils.ValidationOutput{
2023
- TestName: "VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY",
2024
- Valid: valid,
2025
- Code: 0,
2026
- DebugInfo: &validationutils.DebugInfo{
2027
- FedConfig: configureDebugInfo,
2028
- },
2029
- }
2030
-
2031
- if valid {
2032
- result.Code = 200
2033
- } else {
2034
- result.Code = 30000
2035
- }
2036
-
2037
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2038
- results = append(results, result)
2039
- results = append(results, subResults...)
2040
-
2041
- return results, nil
2042
- }
2043
- var VALID_ENUM_MESSAGE_BREAKUPONDCORGTITLE_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2044
-
2045
- if input.Config.SkipTestsDict != nil {
2046
- if _, skip := input.Config.SkipTestsDict["VALID_ENUM_MESSAGE_BREAKUPONDCORGTITLE_TYPE"]; skip {
2047
- return []validationutils.ValidationOutput{}, nil
2048
- }
2049
- }
2050
-
2051
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2052
-
2053
- subResults := make([]validationutils.ValidationOutput, 0)
2054
- valid := true
2055
- configureDebugInfo := ""
2056
- for _, testObjMap := range scope {
2057
- validationutils.UnusedFunction(testObjMap)
2058
-
2059
- enumList := validationutils.StringSliceToInterface([]string{`delivery`, `rto`, `tax`, `diff`, `tax_diff`, `discount`, `cod`, `surge`, `insurance`})
2060
- validationutils.UnusedFunction(enumList)
2061
- enumPath := validationutils.GetJsonPath(testObjMap, "$.message.order.quote.breakup[*]['@ondc/org/title_type']", true)
2062
- validationutils.UnusedFunction(enumPath)
2063
-
2064
- skipCheck := !(validationutils.ArePresent(enumPath))
2065
- if skipCheck {
2066
- continue
2067
- }
2068
-
2069
- validate := validationutils.AllIn(enumPath, enumList)
2070
-
2071
- configureDebugInfo = `{"_NAME_":"VALID_ENUM_MESSAGE_BREAKUPONDCORGTITLE_TYPE","enumList":["delivery","rto","tax","diff","tax_diff","discount","cod","surge","insurance"],"enumPath":"$.message.order.quote.breakup[*]['@ondc/org/title_type']","_CONTINUE_":"!(enumPath are present)","_RETURN_":"enumPath all in enumList"}`
2072
-
2073
- if !validate {
2074
- result := validationutils.ValidationOutput{
2075
- TestName: "VALID_ENUM_MESSAGE_BREAKUPONDCORGTITLE_TYPE",
2076
- Valid: false,
2077
- Code: 30000,
2078
- Description: `#### **VALID_ENUM_MESSAGE_BREAKUPONDCORGTITLE_TYPE**
2079
-
2080
- - All elements of $.message.order.quote.breakup[*]['@ondc/org/title_type'] must be in ["delivery", "rto", "tax", "diff", "tax_diff", "discount", "cod", "surge", "insurance"]
2081
-
2082
- > **Skip if:**
2083
- >
2084
- > - $.message.order.quote.breakup[*]['@ondc/org/title_type'] is not in the payload`,
2085
- DebugInfo: &validationutils.DebugInfo{
2086
- FedConfig: configureDebugInfo,
2087
- },
2088
- }
2089
- return []validationutils.ValidationOutput{result}, nil
2090
- }
2091
-
2092
- }
2093
-
2094
- result := validationutils.ValidationOutput{
2095
- TestName: "VALID_ENUM_MESSAGE_BREAKUPONDCORGTITLE_TYPE",
2096
- Valid: valid,
2097
- Code: 0,
2098
- DebugInfo: &validationutils.DebugInfo{
2099
- FedConfig: configureDebugInfo,
2100
- },
2101
- }
2102
-
2103
- if valid {
2104
- result.Code = 200
2105
- } else {
2106
- result.Code = 30000
2107
- }
2108
-
2109
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2110
- results = append(results, result)
2111
- results = append(results, subResults...)
2112
-
2113
- return results, nil
2114
- }
2115
- var Validate_tag_0 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2116
-
2117
- if input.Config.SkipTestsDict != nil {
2118
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0"]; skip {
2119
- return []validationutils.ValidationOutput{}, nil
2120
- }
2121
- }
2122
-
2123
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2124
-
2125
- subResults := make([]validationutils.ValidationOutput, 0)
2126
- valid := true
2127
- configureDebugInfo := ""
2128
- for _, testObjMap := range scope {
2129
- validationutils.UnusedFunction(testObjMap)
2130
-
2131
- validTags := validationutils.StringSliceToInterface([]string{`state`, `rider_details`, `linked_provider`, `linked_order`, `linked_order_item`, `fulfill_request`, `rto_verification`, `fulfill_response`, `special_req`, `linked_package`, `motorable_distance`})
2132
- validationutils.UnusedFunction(validTags)
2133
- tagPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].tags[*].code", true)
2134
- validationutils.UnusedFunction(tagPath)
2135
-
2136
- skipCheck := !(validationutils.ArePresent(tagPath))
2137
- if skipCheck {
2138
- continue
2139
- }
2140
-
2141
- validate := validationutils.AllIn(tagPath, validTags)
2142
-
2143
- configureDebugInfo = `{"_NAME_":"validate_tag_0","validTags":["state","rider_details","linked_provider","linked_order","linked_order_item","fulfill_request","rto_verification","fulfill_response","special_req","linked_package","motorable_distance"],"tagPath":"$.message.order.fulfillments[*].tags[*].code","_CONTINUE_":"!(tagPath are present)","_RETURN_":"tagPath all in validTags"}`
2144
-
2145
- if !validate {
2146
- result := validationutils.ValidationOutput{
2147
- TestName: "validate_tag_0",
2148
- Valid: false,
2149
- Code: 30000,
2150
- Description: `#### **validate_tag_0**
2151
-
2152
- - All elements of $.message.order.fulfillments[*].tags[*].code must be in ["state", "rider_details", "linked_provider", "linked_order", "linked_order_item", "fulfill_request", "rto_verification", "fulfill_response", "special_req", "linked_package", "motorable_distance"]
2153
-
2154
- > **Skip if:**
2155
- >
2156
- > - $.message.order.fulfillments[*].tags[*].code is not in the payload`,
2157
- DebugInfo: &validationutils.DebugInfo{
2158
- FedConfig: configureDebugInfo,
2159
- },
2160
- }
2161
- return []validationutils.ValidationOutput{result}, nil
2162
- }
2163
-
2164
- }
2165
-
2166
- result := validationutils.ValidationOutput{
2167
- TestName: "Validate_tag_0",
2168
- Valid: valid,
2169
- Code: 0,
2170
- DebugInfo: &validationutils.DebugInfo{
2171
- FedConfig: configureDebugInfo,
2172
- },
2173
- }
2174
-
2175
- if valid {
2176
- result.Code = 200
2177
- } else {
2178
- result.Code = 30000
2179
- }
2180
-
2181
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2182
- results = append(results, result)
2183
- results = append(results, subResults...)
2184
-
2185
- return results, nil
2186
- }
2187
- var VALIDATE_TAG_STATE_FOR_IMMEDIATE_DELIVERY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2188
-
2189
- if input.Config.SkipTestsDict != nil {
2190
- if _, skip := input.Config.SkipTestsDict["VALIDATE_TAG_STATE_FOR_IMMEDIATE_DELIVERY"]; skip {
2191
- return []validationutils.ValidationOutput{}, nil
2192
- }
2193
- }
2194
-
2195
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2196
-
2197
- subResults := make([]validationutils.ValidationOutput, 0)
2198
- valid := true
2199
- configureDebugInfo := ""
2200
- for _, testObjMap := range scope {
2201
- validationutils.UnusedFunction(testObjMap)
2202
-
2203
- categoryPath := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].category_id", true)
2204
- validationutils.UnusedFunction(categoryPath)
2205
- categoryList := validationutils.StringSliceToInterface([]string{`Immediate Delivery`})
2206
- validationutils.UnusedFunction(categoryList)
2207
- tagsPath := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].tags[?(@.code=='state')].list[*].code", true)
2208
- validationutils.UnusedFunction(tagsPath)
2209
- requiredTags := validationutils.StringSliceToInterface([]string{`ready_to_ship`, `order_ready`})
2210
- validationutils.UnusedFunction(requiredTags)
2211
-
2212
- skipCheck := !(validationutils.AnyIn(categoryPath, categoryList))
2213
- if skipCheck {
2214
- continue
2215
- }
2216
-
2217
- validate := validationutils.AllIn(requiredTags, tagsPath)
2218
-
2219
- configureDebugInfo = `{"_NAME_":"VALIDATE_TAG_STATE_FOR_IMMEDIATE_DELIVERY","categoryPath":"$.message.order.items[*].category_id","categoryList":["Immediate Delivery"],"tagsPath":"$.message.order.fulfillments[*].tags[?(@.code=='state')].list[*].code","requiredTags":["ready_to_ship","order_ready"],"_CONTINUE_":"!(categoryPath any in categoryList)","_RETURN_":"requiredTags all in tagsPath"}`
2220
-
2221
- if !validate {
2222
- result := validationutils.ValidationOutput{
2223
- TestName: "VALIDATE_TAG_STATE_FOR_IMMEDIATE_DELIVERY",
2224
- Valid: false,
2225
- Code: 30000,
2226
- Description: `#### **VALIDATE_TAG_STATE_FOR_IMMEDIATE_DELIVERY**
2227
-
2228
- - All elements of ["ready_to_ship", "order_ready"] must be in $.message.order.fulfillments[*].tags[?(@.code=='state')].list[*].code
2229
-
2230
- > **Skip if:**
2231
- >
2232
- > - none of $.message.order.items[*].category_id are in ["Immediate Delivery"]`,
2233
- DebugInfo: &validationutils.DebugInfo{
2234
- FedConfig: configureDebugInfo,
2235
- },
2236
- }
2237
- return []validationutils.ValidationOutput{result}, nil
2238
- }
2239
-
2240
- }
2241
-
2242
- result := validationutils.ValidationOutput{
2243
- TestName: "VALIDATE_TAG_STATE_FOR_IMMEDIATE_DELIVERY",
2244
- Valid: valid,
2245
- Code: 0,
2246
- DebugInfo: &validationutils.DebugInfo{
2247
- FedConfig: configureDebugInfo,
2248
- },
2249
- }
2250
-
2251
- if valid {
2252
- result.Code = 200
2253
- } else {
2254
- result.Code = 30000
2255
- }
2256
-
2257
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2258
- results = append(results, result)
2259
- results = append(results, subResults...)
2260
-
2261
- return results, nil
2262
- }
2263
- var VALIDATE_TAG_STATE_VALUES_FOR_IMMEDIATE_DELIVERY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2264
-
2265
- if input.Config.SkipTestsDict != nil {
2266
- if _, skip := input.Config.SkipTestsDict["VALIDATE_TAG_STATE_VALUES_FOR_IMMEDIATE_DELIVERY"]; skip {
2267
- return []validationutils.ValidationOutput{}, nil
2268
- }
2269
- }
2270
-
2271
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2272
-
2273
- subResults := make([]validationutils.ValidationOutput, 0)
2274
- valid := true
2275
- configureDebugInfo := ""
2276
- for _, testObjMap := range scope {
2277
- validationutils.UnusedFunction(testObjMap)
2278
-
2279
- categoryPath := validationutils.GetJsonPath(testObjMap, "$.message.order.items[*].category_id", true)
2280
- validationutils.UnusedFunction(categoryPath)
2281
- categoryList := validationutils.StringSliceToInterface([]string{`Immediate Delivery`})
2282
- validationutils.UnusedFunction(categoryList)
2283
- tagValues := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].tags[?(@.code=='state')].list[*].value", true)
2284
- validationutils.UnusedFunction(tagValues)
2285
- validValues := validationutils.StringSliceToInterface([]string{`yes`, `no`})
2286
- validationutils.UnusedFunction(validValues)
2287
-
2288
- skipCheck := !(validationutils.AnyIn(categoryPath, categoryList))
2289
- if skipCheck {
2290
- continue
2291
- }
2292
-
2293
- validate := validationutils.AllIn(tagValues, validValues)
2294
-
2295
- configureDebugInfo = `{"_NAME_":"VALIDATE_TAG_STATE_VALUES_FOR_IMMEDIATE_DELIVERY","categoryPath":"$.message.order.items[*].category_id","categoryList":["Immediate Delivery"],"tagValues":"$.message.order.fulfillments[*].tags[?(@.code=='state')].list[*].value","validValues":["yes","no"],"_CONTINUE_":"!(categoryPath any in categoryList)","_RETURN_":"tagValues all in validValues"}`
2296
-
2297
- if !validate {
2298
- result := validationutils.ValidationOutput{
2299
- TestName: "VALIDATE_TAG_STATE_VALUES_FOR_IMMEDIATE_DELIVERY",
2300
- Valid: false,
2301
- Code: 30000,
2302
- Description: `#### **VALIDATE_TAG_STATE_VALUES_FOR_IMMEDIATE_DELIVERY**
2303
-
2304
- - All elements of $.message.order.fulfillments[*].tags[?(@.code=='state')].list[*].value must be in ["yes", "no"]
2305
-
2306
- > **Skip if:**
2307
- >
2308
- > - none of $.message.order.items[*].category_id are in ["Immediate Delivery"]`,
2309
- DebugInfo: &validationutils.DebugInfo{
2310
- FedConfig: configureDebugInfo,
2311
- },
2312
- }
2313
- return []validationutils.ValidationOutput{result}, nil
2314
- }
2315
-
2316
- }
2317
-
2318
- result := validationutils.ValidationOutput{
2319
- TestName: "VALIDATE_TAG_STATE_VALUES_FOR_IMMEDIATE_DELIVERY",
2320
- Valid: valid,
2321
- Code: 0,
2322
- DebugInfo: &validationutils.DebugInfo{
2323
- FedConfig: configureDebugInfo,
2324
- },
2325
- }
2326
-
2327
- if valid {
2328
- result.Code = 200
2329
- } else {
2330
- result.Code = 30000
2331
- }
2332
-
2333
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2334
- results = append(results, result)
2335
- results = append(results, subResults...)
2336
-
2337
- return results, nil
2338
- }
2339
- var Validate_tag_0_rider_details = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2340
-
2341
- if input.Config.SkipTestsDict != nil {
2342
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_rider_details"]; skip {
2343
- return []validationutils.ValidationOutput{}, nil
2344
- }
2345
- }
2346
-
2347
- scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='rider_details')]", true)
2348
-
2349
- subResults := make([]validationutils.ValidationOutput, 0)
2350
- valid := true
2351
- configureDebugInfo := ""
2352
- for _, testObjMap := range scope {
2353
- validationutils.UnusedFunction(testObjMap)
2354
-
2355
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
2356
- validationutils.UnusedFunction(subTags)
2357
- validValues := validationutils.StringSliceToInterface([]string{`name`, `phone`, `vehicle_registration`})
2358
- validationutils.UnusedFunction(validValues)
2359
-
2360
- validate := validationutils.AllIn(subTags, validValues)
2361
-
2362
- configureDebugInfo = `{"_NAME_":"validate_tag_0_rider_details","_SCOPE_":"$.message.order.fulfillments[*].tags[?(@.code=='rider_details')]","subTags":"$.list[*].code","validValues":["name","phone","vehicle_registration"],"_RETURN_":"subTags all in validValues"}`
2363
-
2364
- if !validate {
2365
- result := validationutils.ValidationOutput{
2366
- TestName: "validate_tag_0_rider_details",
2367
- Valid: false,
2368
- Code: 30000,
2369
- Description: `#### **validate_tag_0_rider_details**
2370
-
2371
- - All elements of $.message.order.fulfillments[*].tags[?(@.code=='rider_details')].list[*].code must be in ["name", "phone", "vehicle_registration"]`,
2372
- DebugInfo: &validationutils.DebugInfo{
2373
- FedConfig: configureDebugInfo,
2374
- },
2375
- }
2376
- return []validationutils.ValidationOutput{result}, nil
2377
- }
2378
-
2379
- }
2380
-
2381
- result := validationutils.ValidationOutput{
2382
- TestName: "Validate_tag_0_rider_details",
2383
- Valid: valid,
2384
- Code: 0,
2385
- DebugInfo: &validationutils.DebugInfo{
2386
- FedConfig: configureDebugInfo,
2387
- },
2388
- }
2389
-
2390
- if valid {
2391
- result.Code = 200
2392
- } else {
2393
- result.Code = 30000
2394
- }
2395
-
2396
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2397
- results = append(results, result)
2398
- results = append(results, subResults...)
2399
-
2400
- return results, nil
2401
- }
2402
- var Validate_tag_0_linked_provider = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2403
-
2404
- if input.Config.SkipTestsDict != nil {
2405
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_linked_provider"]; skip {
2406
- return []validationutils.ValidationOutput{}, nil
2407
- }
2408
- }
2409
-
2410
- scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='linked_provider')]", true)
2411
-
2412
- subResults := make([]validationutils.ValidationOutput, 0)
2413
- valid := true
2414
- configureDebugInfo := ""
2415
- for _, testObjMap := range scope {
2416
- validationutils.UnusedFunction(testObjMap)
2417
-
2418
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
2419
- validationutils.UnusedFunction(subTags)
2420
- validValues := validationutils.StringSliceToInterface([]string{`id`, `name`, `address`, `cred_code`, `cred_desc`, `tax_id`})
2421
- validationutils.UnusedFunction(validValues)
2422
-
2423
- validate := validationutils.AllIn(subTags, validValues)
2424
-
2425
- configureDebugInfo = `{"_NAME_":"validate_tag_0_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"}`
2426
-
2427
- if !validate {
2428
- result := validationutils.ValidationOutput{
2429
- TestName: "validate_tag_0_linked_provider",
2430
- Valid: false,
2431
- Code: 30000,
2432
- Description: `#### **validate_tag_0_linked_provider**
2433
-
2434
- - All elements of $.message.order.fulfillments[*].tags[?(@.code=='linked_provider')].list[*].code must be in ["id", "name", "address", "cred_code", "cred_desc", "tax_id"]`,
2435
- DebugInfo: &validationutils.DebugInfo{
2436
- FedConfig: configureDebugInfo,
2437
- },
2438
- }
2439
- return []validationutils.ValidationOutput{result}, nil
2440
- }
2441
-
2442
- }
2443
-
2444
- result := validationutils.ValidationOutput{
2445
- TestName: "Validate_tag_0_linked_provider",
2446
- Valid: valid,
2447
- Code: 0,
2448
- DebugInfo: &validationutils.DebugInfo{
2449
- FedConfig: configureDebugInfo,
2450
- },
2451
- }
2452
-
2453
- if valid {
2454
- result.Code = 200
2455
- } else {
2456
- result.Code = 30000
2457
- }
2458
-
2459
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2460
- results = append(results, result)
2461
- results = append(results, subResults...)
2462
-
2463
- return results, nil
2464
- }
2465
- var Validate_tag_0_linked_order = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2466
-
2467
- if input.Config.SkipTestsDict != nil {
2468
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_linked_order"]; skip {
2469
- return []validationutils.ValidationOutput{}, nil
2470
- }
2471
- }
2472
-
2473
- scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='linked_order')]", true)
2474
-
2475
- subResults := make([]validationutils.ValidationOutput, 0)
2476
- valid := true
2477
- configureDebugInfo := ""
2478
- for _, testObjMap := range scope {
2479
- validationutils.UnusedFunction(testObjMap)
2480
-
2481
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
2482
- validationutils.UnusedFunction(subTags)
2483
- validValues := validationutils.StringSliceToInterface([]string{`id`, `prep_time`, `cod_order`, `collection_amount`, `currency`, `declared_value`, `weight_unit`, `weight_value`, `dim_unit`, `length`, `breadth`, `height`, `shipment_type`})
2484
- validationutils.UnusedFunction(validValues)
2485
-
2486
- validate := validationutils.AllIn(subTags, validValues)
2487
-
2488
- configureDebugInfo = `{"_NAME_":"validate_tag_0_linked_order","_SCOPE_":"$.message.order.fulfillments[*].tags[?(@.code=='linked_order')]","subTags":"$.list[*].code","validValues":["id","prep_time","cod_order","collection_amount","currency","declared_value","weight_unit","weight_value","dim_unit","length","breadth","height","shipment_type"],"_RETURN_":"subTags all in validValues"}`
2489
-
2490
- if !validate {
2491
- result := validationutils.ValidationOutput{
2492
- TestName: "validate_tag_0_linked_order",
2493
- Valid: false,
2494
- Code: 30000,
2495
- Description: `#### **validate_tag_0_linked_order**
2496
-
2497
- - All elements of $.message.order.fulfillments[*].tags[?(@.code=='linked_order')].list[*].code must be in ["id", "prep_time", "cod_order", "collection_amount", "currency", "declared_value", "weight_unit", "weight_value", "dim_unit", "length", "breadth", "height", "shipment_type"]`,
2498
- DebugInfo: &validationutils.DebugInfo{
2499
- FedConfig: configureDebugInfo,
2500
- },
2501
- }
2502
- return []validationutils.ValidationOutput{result}, nil
2503
- }
2504
-
2505
- }
2506
-
2507
- result := validationutils.ValidationOutput{
2508
- TestName: "Validate_tag_0_linked_order",
2509
- Valid: valid,
2510
- Code: 0,
2511
- DebugInfo: &validationutils.DebugInfo{
2512
- FedConfig: configureDebugInfo,
2513
- },
2514
- }
2515
-
2516
- if valid {
2517
- result.Code = 200
2518
- } else {
2519
- result.Code = 30000
2520
- }
2521
-
2522
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2523
- results = append(results, result)
2524
- results = append(results, subResults...)
2525
-
2526
- return results, nil
2527
- }
2528
- var Validate_tag_0_linked_order_item = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2529
-
2530
- if input.Config.SkipTestsDict != nil {
2531
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_linked_order_item"]; skip {
2532
- return []validationutils.ValidationOutput{}, nil
2533
- }
2534
- }
2535
-
2536
- scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='linked_order_item')]", true)
2537
-
2538
- subResults := make([]validationutils.ValidationOutput, 0)
2539
- valid := true
2540
- configureDebugInfo := ""
2541
- for _, testObjMap := range scope {
2542
- validationutils.UnusedFunction(testObjMap)
2543
-
2544
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
2545
- validationutils.UnusedFunction(subTags)
2546
- validValues := validationutils.StringSliceToInterface([]string{`category`, `name`, `currency`, `value`, `quantity`, `weight_unit`, `weight_value`, `hsn_code`, `ebn_exempt`})
2547
- validationutils.UnusedFunction(validValues)
2548
-
2549
- validate := validationutils.AllIn(subTags, validValues)
2550
-
2551
- configureDebugInfo = `{"_NAME_":"validate_tag_0_linked_order_item","_SCOPE_":"$.message.order.fulfillments[*].tags[?(@.code=='linked_order_item')]","subTags":"$.list[*].code","validValues":["category","name","currency","value","quantity","weight_unit","weight_value","hsn_code","ebn_exempt"],"_RETURN_":"subTags all in validValues"}`
2552
-
2553
- if !validate {
2554
- result := validationutils.ValidationOutput{
2555
- TestName: "validate_tag_0_linked_order_item",
2556
- Valid: false,
2557
- Code: 30000,
2558
- Description: `#### **validate_tag_0_linked_order_item**
2559
-
2560
- - All elements of $.message.order.fulfillments[*].tags[?(@.code=='linked_order_item')].list[*].code must be in ["category", "name", "currency", "value", "quantity", "weight_unit", "weight_value", "hsn_code", "ebn_exempt"]`,
2561
- DebugInfo: &validationutils.DebugInfo{
2562
- FedConfig: configureDebugInfo,
2563
- },
2564
- }
2565
- return []validationutils.ValidationOutput{result}, nil
2566
- }
2567
-
2568
- }
2569
-
2570
- result := validationutils.ValidationOutput{
2571
- TestName: "Validate_tag_0_linked_order_item",
2572
- Valid: valid,
2573
- Code: 0,
2574
- DebugInfo: &validationutils.DebugInfo{
2575
- FedConfig: configureDebugInfo,
2576
- },
2577
- }
2578
-
2579
- if valid {
2580
- result.Code = 200
2581
- } else {
2582
- result.Code = 30000
2583
- }
2584
-
2585
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2586
- results = append(results, result)
2587
- results = append(results, subResults...)
2588
-
2589
- return results, nil
2590
- }
2591
- var Validate_tag_0_fulfill_request = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2592
-
2593
- if input.Config.SkipTestsDict != nil {
2594
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_fulfill_request"]; skip {
2595
- return []validationutils.ValidationOutput{}, nil
2596
- }
2597
- }
2598
-
2599
- scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='fulfill_request')]", true)
2600
-
2601
- subResults := make([]validationutils.ValidationOutput, 0)
2602
- valid := true
2603
- configureDebugInfo := ""
2604
- for _, testObjMap := range scope {
2605
- validationutils.UnusedFunction(testObjMap)
2606
-
2607
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
2608
- validationutils.UnusedFunction(subTags)
2609
- validValues := validationutils.StringSliceToInterface([]string{`rider_count`, `order_count`, `rate_basis`, `motorable_distance`, `pickup_slot_start`, `pickup_slot_end`, `delivery_slot_start`, `delivery_slot_end`})
2610
- validationutils.UnusedFunction(validValues)
2611
-
2612
- validate := validationutils.AllIn(subTags, validValues)
2613
-
2614
- configureDebugInfo = `{"_NAME_":"validate_tag_0_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"}`
2615
-
2616
- if !validate {
2617
- result := validationutils.ValidationOutput{
2618
- TestName: "validate_tag_0_fulfill_request",
2619
- Valid: false,
2620
- Code: 30000,
2621
- Description: `#### **validate_tag_0_fulfill_request**
2622
-
2623
- - 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"]`,
2624
- DebugInfo: &validationutils.DebugInfo{
2625
- FedConfig: configureDebugInfo,
2626
- },
2627
- }
2628
- return []validationutils.ValidationOutput{result}, nil
2629
- }
2630
-
2631
- }
2632
-
2633
- result := validationutils.ValidationOutput{
2634
- TestName: "Validate_tag_0_fulfill_request",
2635
- Valid: valid,
2636
- Code: 0,
2637
- DebugInfo: &validationutils.DebugInfo{
2638
- FedConfig: configureDebugInfo,
2639
- },
2640
- }
2641
-
2642
- if valid {
2643
- result.Code = 200
2644
- } else {
2645
- result.Code = 30000
2646
- }
2647
-
2648
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2649
- results = append(results, result)
2650
- results = append(results, subResults...)
2651
-
2652
- return results, nil
2653
- }
2654
- var Validate_tag_0_rto_verification = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2655
-
2656
- if input.Config.SkipTestsDict != nil {
2657
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_rto_verification"]; skip {
2658
- return []validationutils.ValidationOutput{}, nil
2659
- }
2660
- }
2661
-
2662
- scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='rto_verification')]", true)
2663
-
2664
- subResults := make([]validationutils.ValidationOutput, 0)
2665
- valid := true
2666
- configureDebugInfo := ""
2667
- for _, testObjMap := range scope {
2668
- validationutils.UnusedFunction(testObjMap)
2669
-
2670
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
2671
- validationutils.UnusedFunction(subTags)
2672
- validValues := validationutils.StringSliceToInterface([]string{`code`, `short_desc`})
2673
- validationutils.UnusedFunction(validValues)
2674
-
2675
- validate := validationutils.AllIn(subTags, validValues)
2676
-
2677
- configureDebugInfo = `{"_NAME_":"validate_tag_0_rto_verification","_SCOPE_":"$.message.order.fulfillments[*].tags[?(@.code=='rto_verification')]","subTags":"$.list[*].code","validValues":["code","short_desc"],"_RETURN_":"subTags all in validValues"}`
2678
-
2679
- if !validate {
2680
- result := validationutils.ValidationOutput{
2681
- TestName: "validate_tag_0_rto_verification",
2682
- Valid: false,
2683
- Code: 30000,
2684
- Description: `#### **validate_tag_0_rto_verification**
2685
-
2686
- - All elements of $.message.order.fulfillments[*].tags[?(@.code=='rto_verification')].list[*].code must be in ["code", "short_desc"]`,
2687
- DebugInfo: &validationutils.DebugInfo{
2688
- FedConfig: configureDebugInfo,
2689
- },
2690
- }
2691
- return []validationutils.ValidationOutput{result}, nil
2692
- }
2693
-
2694
- }
2695
-
2696
- result := validationutils.ValidationOutput{
2697
- TestName: "Validate_tag_0_rto_verification",
2698
- Valid: valid,
2699
- Code: 0,
2700
- DebugInfo: &validationutils.DebugInfo{
2701
- FedConfig: configureDebugInfo,
2702
- },
2703
- }
2704
-
2705
- if valid {
2706
- result.Code = 200
2707
- } else {
2708
- result.Code = 30000
2709
- }
2710
-
2711
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2712
- results = append(results, result)
2713
- results = append(results, subResults...)
2714
-
2715
- return results, nil
2716
- }
2717
- var Validate_tag_0_fulfill_response = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2718
-
2719
- if input.Config.SkipTestsDict != nil {
2720
- if _, skip := input.Config.SkipTestsDict["Validate_tag_0_fulfill_response"]; skip {
2721
- return []validationutils.ValidationOutput{}, nil
2722
- }
2723
- }
2724
-
2725
- scope := validationutils.GetJsonPath(input.Payload, "$.message.order.fulfillments[*].tags[?(@.code=='fulfill_response')]", true)
2726
-
2727
- subResults := make([]validationutils.ValidationOutput, 0)
2728
- valid := true
2729
- configureDebugInfo := ""
2730
- for _, testObjMap := range scope {
2731
- validationutils.UnusedFunction(testObjMap)
2732
-
2733
- subTags := validationutils.GetJsonPath(testObjMap, "$.list[*].code", true)
2734
- validationutils.UnusedFunction(subTags)
2735
- validValues := validationutils.StringSliceToInterface([]string{`rider_count`, `order_count`, `rate_basis`})
2736
- validationutils.UnusedFunction(validValues)
2737
-
2738
- validate := validationutils.AllIn(subTags, validValues)
2739
-
2740
- configureDebugInfo = `{"_NAME_":"validate_tag_0_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"}`
2741
-
2742
- if !validate {
2743
- result := validationutils.ValidationOutput{
2744
- TestName: "validate_tag_0_fulfill_response",
2745
- Valid: false,
2746
- Code: 30000,
2747
- Description: `#### **validate_tag_0_fulfill_response**
2748
-
2749
- - All elements of $.message.order.fulfillments[*].tags[?(@.code=='fulfill_response')].list[*].code must be in ["rider_count", "order_count", "rate_basis"]`,
2750
- DebugInfo: &validationutils.DebugInfo{
2751
- FedConfig: configureDebugInfo,
2752
- },
2753
- }
2754
- return []validationutils.ValidationOutput{result}, nil
2755
- }
2756
-
2757
- }
2758
-
2759
- result := validationutils.ValidationOutput{
2760
- TestName: "Validate_tag_0_fulfill_response",
2761
- Valid: valid,
2762
- Code: 0,
2763
- DebugInfo: &validationutils.DebugInfo{
2764
- FedConfig: configureDebugInfo,
2765
- },
2766
- }
2767
-
2768
- if valid {
2769
- result.Code = 200
2770
- } else {
2771
- result.Code = 30000
2772
- }
2773
-
2774
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2775
- results = append(results, result)
2776
- results = append(results, subResults...)
2777
-
2778
- return results, nil
2779
- }
2780
- var Instructions_validations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2781
-
2782
- if input.Config.SkipTestsDict != nil {
2783
- if _, skip := input.Config.SkipTestsDict["Instructions_validations"]; skip {
2784
- return []validationutils.ValidationOutput{}, nil
2785
- }
2786
- }
2787
-
2788
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2789
-
2790
- subResults := make([]validationutils.ValidationOutput, 0)
2791
- valid := true
2792
- configureDebugInfo := ""
2793
- for _, testObjMap := range scope {
2794
- validationutils.UnusedFunction(testObjMap)
2795
-
2796
- var Start_instructions_short_desc_present = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2797
-
2798
- if input.Config.SkipTestsDict != nil {
2799
- if _, skip := input.Config.SkipTestsDict["Start_instructions_short_desc_present"]; skip {
2800
- return []validationutils.ValidationOutput{}, nil
2801
- }
2802
- }
2803
-
2804
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2805
-
2806
- subResults := make([]validationutils.ValidationOutput, 0)
2807
- valid := true
2808
- configureDebugInfo := ""
2809
- for _, testObjMap := range scope {
2810
- validationutils.UnusedFunction(testObjMap)
2811
-
2812
- ship_status := validationutils.StringSliceToInterface([]string{`yes`})
2813
- validationutils.UnusedFunction(ship_status)
2814
- instructions_code := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.instructions.code", true)
2815
- validationutils.UnusedFunction(instructions_code)
2816
- instructions_short_desc := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].start.instructions.short_desc", true)
2817
- validationutils.UnusedFunction(instructions_short_desc)
2818
- shipStatus := validationutils.GetJsonPath(testObjMap, "$.message.order.fulfillments[*].tags[?(@.code=='state')].list[?(@.code=='ready_to_ship')].value", true)
2819
- validationutils.UnusedFunction(shipStatus)
2820
-
2821
- skipCheck := !(validationutils.AllIn(shipStatus, ship_status))
2822
- if skipCheck {
2823
- continue
2824
- }
2825
-
2826
- validate := (validationutils.ArePresent(instructions_code)) && (validationutils.ArePresent(instructions_short_desc))
2827
-
2828
- configureDebugInfo = `{"_NAME_":"start_instructions_short_desc_present","_DESCRIPTION_":"In start instructions, short description is required when ready_to_ship = yes","ship_status":["yes"],"instructions_code":"$.message.order.fulfillments[*].start.instructions.code","instructions_short_desc":"$.message.order.fulfillments[*].start.instructions.short_desc","shipStatus":"$.message.order.fulfillments[*].tags[?(@.code=='state')].list[?(@.code=='ready_to_ship')].value","_CONTINUE_":"!(shipStatus all in ship_status)","_RETURN_":"instructions_code are present && instructions_short_desc are present"}`
2829
-
2830
- if !validate {
2831
- result := validationutils.ValidationOutput{
2832
- TestName: "start_instructions_short_desc_present",
2833
- Valid: false,
2834
- Code: 30000,
2835
- Description: `#### **start_instructions_short_desc_present**
2836
-
2837
- In start instructions, short description is required when ready_to_ship = yes
2838
-
2839
- > **Skip if:**
2840
- >
2841
- > - not all elements of $.message.order.fulfillments[*].tags[?(@.code=='state')].list[?(@.code=='ready_to_ship')].value are in ["yes"]`,
2842
- DebugInfo: &validationutils.DebugInfo{
2843
- FedConfig: configureDebugInfo,
2844
- },
2845
- }
2846
- return []validationutils.ValidationOutput{result}, nil
2847
- }
2848
-
2849
- }
2850
-
2851
- result := validationutils.ValidationOutput{
2852
- TestName: "Start_instructions_short_desc_present",
2853
- Valid: valid,
2854
- Code: 0,
2855
- DebugInfo: &validationutils.DebugInfo{
2856
- FedConfig: configureDebugInfo,
2857
- },
2858
- }
2859
-
2860
- if valid {
2861
- result.Code = 200
2862
- } else {
2863
- result.Code = 30000
2864
- }
2865
-
2866
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2867
- results = append(results, result)
2868
- results = append(results, subResults...)
2869
-
2870
- return results, nil
2871
- }
2872
-
2873
- var testFunctions = validationutils.TestFunctionArray{
2874
- Start_instructions_short_desc_present,
2875
- }
2876
-
2877
- allResults := make([]validationutils.ValidationOutput, 0)
2878
-
2879
- for _, testFunc := range testFunctions {
2880
- results, err := testFunc(input)
2881
- if err != nil {
2882
- return nil, err
2883
- }
2884
- allResults = append(allResults, results...)
2885
- }
2886
-
2887
- subResults = allResults
2888
- // if all subResults are valid, then valid is true
2889
- valid = true
2890
- for _, res := range subResults {
2891
- if !res.Valid {
2892
- valid = false
2893
- break
2894
- }
2895
- }
2896
-
2897
- configureDebugInfo = `NESTED_TEST_OBJECT`
2898
-
2899
- }
2900
-
2901
- result := validationutils.ValidationOutput{
2902
- TestName: "Instructions_validations",
2903
- Valid: valid,
2904
- Code: 0,
2905
- DebugInfo: &validationutils.DebugInfo{
2906
- FedConfig: configureDebugInfo,
2907
- },
2908
- }
2909
-
2910
- if valid {
2911
- result.Code = 200
2912
- } else {
2913
- result.Code = 30000
2914
- }
2915
-
2916
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2917
- results = append(results, result)
2918
- results = append(results, subResults...)
2919
-
2920
- return results, nil
2921
- }
2922
-
2923
- var testFunctions = validationutils.TestFunctionArray{
2924
- REQUIRED_CONTEXT_DOMAIN,
2925
- REQUIRED_CONTEXT_COUNTRY,
2926
- REQUIRED_CONTEXT_CITY,
2927
- REQUIRED_CONTEXT_ACTION,
2928
- REQUIRED_CONTEXT_CORE_VERSION,
2929
- REQUIRED_CONTEXT_BAP_ID,
2930
- REQUIRED_CONTEXT_BAP_URI,
2931
- REQUIRED_CONTEXT_BPP_ID,
2932
- REQUIRED_CONTEXT_BPP_URI,
2933
- REQUIRED_CONTEXT_TRANSACTION_ID,
2934
- REQUIRED_CONTEXT_MESSAGE_ID,
2935
- REQUIRED_CONTEXT_TIMESTAMP,
2936
- REQUIRED_CONTEXT_TTL,
2937
- REQUIRED_MESSAGE_UPDATE_TARGET,
2938
- REQUIRED_MESSAGE_ID,
2939
- REQUIRED_MESSAGE_ID_16,
2940
- REQUIRED_MESSAGE_CATEGORY_ID,
2941
- REQUIRED_MESSAGE_TYPE,
2942
- REQUIRED_MESSAGE_UPDATED_AT,
2943
- VALID_ENUM_CONTEXT_DOMAIN,
2944
- VALID_ENUM_MESSAGE_STATE,
2945
- VALID_ENUM_MESSAGE_CATEGORY_ID,
2946
- VALID_ENUM_MESSAGE_TYPE,
2947
- VALID_ENUM_MESSAGE_TYPE_5,
2948
- VALID_ENUM_MESSAGE_CODE,
2949
- VALID_ENUM_MESSAGE_TYPE_7,
2950
- VALID_ENUM_MESSAGE_CODE_8,
2951
- VALID_ENUM_MESSAGE_CODE_9,
2952
- VALID_ENUM_MESSAGE_TYPE_10,
2953
- VALID_ENUM_MESSAGE_SETTLEMENT_COUNTERPARTY,
2954
- VALID_ENUM_MESSAGE_BREAKUPONDCORGTITLE_TYPE,
2955
- Validate_tag_0,
2956
- VALIDATE_TAG_STATE_FOR_IMMEDIATE_DELIVERY,
2957
- VALIDATE_TAG_STATE_VALUES_FOR_IMMEDIATE_DELIVERY,
2958
- Validate_tag_0_rider_details,
2959
- Validate_tag_0_linked_provider,
2960
- Validate_tag_0_linked_order,
2961
- Validate_tag_0_linked_order_item,
2962
- Validate_tag_0_fulfill_request,
2963
- Validate_tag_0_rto_verification,
2964
- Validate_tag_0_fulfill_response,
2965
- Instructions_validations,
2966
- }
2967
-
2968
- allResults := make([]validationutils.ValidationOutput, 0)
2969
-
2970
- for _, testFunc := range testFunctions {
2971
- results, err := testFunc(input)
2972
- if err != nil {
2973
- return nil, err
2974
- }
2975
- allResults = append(allResults, results...)
2976
- }
2977
-
2978
- subResults = allResults
2979
- // if all subResults are valid, then valid is true
2980
- valid = true
2981
- for _, res := range subResults {
2982
- if !res.Valid {
2983
- valid = false
2984
- break
2985
- }
2986
- }
2987
-
2988
- configureDebugInfo = `NESTED_TEST_OBJECT`
2989
-
2990
- }
2991
-
2992
- result := validationutils.ValidationOutput{
2993
- TestName: "UpdateValidations",
2994
- Valid: valid,
2995
- Code: 0,
2996
- DebugInfo: &validationutils.DebugInfo{
2997
- FedConfig: configureDebugInfo,
2998
- },
2999
- }
3000
-
3001
- if valid {
3002
- result.Code = 200
3003
- } else {
3004
- result.Code = 30000
3005
- }
3006
-
3007
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
3008
- results = append(results, result)
3009
- results = append(results, subResults...)
3010
-
3011
- return results, nil
3012
- }