package org.jenkinsci.plugins.dockerbuildstep.util;
import static org.junit.Assert.*;
import org.junit.Test;
/**
* Class that tests CommandUtils
*
* @author wzheng2310@gmail.com (Wei Zheng)
*/
public class CommandUtilsTest {
@Test
public void testImageFullNameFrom() {
assertEquals("img", CommandUtils.imageFullNameFrom("", "img", ""));
assertEquals("img:tag", CommandUtils.imageFullNameFrom("", "img", "tag"));
assertEquals("repo/img", CommandUtils.imageFullNameFrom("", "repo/img", ""));
assertEquals("repo/img:tag", CommandUtils.imageFullNameFrom("", "repo/img", "tag"));
assertEquals("reg/repo/img", CommandUtils.imageFullNameFrom("reg", "repo/img", ""));
assertEquals("reg/repo/img:tag", CommandUtils.imageFullNameFrom("reg", "repo/img", "tag"));
}
@Test
public void testAddLatestTagIfNeeded() {
String[] input = {
"img", "img:1", "img:123", "img:latest",
"repo/img", "repo/img:1", "repo/img:123", "repo/img:latest",
"reg/repo/img", "reg/repo/img:1", "reg/repo/img:123", "reg/repo/img:latest",
"reg:80/repo/img", "reg:80/repo/img:1", "reg:80/repo/img:123", "reg:80/repo/img:latest"
};
String[] output = {
"img:latest", "img:1", "img:123", "img:latest",
"repo/img:latest", "repo/img:1", "repo/img:123", "repo/img:latest",
"reg/repo/img:latest", "reg/repo/img:1", "reg/repo/img:123", "reg/repo/img:latest",
"reg:80/repo/img:latest", "reg:80/repo/img:1", "reg:80/repo/img:123", "reg:80/repo/img:latest"
};
assertEquals("input length and output length differ!", input.length, output.length);
for (int i = 0; i < input.length; i++ ) {
assertEquals(output[i], CommandUtils.addLatestTagIfNeeded(input[i]));
}
}
@Test
public void testSizeInBytes() {
String[] input = {
"64", "128b", "256k", "512m", "1g", "666a", "-9mb"
};
long[] output = {
64, 128, 262144, 536870912, 1073741824, -1, -1
};
assertEquals("input length and output length differ!", input.length, output.length);
for (int i = 0; i < input.length; i++ ) {
assertEquals(output[i], CommandUtils.sizeInBytes(input[i]));
}
}
}