ondc-code-generator 0.8.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/alpha/possible-json-paths.json +34134 -0
  2. package/alpha/table/page/index.html +11487 -0
  3. package/alpha/table/page/style.css +449 -0
  4. package/alpha/table/rag-table-docs/confirm.md +63 -0
  5. package/alpha/table/rag-table-docs/init.md +81 -0
  6. package/alpha/table/rag-table-docs/on_confirm.md +164 -0
  7. package/alpha/table/rag-table-docs/on_init.md +146 -0
  8. package/alpha/table/rag-table-docs/on_search.md +163 -0
  9. package/alpha/table/rag-table-docs/on_select.md +99 -0
  10. package/alpha/table/rag-table-docs/on_status.md +153 -0
  11. package/alpha/table/rag-table-docs/on_update.md +164 -0
  12. package/alpha/table/rag-table-docs/raw_table.json +11198 -0
  13. package/alpha/table/rag-table-docs/search.md +128 -0
  14. package/alpha/table/rag-table-docs/select.md +70 -0
  15. package/alpha/table/rag-table-docs/status.md +44 -0
  16. package/alpha/table/rag-table-docs/update.md +51 -0
  17. package/alpha/table/readme.md +1312 -0
  18. package/alpha/table/validPaths.json +34134 -0
  19. package/alpha/table.zip +0 -0
  20. package/dist/bin/cli.js +4 -0
  21. package/dist/generator/config-compiler.d.ts +16 -2
  22. package/dist/generator/config-compiler.js +57 -19
  23. package/dist/generator/generators/classes/abstract-generator.d.ts +2 -0
  24. package/dist/generator/generators/documentation/md-generator.d.ts +12 -5
  25. package/dist/generator/generators/documentation/md-generator.js +23 -28
  26. package/dist/generator/generators/documentation/templates/index.mustache +162 -26
  27. package/dist/generator/generators/documentation/templates/style.css +387 -142
  28. package/dist/generator/generators/go/go-generator.js +1 -1
  29. package/dist/generator/generators/javascript/js-generator.js +1 -1
  30. package/dist/generator/generators/python/py-generator.js +1 -1
  31. package/dist/generator/generators/rag/rag-generator.d.ts +48 -0
  32. package/dist/generator/generators/rag/rag-generator.js +185 -0
  33. package/dist/generator/generators/rag/rag-table-generator.d.ts +55 -0
  34. package/dist/generator/generators/rag/rag-table-generator.js +269 -0
  35. package/dist/generator/generators/typescript/ts-generator.js +1 -1
  36. package/dist/index.test.js +12 -3
  37. package/dist/types/build.d.ts +4 -0
  38. package/dist/types/compiler-types.d.ts +3 -1
  39. package/dist/types/compiler-types.js +2 -0
  40. package/package.json +1 -1
  41. package/alpha/docs/page/index.html +0 -6137
  42. package/alpha/docs/page/style.css +0 -204
  43. package/alpha/docs/readme.md +0 -5939
  44. package/alpha/docs/validPaths.json +0 -14351
  45. package/alpha/page/index.html +0 -6137
  46. package/alpha/page/style.css +0 -204
  47. package/alpha/readme.md +0 -5939
  48. package/alpha/validationpkg/examples/search.json +0 -143
  49. package/alpha/validationpkg/examples_output/search/case-001/output.json +0 -12
  50. package/alpha/validationpkg/go.mod +0 -8
  51. package/alpha/validationpkg/go.sum +0 -4
  52. package/alpha/validationpkg/jsonvalidations/cancel.go +0 -1289
  53. package/alpha/validationpkg/jsonvalidations/confirm.go +0 -9121
  54. package/alpha/validationpkg/jsonvalidations/init.go +0 -4864
  55. package/alpha/validationpkg/jsonvalidations/issue.go +0 -4868
  56. package/alpha/validationpkg/jsonvalidations/on_cancel.go +0 -7111
  57. package/alpha/validationpkg/jsonvalidations/on_confirm.go +0 -8903
  58. package/alpha/validationpkg/jsonvalidations/on_init.go +0 -4445
  59. package/alpha/validationpkg/jsonvalidations/on_issue.go +0 -2828
  60. package/alpha/validationpkg/jsonvalidations/on_issue_status.go +0 -1938
  61. package/alpha/validationpkg/jsonvalidations/on_search.go +0 -3356
  62. package/alpha/validationpkg/jsonvalidations/on_status.go +0 -8129
  63. package/alpha/validationpkg/jsonvalidations/on_track.go +0 -1415
  64. package/alpha/validationpkg/jsonvalidations/on_update.go +0 -8700
  65. package/alpha/validationpkg/jsonvalidations/search.go +0 -3585
  66. package/alpha/validationpkg/jsonvalidations/status.go +0 -1073
  67. package/alpha/validationpkg/jsonvalidations/track.go +0 -1073
  68. package/alpha/validationpkg/jsonvalidations/update.go +0 -3012
  69. package/alpha/validationpkg/main-validator.go +0 -196
  70. package/alpha/validationpkg/main-validator_test.go +0 -165
  71. package/alpha/validationpkg/storageutils/api_save_utils.go +0 -83
  72. package/alpha/validationpkg/storageutils/cancel.go +0 -30
  73. package/alpha/validationpkg/storageutils/confirm.go +0 -30
  74. package/alpha/validationpkg/storageutils/index.go +0 -132
  75. package/alpha/validationpkg/storageutils/init.go +0 -30
  76. package/alpha/validationpkg/storageutils/issue.go +0 -30
  77. package/alpha/validationpkg/storageutils/on_cancel.go +0 -30
  78. package/alpha/validationpkg/storageutils/on_confirm.go +0 -30
  79. package/alpha/validationpkg/storageutils/on_init.go +0 -30
  80. package/alpha/validationpkg/storageutils/on_issue.go +0 -30
  81. package/alpha/validationpkg/storageutils/on_issue_status.go +0 -30
  82. package/alpha/validationpkg/storageutils/on_search.go +0 -30
  83. package/alpha/validationpkg/storageutils/on_status.go +0 -30
  84. package/alpha/validationpkg/storageutils/on_track.go +0 -30
  85. package/alpha/validationpkg/storageutils/on_update.go +0 -30
  86. package/alpha/validationpkg/storageutils/save_utils.go +0 -75
  87. package/alpha/validationpkg/storageutils/search.go +0 -30
  88. package/alpha/validationpkg/storageutils/status.go +0 -30
  89. package/alpha/validationpkg/storageutils/track.go +0 -30
  90. package/alpha/validationpkg/storageutils/update.go +0 -30
  91. package/alpha/validationpkg/validationutils/json_normalizer.go +0 -152
  92. package/alpha/validationpkg/validationutils/json_path_utils.go +0 -173
  93. package/alpha/validationpkg/validationutils/storage-interface.go +0 -107
  94. package/alpha/validationpkg/validationutils/test-config.go +0 -69
  95. package/alpha/validationpkg/validationutils/validation_utils.go +0 -429
