66import java .nio .file .Path ;
77import java .util .Collections ;
88import java .util .List ;
9- import java .util .Properties ;
109
1110import com .google .cloud .tools .jib .api .Credential ;
12- import com .google .cloud .tools .jib .api .TarImage ;
1311
12+ import io .fabric8 .maven .docker .util .EnvUtil ;
1413import org .apache .maven .plugin .MojoExecutionException ;
1514import org .apache .maven .project .MavenProject ;
1615import org .apache .maven .settings .Settings ;
3332import io .fabric8 .maven .docker .util .Logger ;
3433import io .fabric8 .maven .docker .util .MojoParameters ;
3534
35+ import static io .fabric8 .maven .docker .service .JibBuildService .prepareImageConfiguration ;
36+ import static org .junit .jupiter .api .Assertions .assertEquals ;
37+ import static org .mockito .Mockito .mockStatic ;
38+
3639@ ExtendWith (MockitoExtension .class )
3740class JibBuildServiceTest {
3841
@@ -70,11 +73,11 @@ void testGetRegistryCredentialsForPush() throws MojoExecutionException {
7073 mockAuthConfigFactory (true , registryConfig );
7174 // When
7275 Credential credential = JibBuildService .getRegistryCredentials (
73- registryConfig , true , imageConfiguration , logger );
76+ registryConfig , true , imageConfiguration );
7477 // Then
7578 Assertions .assertNotNull (credential );
76- Assertions . assertEquals ("testuserpush" , credential .getUsername ());
77- Assertions . assertEquals ("testpass" , credential .getPassword ());
79+ assertEquals ("testuserpush" , credential .getUsername ());
80+ assertEquals ("testpass" , credential .getPassword ());
7881 }
7982
8083 @ Test
@@ -90,11 +93,11 @@ void testGetRegistryCredentialsForPull() throws MojoExecutionException {
9093 mockAuthConfigFactory (false , registryConfig );
9194 // When
9295 Credential credential = JibBuildService .getRegistryCredentials (
93- registryConfig , false , imageConfiguration , logger );
96+ registryConfig , false , imageConfiguration );
9497 // Then
9598 Assertions .assertNotNull (credential );
96- Assertions . assertEquals ("testuserpull" , credential .getUsername ());
97- Assertions . assertEquals ("testpass" , credential .getPassword ());
99+ assertEquals ("testuserpull" , credential .getUsername ());
100+ assertEquals ("testpass" , credential .getPassword ());
98101 }
99102
100103 @ Test
@@ -109,7 +112,7 @@ void testGetBuildTarArchive() throws IOException {
109112
110113 // Then
111114 Assertions .assertNotNull (tarArchive );
112- Assertions . assertEquals (new File ("/target/test/testimage/0.0.1/tmp/docker-build.tar" ).getPath (),
115+ assertEquals (new File ("/target/test/testimage/0.0.1/tmp/docker-build.tar" ).getPath (),
113116 tarArchive .getAbsolutePath ().substring (projectBaseDir .getAbsolutePath ().length ()));
114117 }
115118
@@ -126,7 +129,7 @@ void testGetAssemblyTarArchive() throws IOException, MojoExecutionException {
126129
127130 // Then
128131 Assertions .assertNotNull (tarArchive );
129- Assertions . assertEquals (new File ("/target/test/testimage/0.0.1/tmp/docker-build.tar" ).getPath (),
132+ assertEquals (new File ("/target/test/testimage/0.0.1/tmp/docker-build.tar" ).getPath (),
130133 tarArchive .getAbsolutePath ().substring (projectBaseDir .toString ().length ()));
131134 }
132135
@@ -138,12 +141,12 @@ void testPrependRegistry() {
138141 JibBuildService .prependRegistry (imageConfiguration , "quay.io" );
139142 // Then
140143 Assertions .assertNotNull (imageConfiguration );
141- Assertions . assertEquals ("quay.io/test/testimage:0.0.1" , imageConfiguration .getName ());
144+ assertEquals ("quay.io/test/testimage:0.0.1" , imageConfiguration .getName ());
142145 }
143146
144147 @ Test
145148 void testPushWithNoConfigurations () {
146- try (MockedStatic <JibServiceUtil > jibServiceUtilMock = Mockito . mockStatic (JibServiceUtil .class )) {
149+ try (MockedStatic <JibServiceUtil > jibServiceUtilMock = mockStatic (JibServiceUtil .class )) {
147150 // Given
148151 jibServiceUtilMock
149152 .when (() -> JibServiceUtil .jibPush (Mockito .any (ImageConfiguration .class ), Mockito .any (Credential .class ), Mockito .any (File .class ), Mockito .any (Logger .class )))
@@ -159,7 +162,6 @@ void testPushWithNoConfigurations() {
159162 @ Test
160163 void testBuildCallsBuildContainer (@ TempDir Path tmpDir ) throws Exception {
161164 // ARRANGE
162- Mockito .when (project .getProperties ()).thenReturn (new Properties ());
163165 setupServiceHubExpectations (tmpDir .toFile ());
164166 setupDockerAssemblyExpectations (tmpDir );
165167 final RegistryService .RegistryConfig registryConfig = new RegistryService .RegistryConfig .Builder ()
@@ -170,7 +172,7 @@ void testBuildCallsBuildContainer(@TempDir Path tmpDir) throws Exception {
170172 JibBuildService jibBuildService = new JibBuildService (serviceHub , params , logger );
171173 ImageConfiguration imageConfiguration = getImageConfiguration ();
172174
173- try (MockedStatic <JibServiceUtil > jibServiceUtilMock = Mockito . mockStatic (JibServiceUtil .class )) {
175+ try (MockedStatic <JibServiceUtil > jibServiceUtilMock = mockStatic (JibServiceUtil .class )) {
174176 jibServiceUtilMock .when (() -> JibServiceUtil .getBaseImage (imageConfiguration )).thenCallRealMethod ();
175177 // ACT
176178 jibBuildService .build ("docker" , imageConfiguration , registryConfig );
@@ -183,7 +185,7 @@ void testBuildCallsBuildContainer(@TempDir Path tmpDir) throws Exception {
183185 @ Test
184186 @ Disabled ("Cannot intercept JibServiceUtil.pushImage() to prevent actual image creation" )
185187 void testPushWithConfiguration (@ TempDir Path tmpDir ) throws Exception {
186- try (MockedStatic <JibServiceUtil > jibServiceUtilMock = Mockito . mockStatic (JibServiceUtil .class )) {
188+ try (MockedStatic <JibServiceUtil > jibServiceUtilMock = mockStatic (JibServiceUtil .class )) {
187189 // Given
188190 setupServiceHubExpectations (tmpDir .toFile ());
189191 setupDockerAssemblyExpectations (tmpDir );
@@ -204,6 +206,24 @@ void testPushWithConfiguration(@TempDir Path tmpDir) throws Exception {
204206 }
205207 }
206208
209+ @ Test
210+ void prepareImageConfiguration_whenDockerRegistryPropertySet_thenImageConfigurationShouldHaveRegistry () {
211+ try (MockedStatic <EnvUtil > envUtilMockedStatic = mockStatic (EnvUtil .class )) {
212+ // Given
213+ envUtilMockedStatic .when (() -> EnvUtil .firstRegistryOf (null , null , null )).thenReturn ("registry-from-docker-registry-env.io" );
214+ ImageConfiguration imageConfiguration = new ImageConfiguration .Builder ()
215+ .name ("test/foo:bar" )
216+ .build ();
217+ RegistryService .RegistryConfig registryConfig = new RegistryService .RegistryConfig ();
218+
219+ // When
220+ ImageConfiguration result = prepareImageConfiguration (imageConfiguration , registryConfig );
221+
222+ // Then
223+ assertEquals ("registry-from-docker-registry-env.io/test/foo:bar" , result .getName ());
224+ }
225+ }
226+
207227 private ImageConfiguration getImageConfiguration () {
208228 return new ImageConfiguration .Builder ()
209229 .name ("test/testimage:0.0.1" )
0 commit comments