ondc-code-generator 0.8.9 → 1.0.0

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