@@ -28,12 +28,64 @@ public class LatestArtifactVersionResolverTest {
2828 @ InjectMocks
2929 private LatestArtifactVersionResolver underTest ;
3030
31+
32+ @ Test (expected = IllegalStateException .class )
33+ public void testResolveShouldThrowExceptionWhenNoVersionCanBeResolved () {
34+ // given
35+ MavenMetadata mavenMetadata = new MavenMetadata ("groupId" , "artifactId" , new MavenVersioning (null , null , null ));
36+
37+ String metadataUrl = "url" ;
38+ DownloadOptions options = mock (DownloadOptions .class );
39+ HttpUriRequest metadataRequest = mock (HttpUriRequest .class );
40+ given (urlFactory .createLatestArtifactVersionMetadataUrl (options )).willReturn (metadataUrl );
41+ given (requestFactory .create (metadataUrl , options )).willReturn (metadataRequest );
42+ given (metadataDownloader .download (metadataRequest )).willReturn (mavenMetadata );
43+ // when
44+ underTest .resolve (options );
45+ // then exception thrown
46+ }
47+
48+ @ Test
49+ public void testResolveShouldWorkProperlyForStandard () {
50+ // given
51+ String expected = "latest" ;
52+ MavenMetadata mavenMetadata = new MavenMetadata ("groupId" , "artifactId" , new MavenVersioning (expected , null , null ));
53+
54+ String metadataUrl = "url" ;
55+ DownloadOptions options = mock (DownloadOptions .class );
56+ HttpUriRequest metadataRequest = mock (HttpUriRequest .class );
57+ given (urlFactory .createLatestArtifactVersionMetadataUrl (options )).willReturn (metadataUrl );
58+ given (requestFactory .create (metadataUrl , options )).willReturn (metadataRequest );
59+ given (metadataDownloader .download (metadataRequest )).willReturn (mavenMetadata );
60+ // when
61+ String result = underTest .resolve (options );
62+ // then
63+ assertThat (result ).isEqualTo (expected );
64+ }
65+
66+ @ Test
67+ public void testResolveShouldWorkProperlyForNexus () {
68+ // given
69+ String expected = "latest" ;
70+ MavenMetadata mavenMetadata = new MavenMetadata ("groupId" , "artifactId" , new MavenVersioning (null , expected , null ));
71+
72+ String metadataUrl = "url" ;
73+ DownloadOptions options = mock (DownloadOptions .class );
74+ HttpUriRequest metadataRequest = mock (HttpUriRequest .class );
75+ given (urlFactory .createLatestArtifactVersionMetadataUrl (options )).willReturn (metadataUrl );
76+ given (requestFactory .create (metadataUrl , options )).willReturn (metadataRequest );
77+ given (metadataDownloader .download (metadataRequest )).willReturn (mavenMetadata );
78+ // when
79+ String result = underTest .resolve (options );
80+ // then
81+ assertThat (result ).isEqualTo (expected );
82+ }
83+
3184 @ Test
32- public void testResolveShouldWorkProperly () {
85+ public void testResolveShouldPreferStandardVersioningWhenStandardAndNexusSpecificIsPresent () {
3386 // given
3487 String expected = "latest" ;
35- MavenMetadata mavenMetadata = new MavenMetadata ("groupId" , "artifactId" ,
36- new MavenVersioning (expected , null ));
88+ MavenMetadata mavenMetadata = new MavenMetadata ("groupId" , "artifactId" , new MavenVersioning (expected , "nexus" , null ));
3789
3890 String metadataUrl = "url" ;
3991 DownloadOptions options = mock (DownloadOptions .class );
0 commit comments