16
16
package software .amazon .smithy .diff .evaluators ;
17
17
18
18
import static org .hamcrest .MatcherAssert .assertThat ;
19
+ import static org .hamcrest .Matchers .allOf ;
19
20
import static org .hamcrest .Matchers .equalTo ;
20
21
import static org .hamcrest .Matchers .stringContainsInOrder ;
21
22
22
23
import java .util .List ;
24
+
25
+ import org .hamcrest .core .Every ;
23
26
import org .junit .jupiter .api .Test ;
24
27
import software .amazon .smithy .diff .ModelDiff ;
25
28
import software .amazon .smithy .model .Model ;
@@ -74,7 +77,8 @@ public void detectsAppendedEnumsEnumTraitNoNameToEnumShape() {
74
77
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
75
78
76
79
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (2 ));
77
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).get (0 ).getSeverity (),
80
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged" ).size (), equalTo (1 ));
81
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged" ).get (0 ).getSeverity (),
78
82
equalTo (Severity .ERROR ));
79
83
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).get (1 ).getSeverity (),
80
84
equalTo (Severity .NOTE ));
@@ -124,7 +128,7 @@ public void detectsRemovedEnums() {
124
128
Model modelB = Model .assembler ().addShape (s2 ).assemble ().unwrap ();
125
129
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
126
130
127
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (1 ));
131
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.Removed " ).size (), equalTo (1 ));
128
132
assertThat (TestHelper .findEvents (events , Severity .ERROR ).size (), equalTo (1 ));
129
133
}
130
134
@@ -149,6 +153,8 @@ public void detectsRemovedEnumsEnumTraitNoNameToEnumShape() {
149
153
Model modelB = Model .assembler ().addShape (s2 ).assemble ().unwrap ();
150
154
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
151
155
156
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.Removed" ).size (), equalTo (1 ));
157
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged" ).size (), equalTo (1 ));
152
158
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).stream ()
153
159
.allMatch (e -> e .getSeverity () == Severity .ERROR ), equalTo (true ));
154
160
}
@@ -176,8 +182,8 @@ public void detectsRemovedEnumsEnumTraitWithNameToEnumShape() {
176
182
Model modelB = Model .assembler ().addShape (s2 ).assemble ().unwrap ();
177
183
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
178
184
179
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (1 ));
180
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).stream ()
185
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.Removed " ).size (), equalTo (1 ));
186
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.Removed " ).stream ()
181
187
.allMatch (e -> e .getSeverity () == Severity .ERROR ), equalTo (true ));
182
188
}
183
189
@@ -199,7 +205,7 @@ public void detectsRenamedEnums() {
199
205
Model modelB = Model .assembler ().addShape (s2 ).assemble ().unwrap ();
200
206
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
201
207
202
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (1 ));
208
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged " ).size (), equalTo (1 ));
203
209
assertThat (TestHelper .findEvents (events , Severity .ERROR ).size (), equalTo (1 ));
204
210
}
205
211
@@ -221,8 +227,8 @@ public void detectsRenamedEnumsEnumTraitNoNameToEnumShape() {
221
227
Model modelB = Model .assembler ().addShape (s2 ).assemble ().unwrap ();
222
228
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
223
229
224
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (1 ));
225
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).get (0 ).getSeverity (),
230
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged " ).size (), equalTo (1 ));
231
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged " ).get (0 ).getSeverity (),
226
232
equalTo (Severity .ERROR ));
227
233
}
228
234
@@ -245,8 +251,8 @@ public void detectsRenamedEnumsEnumTraitWithNameToEnumShape() {
245
251
Model modelB = Model .assembler ().addShape (s2 ).assemble ().unwrap ();
246
252
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
247
253
248
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (1 ));
249
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).get (0 ).getSeverity (),
254
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged " ).size (), equalTo (1 ));
255
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged " ).get (0 ).getSeverity (),
250
256
equalTo (Severity .ERROR ));
251
257
}
252
258
@@ -269,8 +275,8 @@ public void detectsInsertedEnums() {
269
275
Model modelB = Model .assembler ().addShape (s2 ).assemble ().unwrap ();
270
276
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
271
277
272
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (1 ));
273
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).get (0 ).getSeverity (), equalTo (Severity .ERROR ));
278
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.OrderChanged " ).size (), equalTo (1 ));
279
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.OrderChanged " ).get (0 ).getSeverity (), equalTo (Severity .ERROR ));
274
280
}
275
281
276
282
@ Test
@@ -293,6 +299,7 @@ public void detectsInsertedEnumsEnumTraitNoNameToEnumShape() {
293
299
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
294
300
295
301
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (2 ));
302
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.OrderChanged" ).size (), equalTo (1 ));
296
303
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).stream ()
297
304
.allMatch (e -> e .getSeverity () == Severity .ERROR ), equalTo (true ));
298
305
}
@@ -317,8 +324,8 @@ public void detectsInsertedEnumsEnumTraitWithNameToEnumShape() {
317
324
Model modelB = Model .assembler ().addShape (s2 ).assemble ().unwrap ();
318
325
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
319
326
320
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (1 ));
321
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).stream ()
327
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.OrderChanged " ).size (), equalTo (1 ));
328
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.OrderChanged " ).stream ()
322
329
.allMatch (e -> e .getSeverity () == Severity .ERROR ), equalTo (true ));
323
330
}
324
331
@@ -346,6 +353,7 @@ public void detectsAppendedEnumsAfterRemovedEnums() {
346
353
347
354
List <ValidationEvent > changeEvents = TestHelper .findEvents (allEvents , "ChangedEnumTrait" );
348
355
assertThat (changeEvents .size (), equalTo (2 ));
356
+ assertThat (TestHelper .findEvents (changeEvents , "ChangedEnumTrait.Removed" ).size (), equalTo (1 ));
349
357
350
358
ValidationEvent removedEvent = changeEvents .get (0 );
351
359
assertThat (removedEvent .getSeverity (), equalTo (Severity .ERROR ));
@@ -383,6 +391,8 @@ public void detectsAppendedEnumsAfterRemovedEnumsEnumTraitNoNameToEnumShape() {
383
391
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
384
392
385
393
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (4 ));
394
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.NameChanged" ).size (), equalTo (2 ));
395
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.Removed" ).size (), equalTo (1 ));
386
396
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).subList (0 , 3 ).stream ()
387
397
.allMatch (e -> e .getSeverity () == Severity .ERROR ), equalTo (true ));
388
398
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).subList (3 , 4 ).stream ()
@@ -419,7 +429,8 @@ public void detectsAppendedEnumsAfterRemovedEnumsEnumTraitWithNameToEnumShape()
419
429
List <ValidationEvent > events = ModelDiff .compare (modelA , modelB );
420
430
421
431
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).size (), equalTo (2 ));
422
- assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).subList (0 , 1 ).stream ()
432
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.Removed" ).size (), equalTo (1 ));
433
+ assertThat (TestHelper .findEvents (events , "ChangedEnumTrait.Removed" ).stream ()
423
434
.allMatch (e -> e .getSeverity () == Severity .ERROR ), equalTo (true ));
424
435
assertThat (TestHelper .findEvents (events , "ChangedEnumTrait" ).subList (1 , 2 ).stream ()
425
436
.allMatch (e -> e .getSeverity () == Severity .NOTE ), equalTo (true ));
0 commit comments