@@ -1,2828 +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 On_issue_Tests(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
10
- totalResults, err := On_issueValidations(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 == "On_issueValidations" {
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 On_issueValidations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
65
-
66
- if input.Config.SkipTestsDict != nil {
67
- if _, skip := input.Config.SkipTestsDict["On_issueValidations"]; 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_FIELDS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
81
-
82
- if input.Config.SkipTestsDict != nil {
83
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_FIELDS"]; 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
- var REQUIRED_CONTEXT_DOMAIN = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
97
-
98
- if input.Config.SkipTestsDict != nil {
99
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_DOMAIN"]; skip {
100
- return []validationutils.ValidationOutput{}, nil
101
- }
102
- }
103
-
104
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
105
-
106
- subResults := make([]validationutils.ValidationOutput, 0)
107
- valid := true
108
- configureDebugInfo := ""
109
- for _, testObjMap := range scope {
110
- validationutils.UnusedFunction(testObjMap)
111
-
112
- attr := validationutils.GetJsonPath(testObjMap, "$.context.domain", true)
113
- validationutils.UnusedFunction(attr)
114
-
115
- validate := validationutils.ArePresent(attr)
116
-
117
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_DOMAIN","attr":"$.context.domain","_RETURN_":"attr are present"}`
118
-
119
- if !validate {
120
- result := validationutils.ValidationOutput{
121
- TestName: "REQUIRED_CONTEXT_DOMAIN",
122
- Valid: false,
123
- Code: 30000,
124
- Description: `#### **REQUIRED_CONTEXT_DOMAIN**
125
-
126
- - $.context.domain must be present in the payload`,
127
- DebugInfo: &validationutils.DebugInfo{
128
- FedConfig: configureDebugInfo,
129
- },
130
- }
131
- return []validationutils.ValidationOutput{result}, nil
132
- }
133
-
134
- }
135
-
136
- result := validationutils.ValidationOutput{
137
- TestName: "REQUIRED_CONTEXT_DOMAIN",
138
- Valid: valid,
139
- Code: 0,
140
- DebugInfo: &validationutils.DebugInfo{
141
- FedConfig: configureDebugInfo,
142
- },
143
- }
144
-
145
- if valid {
146
- result.Code = 200
147
- } else {
148
- result.Code = 30000
149
- }
150
-
151
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
152
- results = append(results, result)
153
- results = append(results, subResults...)
154
-
155
- return results, nil
156
- }
157
- var REQUIRED_CONTEXT_COUNTRY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
158
-
159
- if input.Config.SkipTestsDict != nil {
160
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_COUNTRY"]; skip {
161
- return []validationutils.ValidationOutput{}, nil
162
- }
163
- }
164
-
165
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
166
-
167
- subResults := make([]validationutils.ValidationOutput, 0)
168
- valid := true
169
- configureDebugInfo := ""
170
- for _, testObjMap := range scope {
171
- validationutils.UnusedFunction(testObjMap)
172
-
173
- attr := validationutils.StringSliceToInterface([]string{`$.context.location.country.code`})
174
- validationutils.UnusedFunction(attr)
175
-
176
- validate := validationutils.ArePresent(attr)
177
-
178
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_COUNTRY","attr":["$.context.location.country.code"],"_RETURN_":"attr are present"}`
179
-
180
- if !validate {
181
- result := validationutils.ValidationOutput{
182
- TestName: "REQUIRED_CONTEXT_COUNTRY",
183
- Valid: false,
184
- Code: 30000,
185
- Description: `#### **REQUIRED_CONTEXT_COUNTRY**
186
-
187
- - ["$.context.location.country.code"] must be present in the payload`,
188
- DebugInfo: &validationutils.DebugInfo{
189
- FedConfig: configureDebugInfo,
190
- },
191
- }
192
- return []validationutils.ValidationOutput{result}, nil
193
- }
194
-
195
- }
196
-
197
- result := validationutils.ValidationOutput{
198
- TestName: "REQUIRED_CONTEXT_COUNTRY",
199
- Valid: valid,
200
- Code: 0,
201
- DebugInfo: &validationutils.DebugInfo{
202
- FedConfig: configureDebugInfo,
203
- },
204
- }
205
-
206
- if valid {
207
- result.Code = 200
208
- } else {
209
- result.Code = 30000
210
- }
211
-
212
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
213
- results = append(results, result)
214
- results = append(results, subResults...)
215
-
216
- return results, nil
217
- }
218
- var REQUIRED_CONTEXT_CITY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
219
-
220
- if input.Config.SkipTestsDict != nil {
221
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_CITY"]; skip {
222
- return []validationutils.ValidationOutput{}, nil
223
- }
224
- }
225
-
226
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
227
-
228
- subResults := make([]validationutils.ValidationOutput, 0)
229
- valid := true
230
- configureDebugInfo := ""
231
- for _, testObjMap := range scope {
232
- validationutils.UnusedFunction(testObjMap)
233
-
234
- attr := validationutils.StringSliceToInterface([]string{`$.context.location.city.code`})
235
- validationutils.UnusedFunction(attr)
236
-
237
- validate := validationutils.ArePresent(attr)
238
-
239
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_CITY","attr":["$.context.location.city.code"],"_RETURN_":"attr are present"}`
240
-
241
- if !validate {
242
- result := validationutils.ValidationOutput{
243
- TestName: "REQUIRED_CONTEXT_CITY",
244
- Valid: false,
245
- Code: 30000,
246
- Description: `#### **REQUIRED_CONTEXT_CITY**
247
-
248
- - ["$.context.location.city.code"] must be present in the payload`,
249
- DebugInfo: &validationutils.DebugInfo{
250
- FedConfig: configureDebugInfo,
251
- },
252
- }
253
- return []validationutils.ValidationOutput{result}, nil
254
- }
255
-
256
- }
257
-
258
- result := validationutils.ValidationOutput{
259
- TestName: "REQUIRED_CONTEXT_CITY",
260
- Valid: valid,
261
- Code: 0,
262
- DebugInfo: &validationutils.DebugInfo{
263
- FedConfig: configureDebugInfo,
264
- },
265
- }
266
-
267
- if valid {
268
- result.Code = 200
269
- } else {
270
- result.Code = 30000
271
- }
272
-
273
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
274
- results = append(results, result)
275
- results = append(results, subResults...)
276
-
277
- return results, nil
278
- }
279
- var REQUIRED_CONTEXT_TRANSACTION_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
280
-
281
- if input.Config.SkipTestsDict != nil {
282
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TRANSACTION_ID"]; skip {
283
- return []validationutils.ValidationOutput{}, nil
284
- }
285
- }
286
-
287
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
288
-
289
- subResults := make([]validationutils.ValidationOutput, 0)
290
- valid := true
291
- configureDebugInfo := ""
292
- for _, testObjMap := range scope {
293
- validationutils.UnusedFunction(testObjMap)
294
-
295
- attr := validationutils.GetJsonPath(testObjMap, "$.context.transaction_id", true)
296
- validationutils.UnusedFunction(attr)
297
-
298
- validate := validationutils.ArePresent(attr)
299
-
300
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TRANSACTION_ID","attr":"$.context.transaction_id","_RETURN_":"attr are present"}`
301
-
302
- if !validate {
303
- result := validationutils.ValidationOutput{
304
- TestName: "REQUIRED_CONTEXT_TRANSACTION_ID",
305
- Valid: false,
306
- Code: 30000,
307
- Description: `#### **REQUIRED_CONTEXT_TRANSACTION_ID**
308
-
309
- - $.context.transaction_id must be present in the payload`,
310
- DebugInfo: &validationutils.DebugInfo{
311
- FedConfig: configureDebugInfo,
312
- },
313
- }
314
- return []validationutils.ValidationOutput{result}, nil
315
- }
316
-
317
- }
318
-
319
- result := validationutils.ValidationOutput{
320
- TestName: "REQUIRED_CONTEXT_TRANSACTION_ID",
321
- Valid: valid,
322
- Code: 0,
323
- DebugInfo: &validationutils.DebugInfo{
324
- FedConfig: configureDebugInfo,
325
- },
326
- }
327
-
328
- if valid {
329
- result.Code = 200
330
- } else {
331
- result.Code = 30000
332
- }
333
-
334
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
335
- results = append(results, result)
336
- results = append(results, subResults...)
337
-
338
- return results, nil
339
- }
340
- var REQUIRED_CONTEXT_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
341
-
342
- if input.Config.SkipTestsDict != nil {
343
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_MESSAGE_ID"]; skip {
344
- return []validationutils.ValidationOutput{}, nil
345
- }
346
- }
347
-
348
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
349
-
350
- subResults := make([]validationutils.ValidationOutput, 0)
351
- valid := true
352
- configureDebugInfo := ""
353
- for _, testObjMap := range scope {
354
- validationutils.UnusedFunction(testObjMap)
355
-
356
- attr := validationutils.GetJsonPath(testObjMap, "$.context.message_id", true)
357
- validationutils.UnusedFunction(attr)
358
-
359
- validate := validationutils.ArePresent(attr)
360
-
361
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_MESSAGE_ID","attr":"$.context.message_id","_RETURN_":"attr are present"}`
362
-
363
- if !validate {
364
- result := validationutils.ValidationOutput{
365
- TestName: "REQUIRED_CONTEXT_MESSAGE_ID",
366
- Valid: false,
367
- Code: 30000,
368
- Description: `#### **REQUIRED_CONTEXT_MESSAGE_ID**
369
-
370
- - $.context.message_id must be present in the payload`,
371
- DebugInfo: &validationutils.DebugInfo{
372
- FedConfig: configureDebugInfo,
373
- },
374
- }
375
- return []validationutils.ValidationOutput{result}, nil
376
- }
377
-
378
- }
379
-
380
- result := validationutils.ValidationOutput{
381
- TestName: "REQUIRED_CONTEXT_MESSAGE_ID",
382
- Valid: valid,
383
- Code: 0,
384
- DebugInfo: &validationutils.DebugInfo{
385
- FedConfig: configureDebugInfo,
386
- },
387
- }
388
-
389
- if valid {
390
- result.Code = 200
391
- } else {
392
- result.Code = 30000
393
- }
394
-
395
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
396
- results = append(results, result)
397
- results = append(results, subResults...)
398
-
399
- return results, nil
400
- }
401
- var REQUIRED_CONTEXT_ACTION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
402
-
403
- if input.Config.SkipTestsDict != nil {
404
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_ACTION"]; skip {
405
- return []validationutils.ValidationOutput{}, nil
406
- }
407
- }
408
-
409
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
410
-
411
- subResults := make([]validationutils.ValidationOutput, 0)
412
- valid := true
413
- configureDebugInfo := ""
414
- for _, testObjMap := range scope {
415
- validationutils.UnusedFunction(testObjMap)
416
-
417
- attr := validationutils.GetJsonPath(testObjMap, "$.context.action", true)
418
- validationutils.UnusedFunction(attr)
419
-
420
- validate := validationutils.ArePresent(attr)
421
-
422
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_ACTION","attr":"$.context.action","_RETURN_":"attr are present"}`
423
-
424
- if !validate {
425
- result := validationutils.ValidationOutput{
426
- TestName: "REQUIRED_CONTEXT_ACTION",
427
- Valid: false,
428
- Code: 30000,
429
- Description: `#### **REQUIRED_CONTEXT_ACTION**
430
-
431
- - $.context.action must be present in the payload`,
432
- DebugInfo: &validationutils.DebugInfo{
433
- FedConfig: configureDebugInfo,
434
- },
435
- }
436
- return []validationutils.ValidationOutput{result}, nil
437
- }
438
-
439
- }
440
-
441
- result := validationutils.ValidationOutput{
442
- TestName: "REQUIRED_CONTEXT_ACTION",
443
- Valid: valid,
444
- Code: 0,
445
- DebugInfo: &validationutils.DebugInfo{
446
- FedConfig: configureDebugInfo,
447
- },
448
- }
449
-
450
- if valid {
451
- result.Code = 200
452
- } else {
453
- result.Code = 30000
454
- }
455
-
456
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
457
- results = append(results, result)
458
- results = append(results, subResults...)
459
-
460
- return results, nil
461
- }
462
- var REQUIRED_CONTEXT_TIMESTAMP = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
463
-
464
- if input.Config.SkipTestsDict != nil {
465
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_TIMESTAMP"]; skip {
466
- return []validationutils.ValidationOutput{}, nil
467
- }
468
- }
469
-
470
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
471
-
472
- subResults := make([]validationutils.ValidationOutput, 0)
473
- valid := true
474
- configureDebugInfo := ""
475
- for _, testObjMap := range scope {
476
- validationutils.UnusedFunction(testObjMap)
477
-
478
- attr := validationutils.GetJsonPath(testObjMap, "$.context.timestamp", true)
479
- validationutils.UnusedFunction(attr)
480
-
481
- validate := validationutils.ArePresent(attr)
482
-
483
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_TIMESTAMP","attr":"$.context.timestamp","_RETURN_":"attr are present"}`
484
-
485
- if !validate {
486
- result := validationutils.ValidationOutput{
487
- TestName: "REQUIRED_CONTEXT_TIMESTAMP",
488
- Valid: false,
489
- Code: 30000,
490
- Description: `#### **REQUIRED_CONTEXT_TIMESTAMP**
491
-
492
- - $.context.timestamp must be present in the payload`,
493
- DebugInfo: &validationutils.DebugInfo{
494
- FedConfig: configureDebugInfo,
495
- },
496
- }
497
- return []validationutils.ValidationOutput{result}, nil
498
- }
499
-
500
- }
501
-
502
- result := validationutils.ValidationOutput{
503
- TestName: "REQUIRED_CONTEXT_TIMESTAMP",
504
- Valid: valid,
505
- Code: 0,
506
- DebugInfo: &validationutils.DebugInfo{
507
- FedConfig: configureDebugInfo,
508
- },
509
- }
510
-
511
- if valid {
512
- result.Code = 200
513
- } else {
514
- result.Code = 30000
515
- }
516
-
517
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
518
- results = append(results, result)
519
- results = append(results, subResults...)
520
-
521
- return results, nil
522
- }
523
- var REQUIRED_CONTEXT_VERSION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
524
-
525
- if input.Config.SkipTestsDict != nil {
526
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_VERSION"]; skip {
527
- return []validationutils.ValidationOutput{}, nil
528
- }
529
- }
530
-
531
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
532
-
533
- subResults := make([]validationutils.ValidationOutput, 0)
534
- valid := true
535
- configureDebugInfo := ""
536
- for _, testObjMap := range scope {
537
- validationutils.UnusedFunction(testObjMap)
538
-
539
- attr := validationutils.StringSliceToInterface([]string{`$.context.version`})
540
- validationutils.UnusedFunction(attr)
541
-
542
- validate := validationutils.ArePresent(attr)
543
-
544
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_VERSION","attr":["$.context.version"],"_RETURN_":"attr are present"}`
545
-
546
- if !validate {
547
- result := validationutils.ValidationOutput{
548
- TestName: "REQUIRED_CONTEXT_VERSION",
549
- Valid: false,
550
- Code: 30000,
551
- Description: `#### **REQUIRED_CONTEXT_VERSION**
552
-
553
- - ["$.context.version"] must be present in the payload`,
554
- DebugInfo: &validationutils.DebugInfo{
555
- FedConfig: configureDebugInfo,
556
- },
557
- }
558
- return []validationutils.ValidationOutput{result}, nil
559
- }
560
-
561
- }
562
-
563
- result := validationutils.ValidationOutput{
564
- TestName: "REQUIRED_CONTEXT_VERSION",
565
- Valid: valid,
566
- Code: 0,
567
- DebugInfo: &validationutils.DebugInfo{
568
- FedConfig: configureDebugInfo,
569
- },
570
- }
571
-
572
- if valid {
573
- result.Code = 200
574
- } else {
575
- result.Code = 30000
576
- }
577
-
578
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
579
- results = append(results, result)
580
- results = append(results, subResults...)
581
-
582
- return results, nil
583
- }
584
- var REQUIRED_CONTEXT_BAP_URI = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
585
-
586
- if input.Config.SkipTestsDict != nil {
587
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BAP_URI"]; skip {
588
- return []validationutils.ValidationOutput{}, nil
589
- }
590
- }
591
-
592
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
593
-
594
- subResults := make([]validationutils.ValidationOutput, 0)
595
- valid := true
596
- configureDebugInfo := ""
597
- for _, testObjMap := range scope {
598
- validationutils.UnusedFunction(testObjMap)
599
-
600
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bap_uri", true)
601
- validationutils.UnusedFunction(attr)
602
-
603
- validate := validationutils.ArePresent(attr)
604
-
605
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BAP_URI","attr":"$.context.bap_uri","_RETURN_":"attr are present"}`
606
-
607
- if !validate {
608
- result := validationutils.ValidationOutput{
609
- TestName: "REQUIRED_CONTEXT_BAP_URI",
610
- Valid: false,
611
- Code: 30000,
612
- Description: `#### **REQUIRED_CONTEXT_BAP_URI**
613
-
614
- - $.context.bap_uri must be present in the payload`,
615
- DebugInfo: &validationutils.DebugInfo{
616
- FedConfig: configureDebugInfo,
617
- },
618
- }
619
- return []validationutils.ValidationOutput{result}, nil
620
- }
621
-
622
- }
623
-
624
- result := validationutils.ValidationOutput{
625
- TestName: "REQUIRED_CONTEXT_BAP_URI",
626
- Valid: valid,
627
- Code: 0,
628
- DebugInfo: &validationutils.DebugInfo{
629
- FedConfig: configureDebugInfo,
630
- },
631
- }
632
-
633
- if valid {
634
- result.Code = 200
635
- } else {
636
- result.Code = 30000
637
- }
638
-
639
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
640
- results = append(results, result)
641
- results = append(results, subResults...)
642
-
643
- return results, nil
644
- }
645
- var REQUIRED_CONTEXT_BAP_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
646
-
647
- if input.Config.SkipTestsDict != nil {
648
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BAP_ID"]; skip {
649
- return []validationutils.ValidationOutput{}, nil
650
- }
651
- }
652
-
653
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
654
-
655
- subResults := make([]validationutils.ValidationOutput, 0)
656
- valid := true
657
- configureDebugInfo := ""
658
- for _, testObjMap := range scope {
659
- validationutils.UnusedFunction(testObjMap)
660
-
661
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bap_id", true)
662
- validationutils.UnusedFunction(attr)
663
-
664
- validate := validationutils.ArePresent(attr)
665
-
666
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BAP_ID","attr":"$.context.bap_id","_RETURN_":"attr are present"}`
667
-
668
- if !validate {
669
- result := validationutils.ValidationOutput{
670
- TestName: "REQUIRED_CONTEXT_BAP_ID",
671
- Valid: false,
672
- Code: 30000,
673
- Description: `#### **REQUIRED_CONTEXT_BAP_ID**
674
-
675
- - $.context.bap_id must be present in the payload`,
676
- DebugInfo: &validationutils.DebugInfo{
677
- FedConfig: configureDebugInfo,
678
- },
679
- }
680
- return []validationutils.ValidationOutput{result}, nil
681
- }
682
-
683
- }
684
-
685
- result := validationutils.ValidationOutput{
686
- TestName: "REQUIRED_CONTEXT_BAP_ID",
687
- Valid: valid,
688
- Code: 0,
689
- DebugInfo: &validationutils.DebugInfo{
690
- FedConfig: configureDebugInfo,
691
- },
692
- }
693
-
694
- if valid {
695
- result.Code = 200
696
- } else {
697
- result.Code = 30000
698
- }
699
-
700
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
701
- results = append(results, result)
702
- results = append(results, subResults...)
703
-
704
- return results, nil
705
- }
706
- var REQUIRED_CONTEXT_BPP_URI = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
707
-
708
- if input.Config.SkipTestsDict != nil {
709
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BPP_URI"]; skip {
710
- return []validationutils.ValidationOutput{}, nil
711
- }
712
- }
713
-
714
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
715
-
716
- subResults := make([]validationutils.ValidationOutput, 0)
717
- valid := true
718
- configureDebugInfo := ""
719
- for _, testObjMap := range scope {
720
- validationutils.UnusedFunction(testObjMap)
721
-
722
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bpp_uri", true)
723
- validationutils.UnusedFunction(attr)
724
-
725
- validate := validationutils.ArePresent(attr)
726
-
727
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BPP_URI","attr":"$.context.bpp_uri","_RETURN_":"attr are present"}`
728
-
729
- if !validate {
730
- result := validationutils.ValidationOutput{
731
- TestName: "REQUIRED_CONTEXT_BPP_URI",
732
- Valid: false,
733
- Code: 30000,
734
- Description: `#### **REQUIRED_CONTEXT_BPP_URI**
735
-
736
- - $.context.bpp_uri must be present in the payload`,
737
- DebugInfo: &validationutils.DebugInfo{
738
- FedConfig: configureDebugInfo,
739
- },
740
- }
741
- return []validationutils.ValidationOutput{result}, nil
742
- }
743
-
744
- }
745
-
746
- result := validationutils.ValidationOutput{
747
- TestName: "REQUIRED_CONTEXT_BPP_URI",
748
- Valid: valid,
749
- Code: 0,
750
- DebugInfo: &validationutils.DebugInfo{
751
- FedConfig: configureDebugInfo,
752
- },
753
- }
754
-
755
- if valid {
756
- result.Code = 200
757
- } else {
758
- result.Code = 30000
759
- }
760
-
761
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
762
- results = append(results, result)
763
- results = append(results, subResults...)
764
-
765
- return results, nil
766
- }
767
- var REQUIRED_CONTEXT_BPP_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
768
-
769
- if input.Config.SkipTestsDict != nil {
770
- if _, skip := input.Config.SkipTestsDict["REQUIRED_CONTEXT_BPP_ID"]; skip {
771
- return []validationutils.ValidationOutput{}, nil
772
- }
773
- }
774
-
775
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
776
-
777
- subResults := make([]validationutils.ValidationOutput, 0)
778
- valid := true
779
- configureDebugInfo := ""
780
- for _, testObjMap := range scope {
781
- validationutils.UnusedFunction(testObjMap)
782
-
783
- attr := validationutils.GetJsonPath(testObjMap, "$.context.bpp_id", true)
784
- validationutils.UnusedFunction(attr)
785
-
786
- validate := validationutils.ArePresent(attr)
787
-
788
- configureDebugInfo = `{"_NAME_":"REQUIRED_CONTEXT_BPP_ID","attr":"$.context.bpp_id","_RETURN_":"attr are present"}`
789
-
790
- if !validate {
791
- result := validationutils.ValidationOutput{
792
- TestName: "REQUIRED_CONTEXT_BPP_ID",
793
- Valid: false,
794
- Code: 30000,
795
- Description: `#### **REQUIRED_CONTEXT_BPP_ID**
796
-
797
- - $.context.bpp_id must be present in the payload`,
798
- DebugInfo: &validationutils.DebugInfo{
799
- FedConfig: configureDebugInfo,
800
- },
801
- }
802
- return []validationutils.ValidationOutput{result}, nil
803
- }
804
-
805
- }
806
-
807
- result := validationutils.ValidationOutput{
808
- TestName: "REQUIRED_CONTEXT_BPP_ID",
809
- Valid: valid,
810
- Code: 0,
811
- DebugInfo: &validationutils.DebugInfo{
812
- FedConfig: configureDebugInfo,
813
- },
814
- }
815
-
816
- if valid {
817
- result.Code = 200
818
- } else {
819
- result.Code = 30000
820
- }
821
-
822
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
823
- results = append(results, result)
824
- results = append(results, subResults...)
825
-
826
- return results, nil
827
- }
828
- var VALID_CONTEXT_COUNTRY_CODE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
829
-
830
- if input.Config.SkipTestsDict != nil {
831
- if _, skip := input.Config.SkipTestsDict["VALID_CONTEXT_COUNTRY_CODE"]; skip {
832
- return []validationutils.ValidationOutput{}, nil
833
- }
834
- }
835
-
836
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
837
-
838
- subResults := make([]validationutils.ValidationOutput, 0)
839
- valid := true
840
- configureDebugInfo := ""
841
- for _, testObjMap := range scope {
842
- validationutils.UnusedFunction(testObjMap)
843
-
844
- attr := validationutils.GetJsonPath(testObjMap, "$.context.country", true)
845
- validationutils.UnusedFunction(attr)
846
-
847
- validate := validationutils.ArePresent(attr)
848
-
849
- configureDebugInfo = `{"_NAME_":"VALID_CONTEXT_COUNTRY_CODE","attr":"$.context.country","_RETURN_":"attr are present"}`
850
-
851
- if !validate {
852
- result := validationutils.ValidationOutput{
853
- TestName: "VALID_CONTEXT_COUNTRY_CODE",
854
- Valid: false,
855
- Code: 30000,
856
- Description: `#### **VALID_CONTEXT_COUNTRY_CODE**
857
-
858
- - $.context.country must be present in the payload`,
859
- DebugInfo: &validationutils.DebugInfo{
860
- FedConfig: configureDebugInfo,
861
- },
862
- }
863
- return []validationutils.ValidationOutput{result}, nil
864
- }
865
-
866
- }
867
-
868
- result := validationutils.ValidationOutput{
869
- TestName: "VALID_CONTEXT_COUNTRY_CODE",
870
- Valid: valid,
871
- Code: 0,
872
- DebugInfo: &validationutils.DebugInfo{
873
- FedConfig: configureDebugInfo,
874
- },
875
- }
876
-
877
- if valid {
878
- result.Code = 200
879
- } else {
880
- result.Code = 30000
881
- }
882
-
883
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
884
- results = append(results, result)
885
- results = append(results, subResults...)
886
-
887
- return results, nil
888
- }
889
-
890
- var testFunctions = validationutils.TestFunctionArray{
891
- REQUIRED_CONTEXT_DOMAIN,
892
- REQUIRED_CONTEXT_COUNTRY,
893
- REQUIRED_CONTEXT_CITY,
894
- REQUIRED_CONTEXT_TRANSACTION_ID,
895
- REQUIRED_CONTEXT_MESSAGE_ID,
896
- REQUIRED_CONTEXT_ACTION,
897
- REQUIRED_CONTEXT_TIMESTAMP,
898
- REQUIRED_CONTEXT_VERSION,
899
- REQUIRED_CONTEXT_BAP_URI,
900
- REQUIRED_CONTEXT_BAP_ID,
901
- REQUIRED_CONTEXT_BPP_URI,
902
- REQUIRED_CONTEXT_BPP_ID,
903
- VALID_CONTEXT_COUNTRY_CODE,
904
- }
905
-
906
- allResults := make([]validationutils.ValidationOutput, 0)
907
-
908
- for _, testFunc := range testFunctions {
909
- results, err := testFunc(input)
910
- if err != nil {
911
- return nil, err
912
- }
913
- allResults = append(allResults, results...)
914
- }
915
-
916
- subResults = allResults
917
- // if all subResults are valid, then valid is true
918
- valid = true
919
- for _, res := range subResults {
920
- if !res.Valid {
921
- valid = false
922
- break
923
- }
924
- }
925
-
926
- configureDebugInfo = `NESTED_TEST_OBJECT`
927
-
928
- }
929
-
930
- result := validationutils.ValidationOutput{
931
- TestName: "REQUIRED_CONTEXT_FIELDS",
932
- Valid: valid,
933
- Code: 0,
934
- DebugInfo: &validationutils.DebugInfo{
935
- FedConfig: configureDebugInfo,
936
- },
937
- }
938
-
939
- if valid {
940
- result.Code = 200
941
- } else {
942
- result.Code = 30000
943
- }
944
-
945
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
946
- results = append(results, result)
947
- results = append(results, subResults...)
948
-
949
- return results, nil
950
- }
951
- var ON_ISSUE_VALIDATION_VERSION_200 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
952
-
953
- if input.Config.SkipTestsDict != nil {
954
- if _, skip := input.Config.SkipTestsDict["ON_ISSUE_VALIDATION_VERSION_200"]; skip {
955
- return []validationutils.ValidationOutput{}, nil
956
- }
957
- }
958
-
959
- scope := validationutils.GetJsonPath(input.Payload, "$.message.issue.actions", true)
960
-
961
- subResults := make([]validationutils.ValidationOutput, 0)
962
- valid := true
963
- configureDebugInfo := ""
964
- for _, testObjMap := range scope {
965
- validationutils.UnusedFunction(testObjMap)
966
-
967
- var REQUIRED_MESSAGE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
968
-
969
- if input.Config.SkipTestsDict != nil {
970
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID"]; skip {
971
- return []validationutils.ValidationOutput{}, nil
972
- }
973
- }
974
-
975
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
976
-
977
- subResults := make([]validationutils.ValidationOutput, 0)
978
- valid := true
979
- configureDebugInfo := ""
980
- for _, testObjMap := range scope {
981
- validationutils.UnusedFunction(testObjMap)
982
-
983
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.id", true)
984
- validationutils.UnusedFunction(attr)
985
-
986
- validate := validationutils.ArePresent(attr)
987
-
988
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID","attr":"$.message.issue.id","_RETURN_":"attr are present","action":["on_issue"]}`
989
-
990
- if !validate {
991
- result := validationutils.ValidationOutput{
992
- TestName: "REQUIRED_MESSAGE_ID",
993
- Valid: false,
994
- Code: 30000,
995
- Description: `#### **REQUIRED_MESSAGE_ID**
996
-
997
- - $.message.issue.id must be present in the payload`,
998
- DebugInfo: &validationutils.DebugInfo{
999
- FedConfig: configureDebugInfo,
1000
- },
1001
- }
1002
- return []validationutils.ValidationOutput{result}, nil
1003
- }
1004
-
1005
- }
1006
-
1007
- result := validationutils.ValidationOutput{
1008
- TestName: "REQUIRED_MESSAGE_ID",
1009
- Valid: valid,
1010
- Code: 0,
1011
- DebugInfo: &validationutils.DebugInfo{
1012
- FedConfig: configureDebugInfo,
1013
- },
1014
- }
1015
-
1016
- if valid {
1017
- result.Code = 200
1018
- } else {
1019
- result.Code = 30000
1020
- }
1021
-
1022
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1023
- results = append(results, result)
1024
- results = append(results, subResults...)
1025
-
1026
- return results, nil
1027
- }
1028
- var REQUIRED_MESSAGE_STATUS = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1029
-
1030
- if input.Config.SkipTestsDict != nil {
1031
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_STATUS"]; skip {
1032
- return []validationutils.ValidationOutput{}, nil
1033
- }
1034
- }
1035
-
1036
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1037
-
1038
- subResults := make([]validationutils.ValidationOutput, 0)
1039
- valid := true
1040
- configureDebugInfo := ""
1041
- for _, testObjMap := range scope {
1042
- validationutils.UnusedFunction(testObjMap)
1043
-
1044
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.status", true)
1045
- validationutils.UnusedFunction(attr)
1046
- enumList := validationutils.StringSliceToInterface([]string{`OPEN`, `CLOSED`, `PROCESSING`, `RESOLVED`, `NEED_MORE_INFO`, `INFO_PROVIDED`})
1047
- validationutils.UnusedFunction(enumList)
1048
-
1049
- validate := ((validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))) && (validationutils.AreUnique(attr))
1050
-
1051
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_STATUS","attr":"$.message.issue.status","_RETURN_":"attr are present && attr all in enumList && attr are unique","enumList":["OPEN","CLOSED","PROCESSING","RESOLVED","NEED_MORE_INFO","INFO_PROVIDED"],"action":["on_issue"]}`
1052
-
1053
- if !validate {
1054
- result := validationutils.ValidationOutput{
1055
- TestName: "REQUIRED_MESSAGE_STATUS",
1056
- Valid: false,
1057
- Code: 30000,
1058
- Description: `#### **REQUIRED_MESSAGE_STATUS**
1059
-
1060
- **All of the following must be true:**
1061
- - **All of the following must be true:**
1062
- - $.message.issue.status must be present in the payload
1063
- - All elements of $.message.issue.status must be in ["OPEN", "CLOSED", "PROCESSING", "RESOLVED", "NEED_MORE_INFO", "INFO_PROVIDED"]
1064
- - All values of $.message.issue.status are unique`,
1065
- DebugInfo: &validationutils.DebugInfo{
1066
- FedConfig: configureDebugInfo,
1067
- },
1068
- }
1069
- return []validationutils.ValidationOutput{result}, nil
1070
- }
1071
-
1072
- }
1073
-
1074
- result := validationutils.ValidationOutput{
1075
- TestName: "REQUIRED_MESSAGE_STATUS",
1076
- Valid: valid,
1077
- Code: 0,
1078
- DebugInfo: &validationutils.DebugInfo{
1079
- FedConfig: configureDebugInfo,
1080
- },
1081
- }
1082
-
1083
- if valid {
1084
- result.Code = 200
1085
- } else {
1086
- result.Code = 30000
1087
- }
1088
-
1089
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1090
- results = append(results, result)
1091
- results = append(results, subResults...)
1092
-
1093
- return results, nil
1094
- }
1095
- var REQUIRED_MESSAGE_LEVEL = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1096
-
1097
- if input.Config.SkipTestsDict != nil {
1098
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_LEVEL"]; skip {
1099
- return []validationutils.ValidationOutput{}, nil
1100
- }
1101
- }
1102
-
1103
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1104
-
1105
- subResults := make([]validationutils.ValidationOutput, 0)
1106
- valid := true
1107
- configureDebugInfo := ""
1108
- for _, testObjMap := range scope {
1109
- validationutils.UnusedFunction(testObjMap)
1110
-
1111
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.level", true)
1112
- validationutils.UnusedFunction(attr)
1113
- enumList := validationutils.StringSliceToInterface([]string{`ISSUE`, `GREVIENCE`, `DISPUTE`})
1114
- validationutils.UnusedFunction(enumList)
1115
-
1116
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1117
-
1118
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_LEVEL","attr":"$.message.issue.level","_RETURN_":"attr are present && attr all in enumList","enumList":["ISSUE","GREVIENCE","DISPUTE"],"action":["on_issue"]}`
1119
-
1120
- if !validate {
1121
- result := validationutils.ValidationOutput{
1122
- TestName: "REQUIRED_MESSAGE_LEVEL",
1123
- Valid: false,
1124
- Code: 30000,
1125
- Description: `#### **REQUIRED_MESSAGE_LEVEL**
1126
-
1127
- **All of the following must be true:**
1128
- - $.message.issue.level must be present in the payload
1129
- - All elements of $.message.issue.level must be in ["ISSUE", "GREVIENCE", "DISPUTE"]`,
1130
- DebugInfo: &validationutils.DebugInfo{
1131
- FedConfig: configureDebugInfo,
1132
- },
1133
- }
1134
- return []validationutils.ValidationOutput{result}, nil
1135
- }
1136
-
1137
- }
1138
-
1139
- result := validationutils.ValidationOutput{
1140
- TestName: "REQUIRED_MESSAGE_LEVEL",
1141
- Valid: valid,
1142
- Code: 0,
1143
- DebugInfo: &validationutils.DebugInfo{
1144
- FedConfig: configureDebugInfo,
1145
- },
1146
- }
1147
-
1148
- if valid {
1149
- result.Code = 200
1150
- } else {
1151
- result.Code = 30000
1152
- }
1153
-
1154
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1155
- results = append(results, result)
1156
- results = append(results, subResults...)
1157
-
1158
- return results, nil
1159
- }
1160
- var REQUIRED_MESSAGE_CREATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1161
-
1162
- if input.Config.SkipTestsDict != nil {
1163
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CREATED_AT"]; skip {
1164
- return []validationutils.ValidationOutput{}, nil
1165
- }
1166
- }
1167
-
1168
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1169
-
1170
- subResults := make([]validationutils.ValidationOutput, 0)
1171
- valid := true
1172
- configureDebugInfo := ""
1173
- for _, testObjMap := range scope {
1174
- validationutils.UnusedFunction(testObjMap)
1175
-
1176
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.created_at", true)
1177
- validationutils.UnusedFunction(attr)
1178
-
1179
- validate := validationutils.ArePresent(attr)
1180
-
1181
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CREATED_AT","attr":"$.message.issue.created_at","_RETURN_":"attr are present","action":["on_issue"]}`
1182
-
1183
- if !validate {
1184
- result := validationutils.ValidationOutput{
1185
- TestName: "REQUIRED_MESSAGE_CREATED_AT",
1186
- Valid: false,
1187
- Code: 30000,
1188
- Description: `#### **REQUIRED_MESSAGE_CREATED_AT**
1189
-
1190
- - $.message.issue.created_at must be present in the payload`,
1191
- DebugInfo: &validationutils.DebugInfo{
1192
- FedConfig: configureDebugInfo,
1193
- },
1194
- }
1195
- return []validationutils.ValidationOutput{result}, nil
1196
- }
1197
-
1198
- }
1199
-
1200
- result := validationutils.ValidationOutput{
1201
- TestName: "REQUIRED_MESSAGE_CREATED_AT",
1202
- Valid: valid,
1203
- Code: 0,
1204
- DebugInfo: &validationutils.DebugInfo{
1205
- FedConfig: configureDebugInfo,
1206
- },
1207
- }
1208
-
1209
- if valid {
1210
- result.Code = 200
1211
- } else {
1212
- result.Code = 30000
1213
- }
1214
-
1215
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1216
- results = append(results, result)
1217
- results = append(results, subResults...)
1218
-
1219
- return results, nil
1220
- }
1221
- var REQUIRED_MESSAGE_UPDATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1222
-
1223
- if input.Config.SkipTestsDict != nil {
1224
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UPDATED_AT"]; skip {
1225
- return []validationutils.ValidationOutput{}, nil
1226
- }
1227
- }
1228
-
1229
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1230
-
1231
- subResults := make([]validationutils.ValidationOutput, 0)
1232
- valid := true
1233
- configureDebugInfo := ""
1234
- for _, testObjMap := range scope {
1235
- validationutils.UnusedFunction(testObjMap)
1236
-
1237
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.updated_at", true)
1238
- validationutils.UnusedFunction(attr)
1239
-
1240
- validate := validationutils.ArePresent(attr)
1241
-
1242
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UPDATED_AT","attr":"$.message.issue.updated_at","_RETURN_":"attr are present","action":["on_issue"]}`
1243
-
1244
- if !validate {
1245
- result := validationutils.ValidationOutput{
1246
- TestName: "REQUIRED_MESSAGE_UPDATED_AT",
1247
- Valid: false,
1248
- Code: 30000,
1249
- Description: `#### **REQUIRED_MESSAGE_UPDATED_AT**
1250
-
1251
- - $.message.issue.updated_at must be present in the payload`,
1252
- DebugInfo: &validationutils.DebugInfo{
1253
- FedConfig: configureDebugInfo,
1254
- },
1255
- }
1256
- return []validationutils.ValidationOutput{result}, nil
1257
- }
1258
-
1259
- }
1260
-
1261
- result := validationutils.ValidationOutput{
1262
- TestName: "REQUIRED_MESSAGE_UPDATED_AT",
1263
- Valid: valid,
1264
- Code: 0,
1265
- DebugInfo: &validationutils.DebugInfo{
1266
- FedConfig: configureDebugInfo,
1267
- },
1268
- }
1269
-
1270
- if valid {
1271
- result.Code = 200
1272
- } else {
1273
- result.Code = 30000
1274
- }
1275
-
1276
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1277
- results = append(results, result)
1278
- results = append(results, subResults...)
1279
-
1280
- return results, nil
1281
- }
1282
- var REQUIRED_MESSAGE_REF_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1283
-
1284
- if input.Config.SkipTestsDict != nil {
1285
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_REF_ID"]; skip {
1286
- return []validationutils.ValidationOutput{}, nil
1287
- }
1288
- }
1289
-
1290
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1291
-
1292
- subResults := make([]validationutils.ValidationOutput, 0)
1293
- valid := true
1294
- configureDebugInfo := ""
1295
- for _, testObjMap := range scope {
1296
- validationutils.UnusedFunction(testObjMap)
1297
-
1298
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.refs[*].ref_id", true)
1299
- validationutils.UnusedFunction(attr)
1300
-
1301
- validate := validationutils.ArePresent(attr)
1302
-
1303
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_REF_ID","attr":"$.message.issue.refs[*].ref_id","_RETURN_":"attr are present","action":["on_issue"]}`
1304
-
1305
- if !validate {
1306
- result := validationutils.ValidationOutput{
1307
- TestName: "REQUIRED_MESSAGE_REF_ID",
1308
- Valid: false,
1309
- Code: 30000,
1310
- Description: `#### **REQUIRED_MESSAGE_REF_ID**
1311
-
1312
- - $.message.issue.refs[*].ref_id must be present in the payload`,
1313
- DebugInfo: &validationutils.DebugInfo{
1314
- FedConfig: configureDebugInfo,
1315
- },
1316
- }
1317
- return []validationutils.ValidationOutput{result}, nil
1318
- }
1319
-
1320
- }
1321
-
1322
- result := validationutils.ValidationOutput{
1323
- TestName: "REQUIRED_MESSAGE_REF_ID",
1324
- Valid: valid,
1325
- Code: 0,
1326
- DebugInfo: &validationutils.DebugInfo{
1327
- FedConfig: configureDebugInfo,
1328
- },
1329
- }
1330
-
1331
- if valid {
1332
- result.Code = 200
1333
- } else {
1334
- result.Code = 30000
1335
- }
1336
-
1337
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1338
- results = append(results, result)
1339
- results = append(results, subResults...)
1340
-
1341
- return results, nil
1342
- }
1343
- var REQUIRED_MESSAGE_REF_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1344
-
1345
- if input.Config.SkipTestsDict != nil {
1346
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_REF_TYPE"]; skip {
1347
- return []validationutils.ValidationOutput{}, nil
1348
- }
1349
- }
1350
-
1351
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1352
-
1353
- subResults := make([]validationutils.ValidationOutput, 0)
1354
- valid := true
1355
- configureDebugInfo := ""
1356
- for _, testObjMap := range scope {
1357
- validationutils.UnusedFunction(testObjMap)
1358
-
1359
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.refs[*].ref_type", true)
1360
- validationutils.UnusedFunction(attr)
1361
- enumList := validationutils.StringSliceToInterface([]string{`ORDER`, `ITEM`, `FULFILLMENT`, `TRANSACTION_ID`, `MESSAGE_ID`, `PROVIDER`, `COMPLAINT`, `ACTION`, `PAYMENT`, `CUSTOMER`, `AGENT`})
1362
- validationutils.UnusedFunction(enumList)
1363
-
1364
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1365
-
1366
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_REF_TYPE","attr":"$.message.issue.refs[*].ref_type","_RETURN_":"attr are present && attr all in enumList","enumList":["ORDER","ITEM","FULFILLMENT","TRANSACTION_ID","MESSAGE_ID","PROVIDER","COMPLAINT","ACTION","PAYMENT","CUSTOMER","AGENT"],"action":["on_issue"]}`
1367
-
1368
- if !validate {
1369
- result := validationutils.ValidationOutput{
1370
- TestName: "REQUIRED_MESSAGE_REF_TYPE",
1371
- Valid: false,
1372
- Code: 30000,
1373
- Description: `#### **REQUIRED_MESSAGE_REF_TYPE**
1374
-
1375
- **All of the following must be true:**
1376
- - $.message.issue.refs[*].ref_type must be present in the payload
1377
- - All elements of $.message.issue.refs[*].ref_type must be in ["ORDER", "ITEM", "FULFILLMENT", "TRANSACTION_ID", "MESSAGE_ID", "PROVIDER", "COMPLAINT", "ACTION", "PAYMENT", "CUSTOMER", "AGENT"]`,
1378
- DebugInfo: &validationutils.DebugInfo{
1379
- FedConfig: configureDebugInfo,
1380
- },
1381
- }
1382
- return []validationutils.ValidationOutput{result}, nil
1383
- }
1384
-
1385
- }
1386
-
1387
- result := validationutils.ValidationOutput{
1388
- TestName: "REQUIRED_MESSAGE_REF_TYPE",
1389
- Valid: valid,
1390
- Code: 0,
1391
- DebugInfo: &validationutils.DebugInfo{
1392
- FedConfig: configureDebugInfo,
1393
- },
1394
- }
1395
-
1396
- if valid {
1397
- result.Code = 200
1398
- } else {
1399
- result.Code = 30000
1400
- }
1401
-
1402
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1403
- results = append(results, result)
1404
- results = append(results, subResults...)
1405
-
1406
- return results, nil
1407
- }
1408
- var REQUIRED_EXPECTED_RESPONSE_TIME = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1409
-
1410
- if input.Config.SkipTestsDict != nil {
1411
- if _, skip := input.Config.SkipTestsDict["REQUIRED_EXPECTED_RESPONSE_TIME"]; skip {
1412
- return []validationutils.ValidationOutput{}, nil
1413
- }
1414
- }
1415
-
1416
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1417
-
1418
- subResults := make([]validationutils.ValidationOutput, 0)
1419
- valid := true
1420
- configureDebugInfo := ""
1421
- for _, testObjMap := range scope {
1422
- validationutils.UnusedFunction(testObjMap)
1423
-
1424
- attr := validationutils.StringSliceToInterface([]string{`$.message.issue.expected_response_time.duration`})
1425
- validationutils.UnusedFunction(attr)
1426
-
1427
- validate := validationutils.ArePresent(attr)
1428
-
1429
- configureDebugInfo = `{"_NAME_":"REQUIRED_EXPECTED_RESPONSE_TIME","attr":["$.message.issue.expected_response_time.duration"],"_RETURN_":"attr are present","action":["on_issue"]}`
1430
-
1431
- if !validate {
1432
- result := validationutils.ValidationOutput{
1433
- TestName: "REQUIRED_EXPECTED_RESPONSE_TIME",
1434
- Valid: false,
1435
- Code: 30000,
1436
- Description: `#### **REQUIRED_EXPECTED_RESPONSE_TIME**
1437
-
1438
- - ["$.message.issue.expected_response_time.duration"] must be present in the payload`,
1439
- DebugInfo: &validationutils.DebugInfo{
1440
- FedConfig: configureDebugInfo,
1441
- },
1442
- }
1443
- return []validationutils.ValidationOutput{result}, nil
1444
- }
1445
-
1446
- }
1447
-
1448
- result := validationutils.ValidationOutput{
1449
- TestName: "REQUIRED_EXPECTED_RESPONSE_TIME",
1450
- Valid: valid,
1451
- Code: 0,
1452
- DebugInfo: &validationutils.DebugInfo{
1453
- FedConfig: configureDebugInfo,
1454
- },
1455
- }
1456
-
1457
- if valid {
1458
- result.Code = 200
1459
- } else {
1460
- result.Code = 30000
1461
- }
1462
-
1463
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1464
- results = append(results, result)
1465
- results = append(results, subResults...)
1466
-
1467
- return results, nil
1468
- }
1469
- var REQUIRED_EXPECTED_RESOLUTION_TIME = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1470
-
1471
- if input.Config.SkipTestsDict != nil {
1472
- if _, skip := input.Config.SkipTestsDict["REQUIRED_EXPECTED_RESOLUTION_TIME"]; skip {
1473
- return []validationutils.ValidationOutput{}, nil
1474
- }
1475
- }
1476
-
1477
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1478
-
1479
- subResults := make([]validationutils.ValidationOutput, 0)
1480
- valid := true
1481
- configureDebugInfo := ""
1482
- for _, testObjMap := range scope {
1483
- validationutils.UnusedFunction(testObjMap)
1484
-
1485
- attr := validationutils.StringSliceToInterface([]string{`$.message.issue.expected_resolution_time.duration`})
1486
- validationutils.UnusedFunction(attr)
1487
-
1488
- validate := validationutils.ArePresent(attr)
1489
-
1490
- configureDebugInfo = `{"_NAME_":"REQUIRED_EXPECTED_RESOLUTION_TIME","attr":["$.message.issue.expected_resolution_time.duration"],"_RETURN_":"attr are present","action":["on_issue"]}`
1491
-
1492
- if !validate {
1493
- result := validationutils.ValidationOutput{
1494
- TestName: "REQUIRED_EXPECTED_RESOLUTION_TIME",
1495
- Valid: false,
1496
- Code: 30000,
1497
- Description: `#### **REQUIRED_EXPECTED_RESOLUTION_TIME**
1498
-
1499
- - ["$.message.issue.expected_resolution_time.duration"] must be present in the payload`,
1500
- DebugInfo: &validationutils.DebugInfo{
1501
- FedConfig: configureDebugInfo,
1502
- },
1503
- }
1504
- return []validationutils.ValidationOutput{result}, nil
1505
- }
1506
-
1507
- }
1508
-
1509
- result := validationutils.ValidationOutput{
1510
- TestName: "REQUIRED_EXPECTED_RESOLUTION_TIME",
1511
- Valid: valid,
1512
- Code: 0,
1513
- DebugInfo: &validationutils.DebugInfo{
1514
- FedConfig: configureDebugInfo,
1515
- },
1516
- }
1517
-
1518
- if valid {
1519
- result.Code = 200
1520
- } else {
1521
- result.Code = 30000
1522
- }
1523
-
1524
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1525
- results = append(results, result)
1526
- results = append(results, subResults...)
1527
-
1528
- return results, nil
1529
- }
1530
- var REQUIRED_MESSAGE_ID_10 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1531
-
1532
- if input.Config.SkipTestsDict != nil {
1533
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID_10"]; skip {
1534
- return []validationutils.ValidationOutput{}, nil
1535
- }
1536
- }
1537
-
1538
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1539
-
1540
- subResults := make([]validationutils.ValidationOutput, 0)
1541
- valid := true
1542
- configureDebugInfo := ""
1543
- for _, testObjMap := range scope {
1544
- validationutils.UnusedFunction(testObjMap)
1545
-
1546
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actors[*].id", true)
1547
- validationutils.UnusedFunction(attr)
1548
-
1549
- validate := validationutils.ArePresent(attr)
1550
-
1551
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID_10","attr":"$.message.issue.actors[*].id","_RETURN_":"attr are present","action":["on_issue"]}`
1552
-
1553
- if !validate {
1554
- result := validationutils.ValidationOutput{
1555
- TestName: "REQUIRED_MESSAGE_ID_10",
1556
- Valid: false,
1557
- Code: 30000,
1558
- Description: `#### **REQUIRED_MESSAGE_ID_10**
1559
-
1560
- - $.message.issue.actors[*].id must be present in the payload`,
1561
- DebugInfo: &validationutils.DebugInfo{
1562
- FedConfig: configureDebugInfo,
1563
- },
1564
- }
1565
- return []validationutils.ValidationOutput{result}, nil
1566
- }
1567
-
1568
- }
1569
-
1570
- result := validationutils.ValidationOutput{
1571
- TestName: "REQUIRED_MESSAGE_ID_10",
1572
- Valid: valid,
1573
- Code: 0,
1574
- DebugInfo: &validationutils.DebugInfo{
1575
- FedConfig: configureDebugInfo,
1576
- },
1577
- }
1578
-
1579
- if valid {
1580
- result.Code = 200
1581
- } else {
1582
- result.Code = 30000
1583
- }
1584
-
1585
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1586
- results = append(results, result)
1587
- results = append(results, subResults...)
1588
-
1589
- return results, nil
1590
- }
1591
- var REQUIRED_MESSAGE_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1592
-
1593
- if input.Config.SkipTestsDict != nil {
1594
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_TYPE"]; skip {
1595
- return []validationutils.ValidationOutput{}, nil
1596
- }
1597
- }
1598
-
1599
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1600
-
1601
- subResults := make([]validationutils.ValidationOutput, 0)
1602
- valid := true
1603
- configureDebugInfo := ""
1604
- for _, testObjMap := range scope {
1605
- validationutils.UnusedFunction(testObjMap)
1606
-
1607
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actors[*].type", true)
1608
- validationutils.UnusedFunction(attr)
1609
- enumList := validationutils.StringSliceToInterface([]string{`INTERFACING_NP`, `COUNTERPARTY_NP`, `CASCADED_NP`, `PROVIDER`, `AGENT`, `CUSTOMER`, `INTERFACING_NP_GRO`, `COUNTERPARTY_NP_GRO`, `CASCADED_NP_GRO`, `CONSUMER`})
1610
- validationutils.UnusedFunction(enumList)
1611
-
1612
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1613
-
1614
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_TYPE","attr":"$.message.issue.actors[*].type","_RETURN_":"attr are present && attr all in enumList","enumList":["INTERFACING_NP","COUNTERPARTY_NP","CASCADED_NP","PROVIDER","AGENT","CUSTOMER","INTERFACING_NP_GRO","COUNTERPARTY_NP_GRO","CASCADED_NP_GRO","CONSUMER"],"action":["on_issue"]}`
1615
-
1616
- if !validate {
1617
- result := validationutils.ValidationOutput{
1618
- TestName: "REQUIRED_MESSAGE_TYPE",
1619
- Valid: false,
1620
- Code: 30000,
1621
- Description: `#### **REQUIRED_MESSAGE_TYPE**
1622
-
1623
- **All of the following must be true:**
1624
- - $.message.issue.actors[*].type must be present in the payload
1625
- - All elements of $.message.issue.actors[*].type must be in ["INTERFACING_NP", "COUNTERPARTY_NP", "CASCADED_NP", "PROVIDER", "AGENT", "CUSTOMER", "INTERFACING_NP_GRO", "COUNTERPARTY_NP_GRO", "CASCADED_NP_GRO", "CONSUMER"]`,
1626
- DebugInfo: &validationutils.DebugInfo{
1627
- FedConfig: configureDebugInfo,
1628
- },
1629
- }
1630
- return []validationutils.ValidationOutput{result}, nil
1631
- }
1632
-
1633
- }
1634
-
1635
- result := validationutils.ValidationOutput{
1636
- TestName: "REQUIRED_MESSAGE_TYPE",
1637
- Valid: valid,
1638
- Code: 0,
1639
- DebugInfo: &validationutils.DebugInfo{
1640
- FedConfig: configureDebugInfo,
1641
- },
1642
- }
1643
-
1644
- if valid {
1645
- result.Code = 200
1646
- } else {
1647
- result.Code = 30000
1648
- }
1649
-
1650
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1651
- results = append(results, result)
1652
- results = append(results, subResults...)
1653
-
1654
- return results, nil
1655
- }
1656
- var REQUIRED_MESSAGE_NAME_13 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1657
-
1658
- if input.Config.SkipTestsDict != nil {
1659
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_NAME_13"]; skip {
1660
- return []validationutils.ValidationOutput{}, nil
1661
- }
1662
- }
1663
-
1664
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1665
-
1666
- subResults := make([]validationutils.ValidationOutput, 0)
1667
- valid := true
1668
- configureDebugInfo := ""
1669
- for _, testObjMap := range scope {
1670
- validationutils.UnusedFunction(testObjMap)
1671
-
1672
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actors[*].info.person.name", true)
1673
- validationutils.UnusedFunction(attr)
1674
-
1675
- validate := validationutils.ArePresent(attr)
1676
-
1677
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_NAME_13","attr":"$.message.issue.actors[*].info.person.name","_RETURN_":"attr are present","action":["on_issue"]}`
1678
-
1679
- if !validate {
1680
- result := validationutils.ValidationOutput{
1681
- TestName: "REQUIRED_MESSAGE_NAME_13",
1682
- Valid: false,
1683
- Code: 30000,
1684
- Description: `#### **REQUIRED_MESSAGE_NAME_13**
1685
-
1686
- - $.message.issue.actors[*].info.person.name must be present in the payload`,
1687
- DebugInfo: &validationutils.DebugInfo{
1688
- FedConfig: configureDebugInfo,
1689
- },
1690
- }
1691
- return []validationutils.ValidationOutput{result}, nil
1692
- }
1693
-
1694
- }
1695
-
1696
- result := validationutils.ValidationOutput{
1697
- TestName: "REQUIRED_MESSAGE_NAME_13",
1698
- Valid: valid,
1699
- Code: 0,
1700
- DebugInfo: &validationutils.DebugInfo{
1701
- FedConfig: configureDebugInfo,
1702
- },
1703
- }
1704
-
1705
- if valid {
1706
- result.Code = 200
1707
- } else {
1708
- result.Code = 30000
1709
- }
1710
-
1711
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1712
- results = append(results, result)
1713
- results = append(results, subResults...)
1714
-
1715
- return results, nil
1716
- }
1717
- var REQUIRED_MESSAGE_PHONE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1718
-
1719
- if input.Config.SkipTestsDict != nil {
1720
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_PHONE"]; skip {
1721
- return []validationutils.ValidationOutput{}, nil
1722
- }
1723
- }
1724
-
1725
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1726
-
1727
- subResults := make([]validationutils.ValidationOutput, 0)
1728
- valid := true
1729
- configureDebugInfo := ""
1730
- for _, testObjMap := range scope {
1731
- validationutils.UnusedFunction(testObjMap)
1732
-
1733
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actors[*].info.contact.phone", true)
1734
- validationutils.UnusedFunction(attr)
1735
-
1736
- validate := validationutils.ArePresent(attr)
1737
-
1738
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_PHONE","attr":"$.message.issue.actors[*].info.contact.phone","_RETURN_":"attr are present","action":["on_issue"]}`
1739
-
1740
- if !validate {
1741
- result := validationutils.ValidationOutput{
1742
- TestName: "REQUIRED_MESSAGE_PHONE",
1743
- Valid: false,
1744
- Code: 30000,
1745
- Description: `#### **REQUIRED_MESSAGE_PHONE**
1746
-
1747
- - $.message.issue.actors[*].info.contact.phone must be present in the payload`,
1748
- DebugInfo: &validationutils.DebugInfo{
1749
- FedConfig: configureDebugInfo,
1750
- },
1751
- }
1752
- return []validationutils.ValidationOutput{result}, nil
1753
- }
1754
-
1755
- }
1756
-
1757
- result := validationutils.ValidationOutput{
1758
- TestName: "REQUIRED_MESSAGE_PHONE",
1759
- Valid: valid,
1760
- Code: 0,
1761
- DebugInfo: &validationutils.DebugInfo{
1762
- FedConfig: configureDebugInfo,
1763
- },
1764
- }
1765
-
1766
- if valid {
1767
- result.Code = 200
1768
- } else {
1769
- result.Code = 30000
1770
- }
1771
-
1772
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1773
- results = append(results, result)
1774
- results = append(results, subResults...)
1775
-
1776
- return results, nil
1777
- }
1778
- var REQUIRED_MESSAGE_EMAIL = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1779
-
1780
- if input.Config.SkipTestsDict != nil {
1781
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_EMAIL"]; skip {
1782
- return []validationutils.ValidationOutput{}, nil
1783
- }
1784
- }
1785
-
1786
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1787
-
1788
- subResults := make([]validationutils.ValidationOutput, 0)
1789
- valid := true
1790
- configureDebugInfo := ""
1791
- for _, testObjMap := range scope {
1792
- validationutils.UnusedFunction(testObjMap)
1793
-
1794
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actors[*].info.contact.email", true)
1795
- validationutils.UnusedFunction(attr)
1796
-
1797
- validate := validationutils.ArePresent(attr)
1798
-
1799
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_EMAIL","attr":"$.message.issue.actors[*].info.contact.email","_RETURN_":"attr are present","action":["on_issue"]}`
1800
-
1801
- if !validate {
1802
- result := validationutils.ValidationOutput{
1803
- TestName: "REQUIRED_MESSAGE_EMAIL",
1804
- Valid: false,
1805
- Code: 30000,
1806
- Description: `#### **REQUIRED_MESSAGE_EMAIL**
1807
-
1808
- - $.message.issue.actors[*].info.contact.email must be present in the payload`,
1809
- DebugInfo: &validationutils.DebugInfo{
1810
- FedConfig: configureDebugInfo,
1811
- },
1812
- }
1813
- return []validationutils.ValidationOutput{result}, nil
1814
- }
1815
-
1816
- }
1817
-
1818
- result := validationutils.ValidationOutput{
1819
- TestName: "REQUIRED_MESSAGE_EMAIL",
1820
- Valid: valid,
1821
- Code: 0,
1822
- DebugInfo: &validationutils.DebugInfo{
1823
- FedConfig: configureDebugInfo,
1824
- },
1825
- }
1826
-
1827
- if valid {
1828
- result.Code = 200
1829
- } else {
1830
- result.Code = 30000
1831
- }
1832
-
1833
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1834
- results = append(results, result)
1835
- results = append(results, subResults...)
1836
-
1837
- return results, nil
1838
- }
1839
- var REQUIRED_MESSAGE_ID_25 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1840
-
1841
- if input.Config.SkipTestsDict != nil {
1842
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ID_25"]; skip {
1843
- return []validationutils.ValidationOutput{}, nil
1844
- }
1845
- }
1846
-
1847
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1848
-
1849
- subResults := make([]validationutils.ValidationOutput, 0)
1850
- valid := true
1851
- configureDebugInfo := ""
1852
- for _, testObjMap := range scope {
1853
- validationutils.UnusedFunction(testObjMap)
1854
-
1855
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actions[*].id", true)
1856
- validationutils.UnusedFunction(attr)
1857
-
1858
- validate := validationutils.ArePresent(attr)
1859
-
1860
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ID_25","attr":"$.message.issue.actions[*].id","_RETURN_":"attr are present","action":["on_issue"]}`
1861
-
1862
- if !validate {
1863
- result := validationutils.ValidationOutput{
1864
- TestName: "REQUIRED_MESSAGE_ID_25",
1865
- Valid: false,
1866
- Code: 30000,
1867
- Description: `#### **REQUIRED_MESSAGE_ID_25**
1868
-
1869
- - $.message.issue.actions[*].id must be present in the payload`,
1870
- DebugInfo: &validationutils.DebugInfo{
1871
- FedConfig: configureDebugInfo,
1872
- },
1873
- }
1874
- return []validationutils.ValidationOutput{result}, nil
1875
- }
1876
-
1877
- }
1878
-
1879
- result := validationutils.ValidationOutput{
1880
- TestName: "REQUIRED_MESSAGE_ID_25",
1881
- Valid: valid,
1882
- Code: 0,
1883
- DebugInfo: &validationutils.DebugInfo{
1884
- FedConfig: configureDebugInfo,
1885
- },
1886
- }
1887
-
1888
- if valid {
1889
- result.Code = 200
1890
- } else {
1891
- result.Code = 30000
1892
- }
1893
-
1894
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1895
- results = append(results, result)
1896
- results = append(results, subResults...)
1897
-
1898
- return results, nil
1899
- }
1900
- var REQUIRED_MESSAGE_CODE_26 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1901
-
1902
- if input.Config.SkipTestsDict != nil {
1903
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_CODE_26"]; skip {
1904
- return []validationutils.ValidationOutput{}, nil
1905
- }
1906
- }
1907
-
1908
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1909
-
1910
- subResults := make([]validationutils.ValidationOutput, 0)
1911
- valid := true
1912
- configureDebugInfo := ""
1913
- for _, testObjMap := range scope {
1914
- validationutils.UnusedFunction(testObjMap)
1915
-
1916
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actions[*].descriptor.code", true)
1917
- validationutils.UnusedFunction(attr)
1918
-
1919
- validate := validationutils.ArePresent(attr)
1920
-
1921
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_CODE_26","attr":"$.message.issue.actions[*].descriptor.code","_RETURN_":"attr are present","action":["on_issue"]}`
1922
-
1923
- if !validate {
1924
- result := validationutils.ValidationOutput{
1925
- TestName: "REQUIRED_MESSAGE_CODE_26",
1926
- Valid: false,
1927
- Code: 30000,
1928
- Description: `#### **REQUIRED_MESSAGE_CODE_26**
1929
-
1930
- - $.message.issue.actions[*].descriptor.code must be present in the payload`,
1931
- DebugInfo: &validationutils.DebugInfo{
1932
- FedConfig: configureDebugInfo,
1933
- },
1934
- }
1935
- return []validationutils.ValidationOutput{result}, nil
1936
- }
1937
-
1938
- }
1939
-
1940
- result := validationutils.ValidationOutput{
1941
- TestName: "REQUIRED_MESSAGE_CODE_26",
1942
- Valid: valid,
1943
- Code: 0,
1944
- DebugInfo: &validationutils.DebugInfo{
1945
- FedConfig: configureDebugInfo,
1946
- },
1947
- }
1948
-
1949
- if valid {
1950
- result.Code = 200
1951
- } else {
1952
- result.Code = 30000
1953
- }
1954
-
1955
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1956
- results = append(results, result)
1957
- results = append(results, subResults...)
1958
-
1959
- return results, nil
1960
- }
1961
- var REQUIRED_MESSAGE_SHORT_DESC_27 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1962
-
1963
- if input.Config.SkipTestsDict != nil {
1964
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_SHORT_DESC_27"]; skip {
1965
- return []validationutils.ValidationOutput{}, nil
1966
- }
1967
- }
1968
-
1969
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1970
-
1971
- subResults := make([]validationutils.ValidationOutput, 0)
1972
- valid := true
1973
- configureDebugInfo := ""
1974
- for _, testObjMap := range scope {
1975
- validationutils.UnusedFunction(testObjMap)
1976
-
1977
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actions[*].descriptor.short_desc", true)
1978
- validationutils.UnusedFunction(attr)
1979
-
1980
- validate := validationutils.ArePresent(attr)
1981
-
1982
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_SHORT_DESC_27","attr":"$.message.issue.actions[*].descriptor.short_desc","_RETURN_":"attr are present","action":["on_issue"]}`
1983
-
1984
- if !validate {
1985
- result := validationutils.ValidationOutput{
1986
- TestName: "REQUIRED_MESSAGE_SHORT_DESC_27",
1987
- Valid: false,
1988
- Code: 30000,
1989
- Description: `#### **REQUIRED_MESSAGE_SHORT_DESC_27**
1990
-
1991
- - $.message.issue.actions[*].descriptor.short_desc must be present in the payload`,
1992
- DebugInfo: &validationutils.DebugInfo{
1993
- FedConfig: configureDebugInfo,
1994
- },
1995
- }
1996
- return []validationutils.ValidationOutput{result}, nil
1997
- }
1998
-
1999
- }
2000
-
2001
- result := validationutils.ValidationOutput{
2002
- TestName: "REQUIRED_MESSAGE_SHORT_DESC_27",
2003
- Valid: valid,
2004
- Code: 0,
2005
- DebugInfo: &validationutils.DebugInfo{
2006
- FedConfig: configureDebugInfo,
2007
- },
2008
- }
2009
-
2010
- if valid {
2011
- result.Code = 200
2012
- } else {
2013
- result.Code = 30000
2014
- }
2015
-
2016
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2017
- results = append(results, result)
2018
- results = append(results, subResults...)
2019
-
2020
- return results, nil
2021
- }
2022
- var REQUIRED_MESSAGE_UPDATED_AT_28 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2023
-
2024
- if input.Config.SkipTestsDict != nil {
2025
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_UPDATED_AT_28"]; skip {
2026
- return []validationutils.ValidationOutput{}, nil
2027
- }
2028
- }
2029
-
2030
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2031
-
2032
- subResults := make([]validationutils.ValidationOutput, 0)
2033
- valid := true
2034
- configureDebugInfo := ""
2035
- for _, testObjMap := range scope {
2036
- validationutils.UnusedFunction(testObjMap)
2037
-
2038
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actions[*].updated_at", true)
2039
- validationutils.UnusedFunction(attr)
2040
-
2041
- validate := validationutils.ArePresent(attr)
2042
-
2043
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_UPDATED_AT_28","attr":"$.message.issue.actions[*].updated_at","_RETURN_":"attr are present","action":["on_issue"]}`
2044
-
2045
- if !validate {
2046
- result := validationutils.ValidationOutput{
2047
- TestName: "REQUIRED_MESSAGE_UPDATED_AT_28",
2048
- Valid: false,
2049
- Code: 30000,
2050
- Description: `#### **REQUIRED_MESSAGE_UPDATED_AT_28**
2051
-
2052
- - $.message.issue.actions[*].updated_at must be present in the payload`,
2053
- DebugInfo: &validationutils.DebugInfo{
2054
- FedConfig: configureDebugInfo,
2055
- },
2056
- }
2057
- return []validationutils.ValidationOutput{result}, nil
2058
- }
2059
-
2060
- }
2061
-
2062
- result := validationutils.ValidationOutput{
2063
- TestName: "REQUIRED_MESSAGE_UPDATED_AT_28",
2064
- Valid: valid,
2065
- Code: 0,
2066
- DebugInfo: &validationutils.DebugInfo{
2067
- FedConfig: configureDebugInfo,
2068
- },
2069
- }
2070
-
2071
- if valid {
2072
- result.Code = 200
2073
- } else {
2074
- result.Code = 30000
2075
- }
2076
-
2077
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2078
- results = append(results, result)
2079
- results = append(results, subResults...)
2080
-
2081
- return results, nil
2082
- }
2083
- var REQUIRED_MESSAGE_ACTION_BY = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2084
-
2085
- if input.Config.SkipTestsDict != nil {
2086
- if _, skip := input.Config.SkipTestsDict["REQUIRED_MESSAGE_ACTION_BY"]; skip {
2087
- return []validationutils.ValidationOutput{}, nil
2088
- }
2089
- }
2090
-
2091
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2092
-
2093
- subResults := make([]validationutils.ValidationOutput, 0)
2094
- valid := true
2095
- configureDebugInfo := ""
2096
- for _, testObjMap := range scope {
2097
- validationutils.UnusedFunction(testObjMap)
2098
-
2099
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.actions[*].action_by", true)
2100
- validationutils.UnusedFunction(attr)
2101
-
2102
- validate := validationutils.ArePresent(attr)
2103
-
2104
- configureDebugInfo = `{"_NAME_":"REQUIRED_MESSAGE_ACTION_BY","attr":"$.message.issue.actions[*].action_by","_RETURN_":"attr are present","action":["on_issue"]}`
2105
-
2106
- if !validate {
2107
- result := validationutils.ValidationOutput{
2108
- TestName: "REQUIRED_MESSAGE_ACTION_BY",
2109
- Valid: false,
2110
- Code: 30000,
2111
- Description: `#### **REQUIRED_MESSAGE_ACTION_BY**
2112
-
2113
- - $.message.issue.actions[*].action_by must be present in the payload`,
2114
- DebugInfo: &validationutils.DebugInfo{
2115
- FedConfig: configureDebugInfo,
2116
- },
2117
- }
2118
- return []validationutils.ValidationOutput{result}, nil
2119
- }
2120
-
2121
- }
2122
-
2123
- result := validationutils.ValidationOutput{
2124
- TestName: "REQUIRED_MESSAGE_ACTION_BY",
2125
- Valid: valid,
2126
- Code: 0,
2127
- DebugInfo: &validationutils.DebugInfo{
2128
- FedConfig: configureDebugInfo,
2129
- },
2130
- }
2131
-
2132
- if valid {
2133
- result.Code = 200
2134
- } else {
2135
- result.Code = 30000
2136
- }
2137
-
2138
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2139
- results = append(results, result)
2140
- results = append(results, subResults...)
2141
-
2142
- return results, nil
2143
- }
2144
-
2145
- var testFunctions = validationutils.TestFunctionArray{
2146
- REQUIRED_MESSAGE_ID,
2147
- REQUIRED_MESSAGE_STATUS,
2148
- REQUIRED_MESSAGE_LEVEL,
2149
- REQUIRED_MESSAGE_CREATED_AT,
2150
- REQUIRED_MESSAGE_UPDATED_AT,
2151
- REQUIRED_MESSAGE_REF_ID,
2152
- REQUIRED_MESSAGE_REF_TYPE,
2153
- REQUIRED_EXPECTED_RESPONSE_TIME,
2154
- REQUIRED_EXPECTED_RESOLUTION_TIME,
2155
- REQUIRED_MESSAGE_ID_10,
2156
- REQUIRED_MESSAGE_TYPE,
2157
- REQUIRED_MESSAGE_NAME_13,
2158
- REQUIRED_MESSAGE_PHONE,
2159
- REQUIRED_MESSAGE_EMAIL,
2160
- REQUIRED_MESSAGE_ID_25,
2161
- REQUIRED_MESSAGE_CODE_26,
2162
- REQUIRED_MESSAGE_SHORT_DESC_27,
2163
- REQUIRED_MESSAGE_UPDATED_AT_28,
2164
- REQUIRED_MESSAGE_ACTION_BY,
2165
- }
2166
-
2167
- allResults := make([]validationutils.ValidationOutput, 0)
2168
-
2169
- for _, testFunc := range testFunctions {
2170
- results, err := testFunc(input)
2171
- if err != nil {
2172
- return nil, err
2173
- }
2174
- allResults = append(allResults, results...)
2175
- }
2176
-
2177
- subResults = allResults
2178
- // if all subResults are valid, then valid is true
2179
- valid = true
2180
- for _, res := range subResults {
2181
- if !res.Valid {
2182
- valid = false
2183
- break
2184
- }
2185
- }
2186
-
2187
- configureDebugInfo = `NESTED_TEST_OBJECT`
2188
-
2189
- }
2190
-
2191
- result := validationutils.ValidationOutput{
2192
- TestName: "ON_ISSUE_VALIDATION_VERSION_200",
2193
- Valid: valid,
2194
- Code: 0,
2195
- DebugInfo: &validationutils.DebugInfo{
2196
- FedConfig: configureDebugInfo,
2197
- },
2198
- }
2199
-
2200
- if valid {
2201
- result.Code = 200
2202
- } else {
2203
- result.Code = 30000
2204
- }
2205
-
2206
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2207
- results = append(results, result)
2208
- results = append(results, subResults...)
2209
-
2210
- return results, nil
2211
- }
2212
- var ON_ISSUE_VALIDATION_VERSION_100 = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2213
-
2214
- if input.Config.SkipTestsDict != nil {
2215
- if _, skip := input.Config.SkipTestsDict["ON_ISSUE_VALIDATION_VERSION_100"]; skip {
2216
- return []validationutils.ValidationOutput{}, nil
2217
- }
2218
- }
2219
-
2220
- scope := validationutils.GetJsonPath(input.Payload, "$.message.issue.issue_actions", true)
2221
-
2222
- subResults := make([]validationutils.ValidationOutput, 0)
2223
- valid := true
2224
- configureDebugInfo := ""
2225
- for _, testObjMap := range scope {
2226
- validationutils.UnusedFunction(testObjMap)
2227
-
2228
- var REQUIRED_ISSUE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2229
-
2230
- if input.Config.SkipTestsDict != nil {
2231
- if _, skip := input.Config.SkipTestsDict["REQUIRED_ISSUE_ID"]; skip {
2232
- return []validationutils.ValidationOutput{}, nil
2233
- }
2234
- }
2235
-
2236
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2237
-
2238
- subResults := make([]validationutils.ValidationOutput, 0)
2239
- valid := true
2240
- configureDebugInfo := ""
2241
- for _, testObjMap := range scope {
2242
- validationutils.UnusedFunction(testObjMap)
2243
-
2244
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.id", true)
2245
- validationutils.UnusedFunction(attr)
2246
-
2247
- validate := validationutils.ArePresent(attr)
2248
-
2249
- configureDebugInfo = `{"_NAME_":"REQUIRED_ISSUE_ID","attr":"$.message.issue.id","_RETURN_":"attr are present","action":["on_issue"]}`
2250
-
2251
- if !validate {
2252
- result := validationutils.ValidationOutput{
2253
- TestName: "REQUIRED_ISSUE_ID",
2254
- Valid: false,
2255
- Code: 30000,
2256
- Description: `#### **REQUIRED_ISSUE_ID**
2257
-
2258
- - $.message.issue.id must be present in the payload`,
2259
- DebugInfo: &validationutils.DebugInfo{
2260
- FedConfig: configureDebugInfo,
2261
- },
2262
- }
2263
- return []validationutils.ValidationOutput{result}, nil
2264
- }
2265
-
2266
- }
2267
-
2268
- result := validationutils.ValidationOutput{
2269
- TestName: "REQUIRED_ISSUE_ID",
2270
- Valid: valid,
2271
- Code: 0,
2272
- DebugInfo: &validationutils.DebugInfo{
2273
- FedConfig: configureDebugInfo,
2274
- },
2275
- }
2276
-
2277
- if valid {
2278
- result.Code = 200
2279
- } else {
2280
- result.Code = 30000
2281
- }
2282
-
2283
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2284
- results = append(results, result)
2285
- results = append(results, subResults...)
2286
-
2287
- return results, nil
2288
- }
2289
- var REQUIRED_RESPONDENT_ACTION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2290
-
2291
- if input.Config.SkipTestsDict != nil {
2292
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_ACTION"]; skip {
2293
- return []validationutils.ValidationOutput{}, nil
2294
- }
2295
- }
2296
-
2297
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2298
-
2299
- subResults := make([]validationutils.ValidationOutput, 0)
2300
- valid := true
2301
- configureDebugInfo := ""
2302
- for _, testObjMap := range scope {
2303
- validationutils.UnusedFunction(testObjMap)
2304
-
2305
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].respondent_action", true)
2306
- validationutils.UnusedFunction(attr)
2307
- enumList := validationutils.StringSliceToInterface([]string{`OPEN`, `PROCESSING`, `RESOLVED`, `CLOSED`, `INFO_PROVIDED`, `NEED_MORE_INFO`})
2308
- validationutils.UnusedFunction(enumList)
2309
-
2310
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
2311
-
2312
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESPONDENT_ACTION","attr":"$.message.issue.issue_actions.respondent_actions[*].respondent_action","_RETURN_":"attr are present && attr all in enumList","enumList":["OPEN","PROCESSING","RESOLVED","CLOSED","INFO_PROVIDED","NEED_MORE_INFO"],"action":["on_issue"]}`
2313
-
2314
- if !validate {
2315
- result := validationutils.ValidationOutput{
2316
- TestName: "REQUIRED_RESPONDENT_ACTION",
2317
- Valid: false,
2318
- Code: 30000,
2319
- Description: `#### **REQUIRED_RESPONDENT_ACTION**
2320
-
2321
- **All of the following must be true:**
2322
- - $.message.issue.issue_actions.respondent_actions[*].respondent_action must be present in the payload
2323
- - All elements of $.message.issue.issue_actions.respondent_actions[*].respondent_action must be in ["OPEN", "PROCESSING", "RESOLVED", "CLOSED", "INFO_PROVIDED", "NEED_MORE_INFO"]`,
2324
- DebugInfo: &validationutils.DebugInfo{
2325
- FedConfig: configureDebugInfo,
2326
- },
2327
- }
2328
- return []validationutils.ValidationOutput{result}, nil
2329
- }
2330
-
2331
- }
2332
-
2333
- result := validationutils.ValidationOutput{
2334
- TestName: "REQUIRED_RESPONDENT_ACTION",
2335
- Valid: valid,
2336
- Code: 0,
2337
- DebugInfo: &validationutils.DebugInfo{
2338
- FedConfig: configureDebugInfo,
2339
- },
2340
- }
2341
-
2342
- if valid {
2343
- result.Code = 200
2344
- } else {
2345
- result.Code = 30000
2346
- }
2347
-
2348
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2349
- results = append(results, result)
2350
- results = append(results, subResults...)
2351
-
2352
- return results, nil
2353
- }
2354
- var REQUIRED_RESPONDENT_SHORT_DESC = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2355
-
2356
- if input.Config.SkipTestsDict != nil {
2357
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_SHORT_DESC"]; skip {
2358
- return []validationutils.ValidationOutput{}, nil
2359
- }
2360
- }
2361
-
2362
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2363
-
2364
- subResults := make([]validationutils.ValidationOutput, 0)
2365
- valid := true
2366
- configureDebugInfo := ""
2367
- for _, testObjMap := range scope {
2368
- validationutils.UnusedFunction(testObjMap)
2369
-
2370
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].short_desc", true)
2371
- validationutils.UnusedFunction(attr)
2372
-
2373
- validate := validationutils.ArePresent(attr)
2374
-
2375
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESPONDENT_SHORT_DESC","attr":"$.message.issue.issue_actions.respondent_actions[*].short_desc","_RETURN_":"attr are present","action":["on_issue"]}`
2376
-
2377
- if !validate {
2378
- result := validationutils.ValidationOutput{
2379
- TestName: "REQUIRED_RESPONDENT_SHORT_DESC",
2380
- Valid: false,
2381
- Code: 30000,
2382
- Description: `#### **REQUIRED_RESPONDENT_SHORT_DESC**
2383
-
2384
- - $.message.issue.issue_actions.respondent_actions[*].short_desc must be present in the payload`,
2385
- DebugInfo: &validationutils.DebugInfo{
2386
- FedConfig: configureDebugInfo,
2387
- },
2388
- }
2389
- return []validationutils.ValidationOutput{result}, nil
2390
- }
2391
-
2392
- }
2393
-
2394
- result := validationutils.ValidationOutput{
2395
- TestName: "REQUIRED_RESPONDENT_SHORT_DESC",
2396
- Valid: valid,
2397
- Code: 0,
2398
- DebugInfo: &validationutils.DebugInfo{
2399
- FedConfig: configureDebugInfo,
2400
- },
2401
- }
2402
-
2403
- if valid {
2404
- result.Code = 200
2405
- } else {
2406
- result.Code = 30000
2407
- }
2408
-
2409
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2410
- results = append(results, result)
2411
- results = append(results, subResults...)
2412
-
2413
- return results, nil
2414
- }
2415
- var REQUIRED_RESPONDENT_UPDATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2416
-
2417
- if input.Config.SkipTestsDict != nil {
2418
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_UPDATED_AT"]; skip {
2419
- return []validationutils.ValidationOutput{}, nil
2420
- }
2421
- }
2422
-
2423
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2424
-
2425
- subResults := make([]validationutils.ValidationOutput, 0)
2426
- valid := true
2427
- configureDebugInfo := ""
2428
- for _, testObjMap := range scope {
2429
- validationutils.UnusedFunction(testObjMap)
2430
-
2431
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].updated_at", true)
2432
- validationutils.UnusedFunction(attr)
2433
-
2434
- validate := validationutils.ArePresent(attr)
2435
-
2436
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESPONDENT_UPDATED_AT","attr":"$.message.issue.issue_actions.respondent_actions[*].updated_at","_RETURN_":"attr are present","action":["on_issue"]}`
2437
-
2438
- if !validate {
2439
- result := validationutils.ValidationOutput{
2440
- TestName: "REQUIRED_RESPONDENT_UPDATED_AT",
2441
- Valid: false,
2442
- Code: 30000,
2443
- Description: `#### **REQUIRED_RESPONDENT_UPDATED_AT**
2444
-
2445
- - $.message.issue.issue_actions.respondent_actions[*].updated_at must be present in the payload`,
2446
- DebugInfo: &validationutils.DebugInfo{
2447
- FedConfig: configureDebugInfo,
2448
- },
2449
- }
2450
- return []validationutils.ValidationOutput{result}, nil
2451
- }
2452
-
2453
- }
2454
-
2455
- result := validationutils.ValidationOutput{
2456
- TestName: "REQUIRED_RESPONDENT_UPDATED_AT",
2457
- Valid: valid,
2458
- Code: 0,
2459
- DebugInfo: &validationutils.DebugInfo{
2460
- FedConfig: configureDebugInfo,
2461
- },
2462
- }
2463
-
2464
- if valid {
2465
- result.Code = 200
2466
- } else {
2467
- result.Code = 30000
2468
- }
2469
-
2470
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2471
- results = append(results, result)
2472
- results = append(results, subResults...)
2473
-
2474
- return results, nil
2475
- }
2476
- var REQUIRED_RESPONDENT_UPDATED_BY_PERSON = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2477
-
2478
- if input.Config.SkipTestsDict != nil {
2479
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_UPDATED_BY_PERSON"]; skip {
2480
- return []validationutils.ValidationOutput{}, nil
2481
- }
2482
- }
2483
-
2484
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2485
-
2486
- subResults := make([]validationutils.ValidationOutput, 0)
2487
- valid := true
2488
- configureDebugInfo := ""
2489
- for _, testObjMap := range scope {
2490
- validationutils.UnusedFunction(testObjMap)
2491
-
2492
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].updated_by.person.name", true)
2493
- validationutils.UnusedFunction(attr)
2494
-
2495
- validate := validationutils.ArePresent(attr)
2496
-
2497
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESPONDENT_UPDATED_BY_PERSON","attr":"$.message.issue.issue_actions.respondent_actions[*].updated_by.person.name","_RETURN_":"attr are present","action":["on_issue"]}`
2498
-
2499
- if !validate {
2500
- result := validationutils.ValidationOutput{
2501
- TestName: "REQUIRED_RESPONDENT_UPDATED_BY_PERSON",
2502
- Valid: false,
2503
- Code: 30000,
2504
- Description: `#### **REQUIRED_RESPONDENT_UPDATED_BY_PERSON**
2505
-
2506
- - $.message.issue.issue_actions.respondent_actions[*].updated_by.person.name must be present in the payload`,
2507
- DebugInfo: &validationutils.DebugInfo{
2508
- FedConfig: configureDebugInfo,
2509
- },
2510
- }
2511
- return []validationutils.ValidationOutput{result}, nil
2512
- }
2513
-
2514
- }
2515
-
2516
- result := validationutils.ValidationOutput{
2517
- TestName: "REQUIRED_RESPONDENT_UPDATED_BY_PERSON",
2518
- Valid: valid,
2519
- Code: 0,
2520
- DebugInfo: &validationutils.DebugInfo{
2521
- FedConfig: configureDebugInfo,
2522
- },
2523
- }
2524
-
2525
- if valid {
2526
- result.Code = 200
2527
- } else {
2528
- result.Code = 30000
2529
- }
2530
-
2531
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2532
- results = append(results, result)
2533
- results = append(results, subResults...)
2534
-
2535
- return results, nil
2536
- }
2537
- var REQUIRED_RESPONDENT_UPDATED_BY_ORG = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2538
-
2539
- if input.Config.SkipTestsDict != nil {
2540
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_UPDATED_BY_ORG"]; skip {
2541
- return []validationutils.ValidationOutput{}, nil
2542
- }
2543
- }
2544
-
2545
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2546
-
2547
- subResults := make([]validationutils.ValidationOutput, 0)
2548
- valid := true
2549
- configureDebugInfo := ""
2550
- for _, testObjMap := range scope {
2551
- validationutils.UnusedFunction(testObjMap)
2552
-
2553
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].updated_by.org.name", true)
2554
- validationutils.UnusedFunction(attr)
2555
-
2556
- validate := validationutils.ArePresent(attr)
2557
-
2558
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESPONDENT_UPDATED_BY_ORG","attr":"$.message.issue.issue_actions.respondent_actions[*].updated_by.org.name","_RETURN_":"attr are present","action":["on_issue"]}`
2559
-
2560
- if !validate {
2561
- result := validationutils.ValidationOutput{
2562
- TestName: "REQUIRED_RESPONDENT_UPDATED_BY_ORG",
2563
- Valid: false,
2564
- Code: 30000,
2565
- Description: `#### **REQUIRED_RESPONDENT_UPDATED_BY_ORG**
2566
-
2567
- - $.message.issue.issue_actions.respondent_actions[*].updated_by.org.name must be present in the payload`,
2568
- DebugInfo: &validationutils.DebugInfo{
2569
- FedConfig: configureDebugInfo,
2570
- },
2571
- }
2572
- return []validationutils.ValidationOutput{result}, nil
2573
- }
2574
-
2575
- }
2576
-
2577
- result := validationutils.ValidationOutput{
2578
- TestName: "REQUIRED_RESPONDENT_UPDATED_BY_ORG",
2579
- Valid: valid,
2580
- Code: 0,
2581
- DebugInfo: &validationutils.DebugInfo{
2582
- FedConfig: configureDebugInfo,
2583
- },
2584
- }
2585
-
2586
- if valid {
2587
- result.Code = 200
2588
- } else {
2589
- result.Code = 30000
2590
- }
2591
-
2592
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2593
- results = append(results, result)
2594
- results = append(results, subResults...)
2595
-
2596
- return results, nil
2597
- }
2598
- var REQUIRED_ISSUE_CREATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2599
-
2600
- if input.Config.SkipTestsDict != nil {
2601
- if _, skip := input.Config.SkipTestsDict["REQUIRED_ISSUE_CREATED_AT"]; skip {
2602
- return []validationutils.ValidationOutput{}, nil
2603
- }
2604
- }
2605
-
2606
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2607
-
2608
- subResults := make([]validationutils.ValidationOutput, 0)
2609
- valid := true
2610
- configureDebugInfo := ""
2611
- for _, testObjMap := range scope {
2612
- validationutils.UnusedFunction(testObjMap)
2613
-
2614
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.created_at", true)
2615
- validationutils.UnusedFunction(attr)
2616
-
2617
- validate := validationutils.ArePresent(attr)
2618
-
2619
- configureDebugInfo = `{"_NAME_":"REQUIRED_ISSUE_CREATED_AT","attr":"$.message.issue.created_at","_RETURN_":"attr are present","action":["on_issue"]}`
2620
-
2621
- if !validate {
2622
- result := validationutils.ValidationOutput{
2623
- TestName: "REQUIRED_ISSUE_CREATED_AT",
2624
- Valid: false,
2625
- Code: 30000,
2626
- Description: `#### **REQUIRED_ISSUE_CREATED_AT**
2627
-
2628
- - $.message.issue.created_at must be present in the payload`,
2629
- DebugInfo: &validationutils.DebugInfo{
2630
- FedConfig: configureDebugInfo,
2631
- },
2632
- }
2633
- return []validationutils.ValidationOutput{result}, nil
2634
- }
2635
-
2636
- }
2637
-
2638
- result := validationutils.ValidationOutput{
2639
- TestName: "REQUIRED_ISSUE_CREATED_AT",
2640
- Valid: valid,
2641
- Code: 0,
2642
- DebugInfo: &validationutils.DebugInfo{
2643
- FedConfig: configureDebugInfo,
2644
- },
2645
- }
2646
-
2647
- if valid {
2648
- result.Code = 200
2649
- } else {
2650
- result.Code = 30000
2651
- }
2652
-
2653
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2654
- results = append(results, result)
2655
- results = append(results, subResults...)
2656
-
2657
- return results, nil
2658
- }
2659
- var REQUIRED_ISSUE_UPDATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
2660
-
2661
- if input.Config.SkipTestsDict != nil {
2662
- if _, skip := input.Config.SkipTestsDict["REQUIRED_ISSUE_UPDATED_AT"]; skip {
2663
- return []validationutils.ValidationOutput{}, nil
2664
- }
2665
- }
2666
-
2667
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
2668
-
2669
- subResults := make([]validationutils.ValidationOutput, 0)
2670
- valid := true
2671
- configureDebugInfo := ""
2672
- for _, testObjMap := range scope {
2673
- validationutils.UnusedFunction(testObjMap)
2674
-
2675
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.updated_at", true)
2676
- validationutils.UnusedFunction(attr)
2677
-
2678
- validate := validationutils.ArePresent(attr)
2679
-
2680
- configureDebugInfo = `{"_NAME_":"REQUIRED_ISSUE_UPDATED_AT","attr":"$.message.issue.updated_at","_RETURN_":"attr are present","action":["on_issue"]}`
2681
-
2682
- if !validate {
2683
- result := validationutils.ValidationOutput{
2684
- TestName: "REQUIRED_ISSUE_UPDATED_AT",
2685
- Valid: false,
2686
- Code: 30000,
2687
- Description: `#### **REQUIRED_ISSUE_UPDATED_AT**
2688
-
2689
- - $.message.issue.updated_at must be present in the payload`,
2690
- DebugInfo: &validationutils.DebugInfo{
2691
- FedConfig: configureDebugInfo,
2692
- },
2693
- }
2694
- return []validationutils.ValidationOutput{result}, nil
2695
- }
2696
-
2697
- }
2698
-
2699
- result := validationutils.ValidationOutput{
2700
- TestName: "REQUIRED_ISSUE_UPDATED_AT",
2701
- Valid: valid,
2702
- Code: 0,
2703
- DebugInfo: &validationutils.DebugInfo{
2704
- FedConfig: configureDebugInfo,
2705
- },
2706
- }
2707
-
2708
- if valid {
2709
- result.Code = 200
2710
- } else {
2711
- result.Code = 30000
2712
- }
2713
-
2714
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2715
- results = append(results, result)
2716
- results = append(results, subResults...)
2717
-
2718
- return results, nil
2719
- }
2720
-
2721
- var testFunctions = validationutils.TestFunctionArray{
2722
- REQUIRED_ISSUE_ID,
2723
- REQUIRED_RESPONDENT_ACTION,
2724
- REQUIRED_RESPONDENT_SHORT_DESC,
2725
- REQUIRED_RESPONDENT_UPDATED_AT,
2726
- REQUIRED_RESPONDENT_UPDATED_BY_PERSON,
2727
- REQUIRED_RESPONDENT_UPDATED_BY_ORG,
2728
- REQUIRED_ISSUE_CREATED_AT,
2729
- REQUIRED_ISSUE_UPDATED_AT,
2730
- }
2731
-
2732
- allResults := make([]validationutils.ValidationOutput, 0)
2733
-
2734
- for _, testFunc := range testFunctions {
2735
- results, err := testFunc(input)
2736
- if err != nil {
2737
- return nil, err
2738
- }
2739
- allResults = append(allResults, results...)
2740
- }
2741
-
2742
- subResults = allResults
2743
- // if all subResults are valid, then valid is true
2744
- valid = true
2745
- for _, res := range subResults {
2746
- if !res.Valid {
2747
- valid = false
2748
- break
2749
- }
2750
- }
2751
-
2752
- configureDebugInfo = `NESTED_TEST_OBJECT`
2753
-
2754
- }
2755
-
2756
- result := validationutils.ValidationOutput{
2757
- TestName: "ON_ISSUE_VALIDATION_VERSION_100",
2758
- Valid: valid,
2759
- Code: 0,
2760
- DebugInfo: &validationutils.DebugInfo{
2761
- FedConfig: configureDebugInfo,
2762
- },
2763
- }
2764
-
2765
- if valid {
2766
- result.Code = 200
2767
- } else {
2768
- result.Code = 30000
2769
- }
2770
-
2771
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2772
- results = append(results, result)
2773
- results = append(results, subResults...)
2774
-
2775
- return results, nil
2776
- }
2777
-
2778
- var testFunctions = validationutils.TestFunctionArray{
2779
- REQUIRED_CONTEXT_FIELDS,
2780
- ON_ISSUE_VALIDATION_VERSION_200,
2781
- ON_ISSUE_VALIDATION_VERSION_100,
2782
- }
2783
-
2784
- allResults := make([]validationutils.ValidationOutput, 0)
2785
-
2786
- for _, testFunc := range testFunctions {
2787
- results, err := testFunc(input)
2788
- if err != nil {
2789
- return nil, err
2790
- }
2791
- allResults = append(allResults, results...)
2792
- }
2793
-
2794
- subResults = allResults
2795
- // if all subResults are valid, then valid is true
2796
- valid = true
2797
- for _, res := range subResults {
2798
- if !res.Valid {
2799
- valid = false
2800
- break
2801
- }
2802
- }
2803
-
2804
- configureDebugInfo = `NESTED_TEST_OBJECT`
2805
-
2806
- }
2807
-
2808
- result := validationutils.ValidationOutput{
2809
- TestName: "On_issueValidations",
2810
- Valid: valid,
2811
- Code: 0,
2812
- DebugInfo: &validationutils.DebugInfo{
2813
- FedConfig: configureDebugInfo,
2814
- },
2815
- }
2816
-
2817
- if valid {
2818
- result.Code = 200
2819
- } else {
2820
- result.Code = 30000
2821
- }
2822
-
2823
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
2824
- results = append(results, result)
2825
- results = append(results, subResults...)
2826
-
2827
- return results, nil
2828
- }