ondc-code-generator 0.8.8 → 0.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +1 -1
  2. package/alpha/page/index.html +6137 -0
  3. package/alpha/page/style.css +204 -0
  4. package/alpha/readme.md +5939 -0
  5. package/alpha/validPaths.json +14351 -0
  6. package/alpha/validationpkg/examples/search.json +143 -0
  7. package/alpha/validationpkg/examples_output/search/case-001/output.json +12 -0
  8. package/alpha/validationpkg/go.mod +8 -0
  9. package/alpha/validationpkg/go.sum +4 -0
  10. package/dist/bin/cli.js +2 -0
  11. package/dist/generator/config-compiler.js +4 -0
  12. package/dist/types/compiler-types.d.ts +2 -1
  13. package/dist/types/compiler-types.js +1 -0
  14. package/docs/jval-dsl.md +913 -0
  15. package/package.json +1 -1
  16. package/alpha/golang/newPkg/go.mod +0 -3
  17. package/alpha/golang/newPkg/jsonvalidations/cancel.go +0 -1289
  18. package/alpha/golang/newPkg/jsonvalidations/confirm.go +0 -9121
  19. package/alpha/golang/newPkg/jsonvalidations/init.go +0 -4864
  20. package/alpha/golang/newPkg/jsonvalidations/issue.go +0 -4868
  21. package/alpha/golang/newPkg/jsonvalidations/on_cancel.go +0 -7111
  22. package/alpha/golang/newPkg/jsonvalidations/on_confirm.go +0 -8903
  23. package/alpha/golang/newPkg/jsonvalidations/on_init.go +0 -4445
  24. package/alpha/golang/newPkg/jsonvalidations/on_issue.go +0 -2828
  25. package/alpha/golang/newPkg/jsonvalidations/on_issue_status.go +0 -1938
  26. package/alpha/golang/newPkg/jsonvalidations/on_search.go +0 -3356
  27. package/alpha/golang/newPkg/jsonvalidations/on_status.go +0 -8129
  28. package/alpha/golang/newPkg/jsonvalidations/on_track.go +0 -1415
  29. package/alpha/golang/newPkg/jsonvalidations/on_update.go +0 -8700
  30. package/alpha/golang/newPkg/jsonvalidations/search.go +0 -3585
  31. package/alpha/golang/newPkg/jsonvalidations/status.go +0 -1073
  32. package/alpha/golang/newPkg/jsonvalidations/track.go +0 -1073
  33. package/alpha/golang/newPkg/jsonvalidations/update.go +0 -3012
  34. package/alpha/golang/newPkg/main-validator.go +0 -196
  35. package/alpha/golang/newPkg/main-validator_test.go +0 -165
  36. package/alpha/golang/newPkg/storageutils/api_save_utils.go +0 -83
  37. package/alpha/golang/newPkg/storageutils/cancel.go +0 -30
  38. package/alpha/golang/newPkg/storageutils/confirm.go +0 -30
  39. package/alpha/golang/newPkg/storageutils/index.go +0 -132
  40. package/alpha/golang/newPkg/storageutils/init.go +0 -30
  41. package/alpha/golang/newPkg/storageutils/issue.go +0 -30
  42. package/alpha/golang/newPkg/storageutils/on_cancel.go +0 -30
  43. package/alpha/golang/newPkg/storageutils/on_confirm.go +0 -30
  44. package/alpha/golang/newPkg/storageutils/on_init.go +0 -30
  45. package/alpha/golang/newPkg/storageutils/on_issue.go +0 -30
  46. package/alpha/golang/newPkg/storageutils/on_issue_status.go +0 -30
  47. package/alpha/golang/newPkg/storageutils/on_search.go +0 -30
  48. package/alpha/golang/newPkg/storageutils/on_status.go +0 -30
  49. package/alpha/golang/newPkg/storageutils/on_track.go +0 -30
  50. package/alpha/golang/newPkg/storageutils/on_update.go +0 -30
  51. package/alpha/golang/newPkg/storageutils/save_utils.go +0 -75
  52. package/alpha/golang/newPkg/storageutils/search.go +0 -30
  53. package/alpha/golang/newPkg/storageutils/status.go +0 -30
  54. package/alpha/golang/newPkg/storageutils/track.go +0 -30
  55. package/alpha/golang/newPkg/storageutils/update.go +0 -30
  56. package/alpha/golang/validationpkg/go.mod +0 -3
  57. package/alpha/golang/validationpkg/validationutils/json_normalizer.go +0 -152
  58. package/alpha/golang/validationpkg/validationutils/json_path_utils.go +0 -173
  59. package/alpha/golang/validationpkg/validationutils/storage-interface.go +0 -107
  60. package/alpha/golang/validationpkg/validationutils/test-config.go +0 -69
  61. package/alpha/golang/validationpkg/validationutils/validation_utils.go +0 -429
  62. /package/alpha/{golang → docs}/page/index.html +0 -0
  63. /package/alpha/{golang → docs}/page/style.css +0 -0
  64. /package/alpha/{golang → docs}/readme.md +0 -0
  65. /package/alpha/{golang → docs}/validPaths.json +0 -0
  66. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/cancel.go +0 -0
  67. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/confirm.go +0 -0
  68. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/init.go +0 -0
  69. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/issue.go +0 -0
  70. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_cancel.go +0 -0
  71. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_confirm.go +0 -0
  72. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_init.go +0 -0
  73. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_issue.go +0 -0
  74. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_issue_status.go +0 -0
  75. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_search.go +0 -0
  76. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_status.go +0 -0
  77. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_track.go +0 -0
  78. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/on_update.go +0 -0
  79. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/search.go +0 -0
  80. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/status.go +0 -0
  81. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/track.go +0 -0
  82. /package/alpha/{golang/validationpkg → validationpkg}/jsonvalidations/update.go +0 -0
  83. /package/alpha/{golang/validationpkg → validationpkg}/main-validator.go +0 -0
  84. /package/alpha/{golang/validationpkg → validationpkg}/main-validator_test.go +0 -0
  85. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/api_save_utils.go +0 -0
  86. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/cancel.go +0 -0
  87. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/confirm.go +0 -0
  88. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/index.go +0 -0
  89. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/init.go +0 -0
  90. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/issue.go +0 -0
  91. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_cancel.go +0 -0
  92. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_confirm.go +0 -0
  93. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_init.go +0 -0
  94. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_issue.go +0 -0
  95. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_issue_status.go +0 -0
  96. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_search.go +0 -0
  97. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_status.go +0 -0
  98. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_track.go +0 -0
  99. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/on_update.go +0 -0
  100. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/save_utils.go +0 -0
  101. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/search.go +0 -0
  102. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/status.go +0 -0
  103. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/track.go +0 -0
  104. /package/alpha/{golang/validationpkg → validationpkg}/storageutils/update.go +0 -0
  105. /package/alpha/{golang/newPkg → validationpkg}/validationutils/json_normalizer.go +0 -0
  106. /package/alpha/{golang/newPkg → validationpkg}/validationutils/json_path_utils.go +0 -0
  107. /package/alpha/{golang/newPkg → validationpkg}/validationutils/storage-interface.go +0 -0
  108. /package/alpha/{golang/newPkg → validationpkg}/validationutils/test-config.go +0 -0
  109. /package/alpha/{golang/newPkg → validationpkg}/validationutils/validation_utils.go +0 -0
@@ -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
- "newPkg/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
- }