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,1938 +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_status_Tests(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
10
- totalResults, err := On_issue_statusValidations(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_issue_statusValidations" {
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_issue_statusValidations = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
65
-
66
- if input.Config.SkipTestsDict != nil {
67
- if _, skip := input.Config.SkipTestsDict["On_issue_statusValidations"]; 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 ISSUE_ON_ISSUE_STATUS_VALIDATION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
952
-
953
- if input.Config.SkipTestsDict != nil {
954
- if _, skip := input.Config.SkipTestsDict["ISSUE_ON_ISSUE_STATUS_VALIDATION"]; skip {
955
- return []validationutils.ValidationOutput{}, nil
956
- }
957
- }
958
-
959
- scope := validationutils.GetJsonPath(input.Payload, "$", 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_ISSUE_ID = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
968
-
969
- if input.Config.SkipTestsDict != nil {
970
- if _, skip := input.Config.SkipTestsDict["REQUIRED_ISSUE_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_ISSUE_ID","attr":"$.message.issue.id","_RETURN_":"attr are present","action":["on_issue_status"]}`
989
-
990
- if !validate {
991
- result := validationutils.ValidationOutput{
992
- TestName: "REQUIRED_ISSUE_ID",
993
- Valid: false,
994
- Code: 30000,
995
- Description: `#### **REQUIRED_ISSUE_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_ISSUE_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_RESPONDENT_ACTION = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1029
-
1030
- if input.Config.SkipTestsDict != nil {
1031
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_ACTION"]; 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.issue_actions.respondent_actions[*].respondent_action", true)
1045
- validationutils.UnusedFunction(attr)
1046
- enumList := validationutils.StringSliceToInterface([]string{`OPEN`, `PROCESSING`, `RESOLVED`, `CLOSED`, `INFO_PROVIDED`, `NEED_MORE_INFO`})
1047
- validationutils.UnusedFunction(enumList)
1048
-
1049
- validate := (validationutils.ArePresent(attr)) && (validationutils.AllIn(attr, enumList))
1050
-
1051
- 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_status"]}`
1052
-
1053
- if !validate {
1054
- result := validationutils.ValidationOutput{
1055
- TestName: "REQUIRED_RESPONDENT_ACTION",
1056
- Valid: false,
1057
- Code: 30000,
1058
- Description: `#### **REQUIRED_RESPONDENT_ACTION**
1059
-
1060
- **All of the following must be true:**
1061
- - $.message.issue.issue_actions.respondent_actions[*].respondent_action must be present in the payload
1062
- - All elements of $.message.issue.issue_actions.respondent_actions[*].respondent_action must be in ["OPEN", "PROCESSING", "RESOLVED", "CLOSED", "INFO_PROVIDED", "NEED_MORE_INFO"]`,
1063
- DebugInfo: &validationutils.DebugInfo{
1064
- FedConfig: configureDebugInfo,
1065
- },
1066
- }
1067
- return []validationutils.ValidationOutput{result}, nil
1068
- }
1069
-
1070
- }
1071
-
1072
- result := validationutils.ValidationOutput{
1073
- TestName: "REQUIRED_RESPONDENT_ACTION",
1074
- Valid: valid,
1075
- Code: 0,
1076
- DebugInfo: &validationutils.DebugInfo{
1077
- FedConfig: configureDebugInfo,
1078
- },
1079
- }
1080
-
1081
- if valid {
1082
- result.Code = 200
1083
- } else {
1084
- result.Code = 30000
1085
- }
1086
-
1087
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1088
- results = append(results, result)
1089
- results = append(results, subResults...)
1090
-
1091
- return results, nil
1092
- }
1093
- var REQUIRED_RESPONDENT_SHORT_DESC = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1094
-
1095
- if input.Config.SkipTestsDict != nil {
1096
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_SHORT_DESC"]; skip {
1097
- return []validationutils.ValidationOutput{}, nil
1098
- }
1099
- }
1100
-
1101
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1102
-
1103
- subResults := make([]validationutils.ValidationOutput, 0)
1104
- valid := true
1105
- configureDebugInfo := ""
1106
- for _, testObjMap := range scope {
1107
- validationutils.UnusedFunction(testObjMap)
1108
-
1109
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].short_desc", true)
1110
- validationutils.UnusedFunction(attr)
1111
-
1112
- validate := validationutils.ArePresent(attr)
1113
-
1114
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESPONDENT_SHORT_DESC","attr":"$.message.issue.issue_actions.respondent_actions[*].short_desc","_RETURN_":"attr are present","action":["on_issue_status"]}`
1115
-
1116
- if !validate {
1117
- result := validationutils.ValidationOutput{
1118
- TestName: "REQUIRED_RESPONDENT_SHORT_DESC",
1119
- Valid: false,
1120
- Code: 30000,
1121
- Description: `#### **REQUIRED_RESPONDENT_SHORT_DESC**
1122
-
1123
- - $.message.issue.issue_actions.respondent_actions[*].short_desc must be present in the payload`,
1124
- DebugInfo: &validationutils.DebugInfo{
1125
- FedConfig: configureDebugInfo,
1126
- },
1127
- }
1128
- return []validationutils.ValidationOutput{result}, nil
1129
- }
1130
-
1131
- }
1132
-
1133
- result := validationutils.ValidationOutput{
1134
- TestName: "REQUIRED_RESPONDENT_SHORT_DESC",
1135
- Valid: valid,
1136
- Code: 0,
1137
- DebugInfo: &validationutils.DebugInfo{
1138
- FedConfig: configureDebugInfo,
1139
- },
1140
- }
1141
-
1142
- if valid {
1143
- result.Code = 200
1144
- } else {
1145
- result.Code = 30000
1146
- }
1147
-
1148
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1149
- results = append(results, result)
1150
- results = append(results, subResults...)
1151
-
1152
- return results, nil
1153
- }
1154
- var REQUIRED_RESPONDENT_UPDATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1155
-
1156
- if input.Config.SkipTestsDict != nil {
1157
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_UPDATED_AT"]; skip {
1158
- return []validationutils.ValidationOutput{}, nil
1159
- }
1160
- }
1161
-
1162
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1163
-
1164
- subResults := make([]validationutils.ValidationOutput, 0)
1165
- valid := true
1166
- configureDebugInfo := ""
1167
- for _, testObjMap := range scope {
1168
- validationutils.UnusedFunction(testObjMap)
1169
-
1170
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].updated_at", true)
1171
- validationutils.UnusedFunction(attr)
1172
-
1173
- validate := validationutils.ArePresent(attr)
1174
-
1175
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESPONDENT_UPDATED_AT","attr":"$.message.issue.issue_actions.respondent_actions[*].updated_at","_RETURN_":"attr are present","action":["on_issue_status"]}`
1176
-
1177
- if !validate {
1178
- result := validationutils.ValidationOutput{
1179
- TestName: "REQUIRED_RESPONDENT_UPDATED_AT",
1180
- Valid: false,
1181
- Code: 30000,
1182
- Description: `#### **REQUIRED_RESPONDENT_UPDATED_AT**
1183
-
1184
- - $.message.issue.issue_actions.respondent_actions[*].updated_at must be present in the payload`,
1185
- DebugInfo: &validationutils.DebugInfo{
1186
- FedConfig: configureDebugInfo,
1187
- },
1188
- }
1189
- return []validationutils.ValidationOutput{result}, nil
1190
- }
1191
-
1192
- }
1193
-
1194
- result := validationutils.ValidationOutput{
1195
- TestName: "REQUIRED_RESPONDENT_UPDATED_AT",
1196
- Valid: valid,
1197
- Code: 0,
1198
- DebugInfo: &validationutils.DebugInfo{
1199
- FedConfig: configureDebugInfo,
1200
- },
1201
- }
1202
-
1203
- if valid {
1204
- result.Code = 200
1205
- } else {
1206
- result.Code = 30000
1207
- }
1208
-
1209
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1210
- results = append(results, result)
1211
- results = append(results, subResults...)
1212
-
1213
- return results, nil
1214
- }
1215
- var REQUIRED_RESPONDENT_UPDATED_BY_PERSON = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1216
-
1217
- if input.Config.SkipTestsDict != nil {
1218
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_UPDATED_BY_PERSON"]; skip {
1219
- return []validationutils.ValidationOutput{}, nil
1220
- }
1221
- }
1222
-
1223
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1224
-
1225
- subResults := make([]validationutils.ValidationOutput, 0)
1226
- valid := true
1227
- configureDebugInfo := ""
1228
- for _, testObjMap := range scope {
1229
- validationutils.UnusedFunction(testObjMap)
1230
-
1231
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].updated_by.person.name", true)
1232
- validationutils.UnusedFunction(attr)
1233
-
1234
- validate := validationutils.ArePresent(attr)
1235
-
1236
- 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_status"]}`
1237
-
1238
- if !validate {
1239
- result := validationutils.ValidationOutput{
1240
- TestName: "REQUIRED_RESPONDENT_UPDATED_BY_PERSON",
1241
- Valid: false,
1242
- Code: 30000,
1243
- Description: `#### **REQUIRED_RESPONDENT_UPDATED_BY_PERSON**
1244
-
1245
- - $.message.issue.issue_actions.respondent_actions[*].updated_by.person.name must be present in the payload`,
1246
- DebugInfo: &validationutils.DebugInfo{
1247
- FedConfig: configureDebugInfo,
1248
- },
1249
- }
1250
- return []validationutils.ValidationOutput{result}, nil
1251
- }
1252
-
1253
- }
1254
-
1255
- result := validationutils.ValidationOutput{
1256
- TestName: "REQUIRED_RESPONDENT_UPDATED_BY_PERSON",
1257
- Valid: valid,
1258
- Code: 0,
1259
- DebugInfo: &validationutils.DebugInfo{
1260
- FedConfig: configureDebugInfo,
1261
- },
1262
- }
1263
-
1264
- if valid {
1265
- result.Code = 200
1266
- } else {
1267
- result.Code = 30000
1268
- }
1269
-
1270
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1271
- results = append(results, result)
1272
- results = append(results, subResults...)
1273
-
1274
- return results, nil
1275
- }
1276
- var REQUIRED_RESPONDENT_UPDATED_BY_ORG = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1277
-
1278
- if input.Config.SkipTestsDict != nil {
1279
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESPONDENT_UPDATED_BY_ORG"]; skip {
1280
- return []validationutils.ValidationOutput{}, nil
1281
- }
1282
- }
1283
-
1284
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1285
-
1286
- subResults := make([]validationutils.ValidationOutput, 0)
1287
- valid := true
1288
- configureDebugInfo := ""
1289
- for _, testObjMap := range scope {
1290
- validationutils.UnusedFunction(testObjMap)
1291
-
1292
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.issue_actions.respondent_actions[*].updated_by.org.name", true)
1293
- validationutils.UnusedFunction(attr)
1294
-
1295
- validate := validationutils.ArePresent(attr)
1296
-
1297
- 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_status"]}`
1298
-
1299
- if !validate {
1300
- result := validationutils.ValidationOutput{
1301
- TestName: "REQUIRED_RESPONDENT_UPDATED_BY_ORG",
1302
- Valid: false,
1303
- Code: 30000,
1304
- Description: `#### **REQUIRED_RESPONDENT_UPDATED_BY_ORG**
1305
-
1306
- - $.message.issue.issue_actions.respondent_actions[*].updated_by.org.name must be present in the payload`,
1307
- DebugInfo: &validationutils.DebugInfo{
1308
- FedConfig: configureDebugInfo,
1309
- },
1310
- }
1311
- return []validationutils.ValidationOutput{result}, nil
1312
- }
1313
-
1314
- }
1315
-
1316
- result := validationutils.ValidationOutput{
1317
- TestName: "REQUIRED_RESPONDENT_UPDATED_BY_ORG",
1318
- Valid: valid,
1319
- Code: 0,
1320
- DebugInfo: &validationutils.DebugInfo{
1321
- FedConfig: configureDebugInfo,
1322
- },
1323
- }
1324
-
1325
- if valid {
1326
- result.Code = 200
1327
- } else {
1328
- result.Code = 30000
1329
- }
1330
-
1331
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1332
- results = append(results, result)
1333
- results = append(results, subResults...)
1334
-
1335
- return results, nil
1336
- }
1337
- var REQUIRED_ISSUE_CREATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1338
-
1339
- if input.Config.SkipTestsDict != nil {
1340
- if _, skip := input.Config.SkipTestsDict["REQUIRED_ISSUE_CREATED_AT"]; skip {
1341
- return []validationutils.ValidationOutput{}, nil
1342
- }
1343
- }
1344
-
1345
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1346
-
1347
- subResults := make([]validationutils.ValidationOutput, 0)
1348
- valid := true
1349
- configureDebugInfo := ""
1350
- for _, testObjMap := range scope {
1351
- validationutils.UnusedFunction(testObjMap)
1352
-
1353
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.created_at", true)
1354
- validationutils.UnusedFunction(attr)
1355
-
1356
- validate := validationutils.ArePresent(attr)
1357
-
1358
- configureDebugInfo = `{"_NAME_":"REQUIRED_ISSUE_CREATED_AT","attr":"$.message.issue.created_at","_RETURN_":"attr are present","action":["on_issue_status"]}`
1359
-
1360
- if !validate {
1361
- result := validationutils.ValidationOutput{
1362
- TestName: "REQUIRED_ISSUE_CREATED_AT",
1363
- Valid: false,
1364
- Code: 30000,
1365
- Description: `#### **REQUIRED_ISSUE_CREATED_AT**
1366
-
1367
- - $.message.issue.created_at must be present in the payload`,
1368
- DebugInfo: &validationutils.DebugInfo{
1369
- FedConfig: configureDebugInfo,
1370
- },
1371
- }
1372
- return []validationutils.ValidationOutput{result}, nil
1373
- }
1374
-
1375
- }
1376
-
1377
- result := validationutils.ValidationOutput{
1378
- TestName: "REQUIRED_ISSUE_CREATED_AT",
1379
- Valid: valid,
1380
- Code: 0,
1381
- DebugInfo: &validationutils.DebugInfo{
1382
- FedConfig: configureDebugInfo,
1383
- },
1384
- }
1385
-
1386
- if valid {
1387
- result.Code = 200
1388
- } else {
1389
- result.Code = 30000
1390
- }
1391
-
1392
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1393
- results = append(results, result)
1394
- results = append(results, subResults...)
1395
-
1396
- return results, nil
1397
- }
1398
- var REQUIRED_ISSUE_UPDATED_AT = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1399
-
1400
- if input.Config.SkipTestsDict != nil {
1401
- if _, skip := input.Config.SkipTestsDict["REQUIRED_ISSUE_UPDATED_AT"]; skip {
1402
- return []validationutils.ValidationOutput{}, nil
1403
- }
1404
- }
1405
-
1406
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1407
-
1408
- subResults := make([]validationutils.ValidationOutput, 0)
1409
- valid := true
1410
- configureDebugInfo := ""
1411
- for _, testObjMap := range scope {
1412
- validationutils.UnusedFunction(testObjMap)
1413
-
1414
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.updated_at", true)
1415
- validationutils.UnusedFunction(attr)
1416
-
1417
- validate := validationutils.ArePresent(attr)
1418
-
1419
- configureDebugInfo = `{"_NAME_":"REQUIRED_ISSUE_UPDATED_AT","attr":"$.message.issue.updated_at","_RETURN_":"attr are present","action":["on_issue_status"]}`
1420
-
1421
- if !validate {
1422
- result := validationutils.ValidationOutput{
1423
- TestName: "REQUIRED_ISSUE_UPDATED_AT",
1424
- Valid: false,
1425
- Code: 30000,
1426
- Description: `#### **REQUIRED_ISSUE_UPDATED_AT**
1427
-
1428
- - $.message.issue.updated_at must be present in the payload`,
1429
- DebugInfo: &validationutils.DebugInfo{
1430
- FedConfig: configureDebugInfo,
1431
- },
1432
- }
1433
- return []validationutils.ValidationOutput{result}, nil
1434
- }
1435
-
1436
- }
1437
-
1438
- result := validationutils.ValidationOutput{
1439
- TestName: "REQUIRED_ISSUE_UPDATED_AT",
1440
- Valid: valid,
1441
- Code: 0,
1442
- DebugInfo: &validationutils.DebugInfo{
1443
- FedConfig: configureDebugInfo,
1444
- },
1445
- }
1446
-
1447
- if valid {
1448
- result.Code = 200
1449
- } else {
1450
- result.Code = 30000
1451
- }
1452
-
1453
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1454
- results = append(results, result)
1455
- results = append(results, subResults...)
1456
-
1457
- return results, nil
1458
- }
1459
- var REQUIRED_RESOLUTION_SHORT_DESC = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1460
-
1461
- if input.Config.SkipTestsDict != nil {
1462
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESOLUTION_SHORT_DESC"]; skip {
1463
- return []validationutils.ValidationOutput{}, nil
1464
- }
1465
- }
1466
-
1467
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1468
-
1469
- subResults := make([]validationutils.ValidationOutput, 0)
1470
- valid := true
1471
- configureDebugInfo := ""
1472
- for _, testObjMap := range scope {
1473
- validationutils.UnusedFunction(testObjMap)
1474
-
1475
- attr := validationutils.StringSliceToInterface([]string{`$.message.issue.resolution.short_desc`})
1476
- validationutils.UnusedFunction(attr)
1477
-
1478
- validate := validationutils.ArePresent(attr)
1479
-
1480
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESOLUTION_SHORT_DESC","attr":["$.message.issue.resolution.short_desc"],"_RETURN_":"attr are present","action":["on_issue_status"]}`
1481
-
1482
- if !validate {
1483
- result := validationutils.ValidationOutput{
1484
- TestName: "REQUIRED_RESOLUTION_SHORT_DESC",
1485
- Valid: false,
1486
- Code: 30000,
1487
- Description: `#### **REQUIRED_RESOLUTION_SHORT_DESC**
1488
-
1489
- - ["$.message.issue.resolution.short_desc"] must be present in the payload`,
1490
- DebugInfo: &validationutils.DebugInfo{
1491
- FedConfig: configureDebugInfo,
1492
- },
1493
- }
1494
- return []validationutils.ValidationOutput{result}, nil
1495
- }
1496
-
1497
- }
1498
-
1499
- result := validationutils.ValidationOutput{
1500
- TestName: "REQUIRED_RESOLUTION_SHORT_DESC",
1501
- Valid: valid,
1502
- Code: 0,
1503
- DebugInfo: &validationutils.DebugInfo{
1504
- FedConfig: configureDebugInfo,
1505
- },
1506
- }
1507
-
1508
- if valid {
1509
- result.Code = 200
1510
- } else {
1511
- result.Code = 30000
1512
- }
1513
-
1514
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1515
- results = append(results, result)
1516
- results = append(results, subResults...)
1517
-
1518
- return results, nil
1519
- }
1520
- var REQUIRED_RESOLUTION_LONG_DESC = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1521
-
1522
- if input.Config.SkipTestsDict != nil {
1523
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESOLUTION_LONG_DESC"]; skip {
1524
- return []validationutils.ValidationOutput{}, nil
1525
- }
1526
- }
1527
-
1528
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1529
-
1530
- subResults := make([]validationutils.ValidationOutput, 0)
1531
- valid := true
1532
- configureDebugInfo := ""
1533
- for _, testObjMap := range scope {
1534
- validationutils.UnusedFunction(testObjMap)
1535
-
1536
- attr := validationutils.StringSliceToInterface([]string{`$.message.issue.resolution.long_desc`})
1537
- validationutils.UnusedFunction(attr)
1538
-
1539
- validate := validationutils.ArePresent(attr)
1540
-
1541
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESOLUTION_LONG_DESC","attr":["$.message.issue.resolution.long_desc"],"_RETURN_":"attr are present","action":["on_issue_status"]}`
1542
-
1543
- if !validate {
1544
- result := validationutils.ValidationOutput{
1545
- TestName: "REQUIRED_RESOLUTION_LONG_DESC",
1546
- Valid: false,
1547
- Code: 30000,
1548
- Description: `#### **REQUIRED_RESOLUTION_LONG_DESC**
1549
-
1550
- - ["$.message.issue.resolution.long_desc"] must be present in the payload`,
1551
- DebugInfo: &validationutils.DebugInfo{
1552
- FedConfig: configureDebugInfo,
1553
- },
1554
- }
1555
- return []validationutils.ValidationOutput{result}, nil
1556
- }
1557
-
1558
- }
1559
-
1560
- result := validationutils.ValidationOutput{
1561
- TestName: "REQUIRED_RESOLUTION_LONG_DESC",
1562
- Valid: valid,
1563
- Code: 0,
1564
- DebugInfo: &validationutils.DebugInfo{
1565
- FedConfig: configureDebugInfo,
1566
- },
1567
- }
1568
-
1569
- if valid {
1570
- result.Code = 200
1571
- } else {
1572
- result.Code = 30000
1573
- }
1574
-
1575
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1576
- results = append(results, result)
1577
- results = append(results, subResults...)
1578
-
1579
- return results, nil
1580
- }
1581
- var REQUIRED_RESOLUTION_ACTION_TRIGGERED = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1582
-
1583
- if input.Config.SkipTestsDict != nil {
1584
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESOLUTION_ACTION_TRIGGERED"]; skip {
1585
- return []validationutils.ValidationOutput{}, nil
1586
- }
1587
- }
1588
-
1589
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1590
-
1591
- subResults := make([]validationutils.ValidationOutput, 0)
1592
- valid := true
1593
- configureDebugInfo := ""
1594
- for _, testObjMap := range scope {
1595
- validationutils.UnusedFunction(testObjMap)
1596
-
1597
- attr := validationutils.StringSliceToInterface([]string{`$.message.issue.resolution.action_triggered`})
1598
- validationutils.UnusedFunction(attr)
1599
-
1600
- validate := validationutils.ArePresent(attr)
1601
-
1602
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESOLUTION_ACTION_TRIGGERED","attr":["$.message.issue.resolution.action_triggered"],"_RETURN_":"attr are present","action":["on_issue_status"]}`
1603
-
1604
- if !validate {
1605
- result := validationutils.ValidationOutput{
1606
- TestName: "REQUIRED_RESOLUTION_ACTION_TRIGGERED",
1607
- Valid: false,
1608
- Code: 30000,
1609
- Description: `#### **REQUIRED_RESOLUTION_ACTION_TRIGGERED**
1610
-
1611
- - ["$.message.issue.resolution.action_triggered"] must be present in the payload`,
1612
- DebugInfo: &validationutils.DebugInfo{
1613
- FedConfig: configureDebugInfo,
1614
- },
1615
- }
1616
- return []validationutils.ValidationOutput{result}, nil
1617
- }
1618
-
1619
- }
1620
-
1621
- result := validationutils.ValidationOutput{
1622
- TestName: "REQUIRED_RESOLUTION_ACTION_TRIGGERED",
1623
- Valid: valid,
1624
- Code: 0,
1625
- DebugInfo: &validationutils.DebugInfo{
1626
- FedConfig: configureDebugInfo,
1627
- },
1628
- }
1629
-
1630
- if valid {
1631
- result.Code = 200
1632
- } else {
1633
- result.Code = 30000
1634
- }
1635
-
1636
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1637
- results = append(results, result)
1638
- results = append(results, subResults...)
1639
-
1640
- return results, nil
1641
- }
1642
- var REQUIRED_RESOLUTION_PROVIDER_TYPE = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1643
-
1644
- if input.Config.SkipTestsDict != nil {
1645
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESOLUTION_PROVIDER_TYPE"]; skip {
1646
- return []validationutils.ValidationOutput{}, nil
1647
- }
1648
- }
1649
-
1650
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1651
-
1652
- subResults := make([]validationutils.ValidationOutput, 0)
1653
- valid := true
1654
- configureDebugInfo := ""
1655
- for _, testObjMap := range scope {
1656
- validationutils.UnusedFunction(testObjMap)
1657
-
1658
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.resolution_provider.respondent_info.type", true)
1659
- validationutils.UnusedFunction(attr)
1660
-
1661
- validate := validationutils.ArePresent(attr)
1662
-
1663
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESOLUTION_PROVIDER_TYPE","attr":"$.message.issue.resolution_provider.respondent_info.type","_RETURN_":"attr are present","action":["on_issue_status"]}`
1664
-
1665
- if !validate {
1666
- result := validationutils.ValidationOutput{
1667
- TestName: "REQUIRED_RESOLUTION_PROVIDER_TYPE",
1668
- Valid: false,
1669
- Code: 30000,
1670
- Description: `#### **REQUIRED_RESOLUTION_PROVIDER_TYPE**
1671
-
1672
- - $.message.issue.resolution_provider.respondent_info.type must be present in the payload`,
1673
- DebugInfo: &validationutils.DebugInfo{
1674
- FedConfig: configureDebugInfo,
1675
- },
1676
- }
1677
- return []validationutils.ValidationOutput{result}, nil
1678
- }
1679
-
1680
- }
1681
-
1682
- result := validationutils.ValidationOutput{
1683
- TestName: "REQUIRED_RESOLUTION_PROVIDER_TYPE",
1684
- Valid: valid,
1685
- Code: 0,
1686
- DebugInfo: &validationutils.DebugInfo{
1687
- FedConfig: configureDebugInfo,
1688
- },
1689
- }
1690
-
1691
- if valid {
1692
- result.Code = 200
1693
- } else {
1694
- result.Code = 30000
1695
- }
1696
-
1697
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1698
- results = append(results, result)
1699
- results = append(results, subResults...)
1700
-
1701
- return results, nil
1702
- }
1703
- var REQUIRED_RESOLUTION_PROVIDER_ORG_NAME = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1704
-
1705
- if input.Config.SkipTestsDict != nil {
1706
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESOLUTION_PROVIDER_ORG_NAME"]; skip {
1707
- return []validationutils.ValidationOutput{}, nil
1708
- }
1709
- }
1710
-
1711
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1712
-
1713
- subResults := make([]validationutils.ValidationOutput, 0)
1714
- valid := true
1715
- configureDebugInfo := ""
1716
- for _, testObjMap := range scope {
1717
- validationutils.UnusedFunction(testObjMap)
1718
-
1719
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.resolution_provider.respondent_info.organization.org.name", true)
1720
- validationutils.UnusedFunction(attr)
1721
-
1722
- validate := validationutils.ArePresent(attr)
1723
-
1724
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESOLUTION_PROVIDER_ORG_NAME","attr":"$.message.issue.resolution_provider.respondent_info.organization.org.name","_RETURN_":"attr are present","action":["on_issue_status"]}`
1725
-
1726
- if !validate {
1727
- result := validationutils.ValidationOutput{
1728
- TestName: "REQUIRED_RESOLUTION_PROVIDER_ORG_NAME",
1729
- Valid: false,
1730
- Code: 30000,
1731
- Description: `#### **REQUIRED_RESOLUTION_PROVIDER_ORG_NAME**
1732
-
1733
- - $.message.issue.resolution_provider.respondent_info.organization.org.name must be present in the payload`,
1734
- DebugInfo: &validationutils.DebugInfo{
1735
- FedConfig: configureDebugInfo,
1736
- },
1737
- }
1738
- return []validationutils.ValidationOutput{result}, nil
1739
- }
1740
-
1741
- }
1742
-
1743
- result := validationutils.ValidationOutput{
1744
- TestName: "REQUIRED_RESOLUTION_PROVIDER_ORG_NAME",
1745
- Valid: valid,
1746
- Code: 0,
1747
- DebugInfo: &validationutils.DebugInfo{
1748
- FedConfig: configureDebugInfo,
1749
- },
1750
- }
1751
-
1752
- if valid {
1753
- result.Code = 200
1754
- } else {
1755
- result.Code = 30000
1756
- }
1757
-
1758
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1759
- results = append(results, result)
1760
- results = append(results, subResults...)
1761
-
1762
- return results, nil
1763
- }
1764
- var REQUIRED_RESOLUTION_PROVIDER_PERSON_NAME = func(input validationutils.ValidationInput) ([]validationutils.ValidationOutput, error) {
1765
-
1766
- if input.Config.SkipTestsDict != nil {
1767
- if _, skip := input.Config.SkipTestsDict["REQUIRED_RESOLUTION_PROVIDER_PERSON_NAME"]; skip {
1768
- return []validationutils.ValidationOutput{}, nil
1769
- }
1770
- }
1771
-
1772
- scope := validationutils.GetJsonPath(input.Payload, "$", true)
1773
-
1774
- subResults := make([]validationutils.ValidationOutput, 0)
1775
- valid := true
1776
- configureDebugInfo := ""
1777
- for _, testObjMap := range scope {
1778
- validationutils.UnusedFunction(testObjMap)
1779
-
1780
- attr := validationutils.GetJsonPath(testObjMap, "$.message.issue.resolution_provider.respondent_info.organization.person.name", true)
1781
- validationutils.UnusedFunction(attr)
1782
-
1783
- validate := validationutils.ArePresent(attr)
1784
-
1785
- configureDebugInfo = `{"_NAME_":"REQUIRED_RESOLUTION_PROVIDER_PERSON_NAME","attr":"$.message.issue.resolution_provider.respondent_info.organization.person.name","_RETURN_":"attr are present","action":["on_issue_status"]}`
1786
-
1787
- if !validate {
1788
- result := validationutils.ValidationOutput{
1789
- TestName: "REQUIRED_RESOLUTION_PROVIDER_PERSON_NAME",
1790
- Valid: false,
1791
- Code: 30000,
1792
- Description: `#### **REQUIRED_RESOLUTION_PROVIDER_PERSON_NAME**
1793
-
1794
- - $.message.issue.resolution_provider.respondent_info.organization.person.name must be present in the payload`,
1795
- DebugInfo: &validationutils.DebugInfo{
1796
- FedConfig: configureDebugInfo,
1797
- },
1798
- }
1799
- return []validationutils.ValidationOutput{result}, nil
1800
- }
1801
-
1802
- }
1803
-
1804
- result := validationutils.ValidationOutput{
1805
- TestName: "REQUIRED_RESOLUTION_PROVIDER_PERSON_NAME",
1806
- Valid: valid,
1807
- Code: 0,
1808
- DebugInfo: &validationutils.DebugInfo{
1809
- FedConfig: configureDebugInfo,
1810
- },
1811
- }
1812
-
1813
- if valid {
1814
- result.Code = 200
1815
- } else {
1816
- result.Code = 30000
1817
- }
1818
-
1819
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1820
- results = append(results, result)
1821
- results = append(results, subResults...)
1822
-
1823
- return results, nil
1824
- }
1825
-
1826
- var testFunctions = validationutils.TestFunctionArray{
1827
- REQUIRED_ISSUE_ID,
1828
- REQUIRED_RESPONDENT_ACTION,
1829
- REQUIRED_RESPONDENT_SHORT_DESC,
1830
- REQUIRED_RESPONDENT_UPDATED_AT,
1831
- REQUIRED_RESPONDENT_UPDATED_BY_PERSON,
1832
- REQUIRED_RESPONDENT_UPDATED_BY_ORG,
1833
- REQUIRED_ISSUE_CREATED_AT,
1834
- REQUIRED_ISSUE_UPDATED_AT,
1835
- REQUIRED_RESOLUTION_SHORT_DESC,
1836
- REQUIRED_RESOLUTION_LONG_DESC,
1837
- REQUIRED_RESOLUTION_ACTION_TRIGGERED,
1838
- REQUIRED_RESOLUTION_PROVIDER_TYPE,
1839
- REQUIRED_RESOLUTION_PROVIDER_ORG_NAME,
1840
- REQUIRED_RESOLUTION_PROVIDER_PERSON_NAME,
1841
- }
1842
-
1843
- allResults := make([]validationutils.ValidationOutput, 0)
1844
-
1845
- for _, testFunc := range testFunctions {
1846
- results, err := testFunc(input)
1847
- if err != nil {
1848
- return nil, err
1849
- }
1850
- allResults = append(allResults, results...)
1851
- }
1852
-
1853
- subResults = allResults
1854
- // if all subResults are valid, then valid is true
1855
- valid = true
1856
- for _, res := range subResults {
1857
- if !res.Valid {
1858
- valid = false
1859
- break
1860
- }
1861
- }
1862
-
1863
- configureDebugInfo = `NESTED_TEST_OBJECT`
1864
-
1865
- }
1866
-
1867
- result := validationutils.ValidationOutput{
1868
- TestName: "ISSUE_ON_ISSUE_STATUS_VALIDATION",
1869
- Valid: valid,
1870
- Code: 0,
1871
- DebugInfo: &validationutils.DebugInfo{
1872
- FedConfig: configureDebugInfo,
1873
- },
1874
- }
1875
-
1876
- if valid {
1877
- result.Code = 200
1878
- } else {
1879
- result.Code = 30000
1880
- }
1881
-
1882
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1883
- results = append(results, result)
1884
- results = append(results, subResults...)
1885
-
1886
- return results, nil
1887
- }
1888
-
1889
- var testFunctions = validationutils.TestFunctionArray{
1890
- REQUIRED_CONTEXT_FIELDS,
1891
- ISSUE_ON_ISSUE_STATUS_VALIDATION,
1892
- }
1893
-
1894
- allResults := make([]validationutils.ValidationOutput, 0)
1895
-
1896
- for _, testFunc := range testFunctions {
1897
- results, err := testFunc(input)
1898
- if err != nil {
1899
- return nil, err
1900
- }
1901
- allResults = append(allResults, results...)
1902
- }
1903
-
1904
- subResults = allResults
1905
- // if all subResults are valid, then valid is true
1906
- valid = true
1907
- for _, res := range subResults {
1908
- if !res.Valid {
1909
- valid = false
1910
- break
1911
- }
1912
- }
1913
-
1914
- configureDebugInfo = `NESTED_TEST_OBJECT`
1915
-
1916
- }
1917
-
1918
- result := validationutils.ValidationOutput{
1919
- TestName: "On_issue_statusValidations",
1920
- Valid: valid,
1921
- Code: 0,
1922
- DebugInfo: &validationutils.DebugInfo{
1923
- FedConfig: configureDebugInfo,
1924
- },
1925
- }
1926
-
1927
- if valid {
1928
- result.Code = 200
1929
- } else {
1930
- result.Code = 30000
1931
- }
1932
-
1933
- results := make([]validationutils.ValidationOutput, 0, len(subResults)+1)
1934
- results = append(results, result)
1935
- results = append(results, subResults...)
1936
-
1937
- return results, nil
1938
- }