25
25
import static org .assertj .core .api .Assertions .assertThat ;
26
26
import static org .assertj .core .api .Assertions .assertThatIllegalArgumentException ;
27
27
import static org .assertj .core .api .Assertions .assertThatIllegalStateException ;
28
- import static org .assertj .core .api .Assertions .fail ;
29
28
30
29
/**
31
30
* Tests for {@link ImageReference}.
@@ -46,6 +45,16 @@ void ofSimpleName() {
46
45
assertThat (reference ).hasToString ("docker.io/library/ubuntu" );
47
46
}
48
47
48
+ @ Test
49
+ void ofSimpleNameWithSingleCharacterSuffix () {
50
+ ImageReference reference = ImageReference .of ("ubuntu-a" );
51
+ assertThat (reference .getDomain ()).isEqualTo ("docker.io" );
52
+ assertThat (reference .getName ()).isEqualTo ("library/ubuntu-a" );
53
+ assertThat (reference .getTag ()).isNull ();
54
+ assertThat (reference .getDigest ()).isNull ();
55
+ assertThat (reference ).hasToString ("docker.io/library/ubuntu-a" );
56
+ }
57
+
49
58
@ Test
50
59
void ofLibrarySlashName () {
51
60
ImageReference reference = ImageReference .of ("library/ubuntu" );
@@ -176,7 +185,7 @@ void ofImageNameTagAndDigest() {
176
185
}
177
186
178
187
@ Test
179
- void ofWhenHasIllegalCharacter () {
188
+ void ofWhenHasIllegalCharacterThrowsException () {
180
189
assertThatIllegalArgumentException ()
181
190
.isThrownBy (() -> ImageReference
182
191
.of ("registry.example.com/example/example-app:1.6.0-dev.2.uncommitted+wip.foo.c75795d" ))
@@ -191,6 +200,14 @@ void ofWhenContainsUpperCaseThrowsException() {
191
200
.withMessageContaining ("Unable to parse image reference" );
192
201
}
193
202
203
+ @ Test
204
+ @ Timeout (value = 1 , threadMode = ThreadMode .SEPARATE_THREAD )
205
+ void ofWhenIsVeryLongAndHasIllegalCharacter () {
206
+ assertThatIllegalArgumentException ().isThrownBy (() -> ImageReference
207
+ .of ("docker.io/library/this-image-has-a-long-name-with-an-invalid-tag-which-is-at-danger-of-catastrophic-backtracking:1.0.0+1234" ))
208
+ .withMessageContaining ("Unable to parse image reference" );
209
+ }
210
+
194
211
@ Test
195
212
void forJarFile () {
196
213
assertForJarFile ("spring-boot.2.0.0.BUILD-SNAPSHOT.jar" , "library/spring-boot" , "2.0.0.BUILD-SNAPSHOT" );
@@ -309,26 +326,4 @@ void inTaglessForm() {
309
326
assertThat (updated ).hasToString ("docker.io/library/ubuntu" );
310
327
}
311
328
312
- @ Test
313
- void ofSimpleNameWithSingleCharacterSuffix () {
314
- ImageReference reference = ImageReference .of ("ubuntu-a" );
315
- assertThat (reference .getDomain ()).isEqualTo ("docker.io" );
316
- assertThat (reference .getName ()).isEqualTo ("library/ubuntu-a" );
317
- assertThat (reference .getTag ()).isNull ();
318
- assertThat (reference .getDigest ()).isNull ();
319
- assertThat (reference ).hasToString ("docker.io/library/ubuntu-a" );
320
- }
321
-
322
- @ Test
323
- @ Timeout (value = 1 , threadMode = ThreadMode .SEPARATE_THREAD )
324
- void ofWhenIsVeryLongAndHasIllegalCharacter () {
325
- try {
326
- ImageReference
327
- .of ("docker.io/library/this-image-has-a-long-name-with-an-invalid-tag-which-is-at-danger-of-catastrophic-backtracking:1.0.0+1234" );
328
- fail ("Contains an illegal character and should have thrown an IllegalArgumentException" );
329
- }
330
- catch (IllegalArgumentException ignored ) {
331
- }
332
- }
333
-
334
329
}
0 commit comments