Skip to content

Commit 9fc5cad

Browse files
committed
Added unit tests
1 parent e0edaca commit 9fc5cad

File tree

3 files changed

+72
-4
lines changed

3 files changed

+72
-4
lines changed

dockerfile-image-update/src/main/java/com/salesforce/dockerfileimageupdate/utils/DockerfileGitHubUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,10 +574,10 @@ public static boolean isValidImageTag(String tag) {
574574
String tagVersionRegexStr = "([a-zA-Z0-9_]([-._a-zA-Z0-9])*)";
575575
Pattern validTag = Pattern.compile(tagVersionRegexStr);
576576
if (StringUtils.isNotBlank(tag)) {
577-
if (!validTag.matcher(tag).matches()) {
577+
if (!validTag.matcher(tag.trim()).matches()) {
578578
log.warn("{} is not a valid value for image tag. So will be ignored!", tag);
579579
return false;
580-
} else if (tag.equals("latest")) {
580+
} else if (tag.trim().equals("latest")) {
581581
log.warn("Tag value is latest. So will be ignored");
582582
return false;
583583
}

dockerfile-image-update/src/test/java/com/salesforce/dockerfileimageupdate/process/ForkableRepoValidatorTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,10 @@ public Object[][] hasNoChangesData() {
209209
{"FROM imageName:tag", "imageName", "tag", true},
210210
{"FROM imageName:anotherTag", "imageName", "tag", false},
211211
{"FROM anotherImage:tag", "imageName", "tag", true},
212+
{"image: imageName", "imageName", "tag", true},
213+
{"image: imageName:tag", "imageName", "tag", true},
214+
{"image: imageName:anotherTag", "imageName", "tag", false},
215+
{"image: anotherImage:tag", "imageName", "tag", true},
212216
};
213217
}
214218

dockerfile-image-update/src/test/java/com/salesforce/dockerfileimageupdate/utils/DockerfileGitHubUtilTest.java

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import net.sourceforge.argparse4j.inf.*;
1414
import org.kohsuke.github.*;
1515
import org.mockito.*;
16+
import org.slf4j.Logger;
1617
import org.testng.annotations.DataProvider;
1718
import org.testng.annotations.Test;
1819

@@ -29,6 +30,7 @@
2930
import java.util.HashMap;
3031

3132
import static com.salesforce.dockerfileimageupdate.model.PullRequestInfo.DEFAULT_TITLE;
33+
import static com.salesforce.dockerfileimageupdate.utils.ResultsProcessor.REPOS_SKIPPED_MESSAGE;
3234
import static org.mockito.Mockito.*;
3335
import static org.testng.Assert.*;
3436

@@ -557,7 +559,7 @@ public void testFindImagesAndFix_notModifiedPostData() throws Exception {
557559
}
558560

559561
@DataProvider
560-
public Object[][] inputlines() throws Exception {
562+
public Object[][] inputLinesForDockerfile() throws Exception {
561563
return new Object[][]{
562564
{"image1", "3", "FROM image1_blahblah", false},
563565
{"image1", "3", " FROM image1_blahblah", false},
@@ -585,7 +587,7 @@ public Object[][] inputlines() throws Exception {
585587
};
586588
}
587589

588-
@Test(dataProvider = "inputlines")
590+
@Test(dataProvider = "inputLinesForDockerfile")
589591
public void testChangeIfDockerfileBaseImageLine(String img, String tag,
590592
String line, boolean expected) throws Exception {
591593
gitHubUtil = mock(GitHubUtil.class);
@@ -594,6 +596,47 @@ public void testChangeIfDockerfileBaseImageLine(String img, String tag,
594596
expected);
595597
}
596598

599+
@DataProvider
600+
public Object[][] inputLinesForDockerCompose() {
601+
return new Object[][]{
602+
{"image1", "3", "image: image1_blahblah", false},
603+
{"image1", "3", " image: image1_blahblah", false},
604+
{"image1", "3", "image: image1_blahblah ", false},
605+
{"image1", "3", "image: image1_blahblah\t", false},
606+
{"image1", "3", "image: image1_blahblah:2", false},
607+
{"image2", "4", "image: image2_blahblah:latest", false},
608+
{"image4", "9", "image: image4:9", false},
609+
{"image5", "246", "image: image5_", false},
610+
{"image6", "26", "image: image7", false},
611+
{"image8", "245", "image: image8:245", false},
612+
{"image8", "245", "image: image8: 245", false},
613+
{"imageName", "7", "image: imageName:_asasds", true},
614+
{"imageName", "7", " image: imageName:asAA_aa.as_ss", true},
615+
{"imageName", "7", " image: imageName:Asdf@#ggg", false},
616+
{"imageName", "7", " image: imageName:$ITEST_TAG", false},
617+
{"imageName", "7", " image: imageName:latest", false},
618+
{"image3", "7", "image: image3 ", false},
619+
{"image3", "7", "\timage: image3\t", false},
620+
{"image7", "98", "image: image7:4", true},
621+
{"image7", "98", "image: image7: 4", true},
622+
{"image124516418023_1085-1-1248571", "7357",
623+
"image: image124516418023_1085-1-1248571:18026809126359806124890356219518632048125", true},
624+
{"image", "1234",
625+
"image: image:1234", false},
626+
{"image", "1234",
627+
"image: image:1234", false},
628+
};
629+
}
630+
631+
@Test(dataProvider = "inputLinesForDockerCompose")
632+
public void testChangeIfDockerfileBaseImageLineForCompose(String img, String tag,
633+
String line, boolean expected) {
634+
gitHubUtil = mock(GitHubUtil.class);
635+
dockerfileGitHubUtil = new DockerfileGitHubUtil(gitHubUtil);
636+
assertEquals(dockerfileGitHubUtil.changeIfDockerfileBaseImageLine(img, tag, new StringBuilder(), line),
637+
expected);
638+
}
639+
597640
@Test
598641
public void testChangeIfDockerfileBaseImageLine_modifyingStringBuilder() throws Exception {
599642
gitHubUtil = mock(GitHubUtil.class);
@@ -888,4 +931,25 @@ public void testCommentsWithNoDfiuParsedCorrectly(String line, String ignoreImag
888931
dockerfileGitHubUtil = new DockerfileGitHubUtil(gitHubUtil);
889932
assertEquals(dockerfileGitHubUtil.ignorePRCommentPresent(line, ignoreImageString), expectedResult);
890933
}
934+
935+
@DataProvider
936+
public Object[][] tagList() {
937+
return new Object[][] {
938+
{"12345", true},
939+
{"assdfASFF11", true},
940+
{"_asadsd", true},
941+
{".weww", false},
942+
{"Aswd@#asdas", false},
943+
{"ASDF_SSS-CCC.Ssd", true},
944+
{"-asasd", false},
945+
{" ", false}
946+
};
947+
}
948+
949+
@Test(dataProvider = "tagList")
950+
public void testValidImageTag(String tag, Boolean expectedResult) {
951+
gitHubUtil = mock(GitHubUtil.class);
952+
dockerfileGitHubUtil = new DockerfileGitHubUtil(gitHubUtil);
953+
assertEquals(dockerfileGitHubUtil.isValidImageTag(tag), expectedResult);
954+
}
891955
}

0 commit comments

Comments
 (0)