Skip to content

Commit 2ae0770

Browse files
committed
added unit tests for build-arg CLI
1 parent eb516b3 commit 2ae0770

File tree

4 files changed

+53
-2
lines changed

4 files changed

+53
-2
lines changed

.github/workflows/sonar-branch.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
java-version: 11
2424
- name: Build and Test
2525
run: |
26-
mvn -B clean test
26+
mvn -B clean package
2727
- name: Sonar Scan
2828
run: |
2929
mvn -B sonar:sonar \

imagetool/src/main/java/com/oracle/weblogic/imagetool/cli/menu/CommonOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ public String buildId() {
417417
KubernetesTarget kubernetesTarget = KubernetesTarget.DEFAULT;
418418

419419
@Option(
420-
names = {"--buildArgs"},
420+
names = {"--build-arg"},
421421
description = "Additional argument passed directly to the build engine."
422422
)
423423
Map<String,String> buildArgs;

imagetool/src/test/java/com/oracle/weblogic/imagetool/builder/BuilderTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33

44
package com.oracle.weblogic.imagetool.builder;
55

6+
import java.util.LinkedHashMap;
7+
import java.util.Map;
8+
69
import org.junit.jupiter.api.Tag;
710
import org.junit.jupiter.api.Test;
811

@@ -37,6 +40,39 @@ void testBuildWithOptions() {
3740
cmd.toString());
3841
}
3942

43+
@Test
44+
void testBuildArgsInMap() {
45+
Map<String,String> argMap = new LinkedHashMap<>();
46+
argMap.put("something", "else");
47+
argMap.put("random", "data");
48+
49+
BuildCommand cmd = new BuildCommand(BUILD_ENGINE, BUILD_CONTEXT)
50+
.tag("img:2")
51+
.pull(true)
52+
.forceRm(true)
53+
.network("private-net")
54+
.buildArg(argMap);
55+
assertEquals(
56+
expected("--tag img:2 --pull --force-rm --network private-net "
57+
+ "--build-arg something=else --build-arg random=data"),
58+
cmd.toString());
59+
}
60+
61+
@Test
62+
void testBuildArgsInMap2() {
63+
Map<String,String> argMap = null;
64+
65+
BuildCommand cmd = new BuildCommand(BUILD_ENGINE, BUILD_CONTEXT)
66+
.tag("img:2")
67+
.pull(true)
68+
.forceRm(true)
69+
.network("private-net")
70+
.buildArg(argMap);
71+
assertEquals(
72+
expected("--tag img:2 --pull --force-rm --network private-net"),
73+
cmd.toString());
74+
}
75+
4076
@Test
4177
void testBuildWithProxyPass() {
4278
BuildCommand cmd = new BuildCommand(BUILD_ENGINE, BUILD_CONTEXT);

imagetool/src/test/java/com/oracle/weblogic/imagetool/cli/menu/CommonOptionsTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,4 +227,19 @@ void isChownNotSet() {
227227
new CommandLine(createImage).parseArgs("--tag", "x:1");
228228
assertFalse(createImage.isChownSet());
229229
}
230+
231+
@Test
232+
void buildArgs() throws Exception {
233+
CreateImage createImage = new CreateImage();
234+
new CommandLine(createImage).parseArgs("--tag", "tag:1",
235+
"--build-arg", "something=else", "--build-arg", "fast=break");
236+
237+
createImage.initializeOptions();
238+
// access the private field to view the dockerfile options that will be used at runtime
239+
Field options = CommonOptions.class.getDeclaredField("dockerfileOptions");
240+
options.setAccessible(true);
241+
DockerfileOptions dockerfile = (DockerfileOptions) options.get(createImage);
242+
assertEquals(2, dockerfile.buildArgs().size());
243+
assertEquals("something", dockerfile.buildArgs().get(0));
244+
}
230245
}

0 commit comments

Comments
 (0)