1
+ package ru.art.test.specification.json
2
+
3
+
4
+ import spock.lang.Specification
5
+
6
+ import static ru.art.core.constants.StringConstants.*
7
+ import static ru.art.json.descriptor.JsonEntityReader.readJson
8
+ import static ru.art.json.descriptor.JsonEntityWriter.writeJson
9
+
10
+
11
+ class JsonSpecification extends Specification {
12
+ def " should correctly parse/write json" () {
13
+ setup :
14
+ def json =
15
+ """
16
+ {
17
+ "result": [
18
+ {
19
+ "data": [
20
+ {
21
+ "key": "ÔÈÎ",
22
+ "value": "ÞÐÎÂÀ ÀÍÀÑÒÀÑÈß Âß×ÅÑËÀÂÎÂÍÀ"
23
+
24
+ },
25
+ {
26
+ "key": "Áàëëàíñ",
27
+ "value": "-2084.06"
28
+
29
+ },
30
+ {
31
+ "key": "Ëîãèí PPPoE",
32
+ "value": "qcnsua6p5u"
33
+
34
+ }
35
+ ],
36
+ "type": "kv",
37
+ "title": "Èíôîðìàöèÿ î êëèåíòå"
38
+ },
39
+ {
40
+ "data": [
41
+ [
42
+ {
43
+ "key": "Èìÿ ñåðâèñà",
44
+ "value": "i0011251363"
45
+
46
+ },
47
+ {
48
+ "key": "Òèï ñåðâèñà",
49
+ "value": "INTERNET"
50
+
51
+ },
52
+ {
53
+ "key": "Òàðèôíûé ïëàí",
54
+ "value": "[ÐÒÊ] xPON Âñ¸ âìåñòå \\ "Äëÿ íà÷àëà\\ " ÌÎÍÎ 100Ìáèò/ñ"
55
+
56
+ },
57
+ {
58
+ "key": "Ñêîðîñòü ïî òàðèôó [Ìáèò/ñåê]",
59
+ "value": "100"
60
+
61
+ }
62
+ ]
63
+ ],
64
+ "type": "table",
65
+ "title": "Èíôîðìàöèÿ îá óñëóãàõ"
66
+ },
67
+ {
68
+ "data": [
69
+ {
70
+ "key": "Äàííûå ÒÓ",
71
+ "value": "RST-TCN-GIRNOV-PON1-5608-001-013_01-06 [] âîëîêíî âîëîêíî41-48/43"
72
+
73
+ },
74
+ {
75
+ "key": "Îáîðóäîâàíèå ÒÓ",
76
+ "value": "RST-TCN-GIRNOV-PON1-5608-001-013_01-06"
77
+
78
+ },
79
+ {
80
+ "key": "Ïîðò ÒÓ",
81
+ "value": "41/48/43"
82
+
83
+ },
84
+ {
85
+ "key": "Àâòîðèçîâàí ñ",
86
+ "value": "RST-TCN-GIRNOV-PON1-5608 xpon 0/1/0/1:1.1.2000"
87
+
88
+ },
89
+ {
90
+ "key": "Îáîðóäîâàíèå ïîñëåäíåé ìèëè",
91
+ "value": "RST-TCN-GIRNOV-PON1-5608"
92
+
93
+ },
94
+ {
95
+ "key": "Ïîðò ïîñëåäíåé ìèëè",
96
+ "value": "0/1/1"
97
+
98
+ }
99
+ ],
100
+ "type": "kv",
101
+ "title": "Òåõíè÷åñêèé ó÷åò"
102
+ },
103
+ {
104
+ "data": [
105
+ {
106
+ "key": "×èñëî ñåññèé çà ïîñëåäíèé ÷àñ",
107
+ "value": "0"
108
+
109
+ },
110
+ {
111
+ "key": "×èñëî ñåññèé çà ïîñëåäíèå 3 ÷àñà",
112
+ "value": "0"
113
+
114
+ },
115
+ {
116
+ "key": "×èñëî ñåññèé çà ïîñëåäíèå ñóòêè",
117
+ "value": "3"
118
+
119
+ },
120
+ {
121
+ "key": "×èñëî ñåññèé çà ïîñëåäíèå 3-îå ñóòîê",
122
+ "value": "3"
123
+
124
+ }
125
+ ],
126
+ "type": "kv",
127
+ "title": "Ñòàòèñòèêà ñåññèé"
128
+ },
129
+ {
130
+ "data": [
131
+ {
132
+ "key": "Ëîãèí",
133
+ "value": "qcnsua6p5u"
134
+
135
+ },
136
+ {
137
+ "key": "IP",
138
+ "value": "46.61.84.219"
139
+
140
+ },
141
+ {
142
+ "key": "Íà÷àëî",
143
+ "value": "2020-02-25T08:17:29.000Z"
144
+
145
+ },
146
+ {
147
+ "key": "Êîíåö",
148
+ "value": "2020-02-28T08:17:30.000Z"
149
+
150
+ },
151
+ {
152
+ "key": "Àêòèâíà",
153
+ "value": "Íåò",
154
+ "estimate": "2"
155
+ }
156
+ ],
157
+ "type": "kv",
158
+ "title": "Ïîñëåäíÿÿ ñåññèÿ"
159
+ },
160
+ {
161
+ "data": [
162
+ {
163
+ "key": "Cîñòîÿíèå ïëàòû",
164
+ "value": "ðàáîòàåò êîððåêíî",
165
+ "estimate": "0"
166
+ },
167
+ {
168
+ "key": "Àäìèíèñòðàòèâíîå ñîñòîÿíèå ïîðòà",
169
+ "value": "âêëþ÷åí",
170
+ "estimate": "0"
171
+ },
172
+ {
173
+ "key": "Îïåðàòèâíîå ñîñòîÿíèå ïîðòà",
174
+ "value": "âêëþ÷åí",
175
+ "estimate": "0"
176
+ },
177
+ {
178
+ "key": "Ñòàòóñ ïîäêëþ÷åíèÿ ONT",
179
+ "value": "îòêëþ÷åí",
180
+ "estimate": "1"
181
+ },
182
+ {
183
+ "key": "Îïèñàíèå",
184
+ "value": "auto-add-Mon-Jan-13-12-10-18-202"
185
+ },
186
+ {
187
+ "key": "Äëèíà ëèíèè [km]",
188
+ "value": "0"
189
+ },
190
+ {
191
+ "key": "Çàòóõàíèå [dB]",
192
+ "value": "0",
193
+ "estimate": "0"
194
+ },
195
+ {
196
+ "key": "SN",
197
+ "value": "5A544547C8BB20DF (ZTEG-C8BB20DF)"
198
+ }
199
+ ],
200
+ "type": "kv",
201
+ "title": "Ñîñòîÿíèå ïîðòà"
202
+ },
203
+ {
204
+ "data": [],
205
+ "type": "table",
206
+ "title": "Òàáëèöà MAC-àäðåñîâ"
207
+ },
208
+ {
209
+ "data": [
210
+ []
211
+ ],
212
+ "type": "table1",
213
+ "title": "Ïîðòû ONT"
214
+ }
215
+ ],
216
+ "request_id": "6778335",
217
+ "conclusions": [
218
+ {
219
+ "conclusion_text": "Äàííûå ÒÓ ïîëó÷åíû îáîèìè ìåòîäàìè íî íå ðàâíû.",
220
+ "conclusion_level": 2,
221
+ "conclusion_title": "Òåõíè÷åñêèé ó÷åò"
222
+ }
223
+ ],
224
+ "request_created": "2020-05-12T19:43:49+0000"
225
+ }"""
226
+ when :
227
+ def value = readJson(json)
228
+
229
+ then :
230
+ writeJson(value). replaceAll(NEW_LINE , EMPTY_STRING ). replaceAll(SPACE , EMPTY_STRING ) == json. replaceAll(NEW_LINE , EMPTY_STRING ). replaceAll(SPACE , EMPTY_STRING )
231
+ }
232
+
233
+ }
0 commit comments