Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
chanseokoh committed Jul 18, 2018
1 parent 710c02f commit 8f42890
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ public Builder setAllowHttp(boolean allowHttp) {
}

public Builder setHttpTimeout(int httpTimeout) {
Preconditions.checkArgument(httpTimeout >= 0);
Preconditions.checkArgument(httpTimeout >= 0, "HTTP timeout value should be non-negative");
this.httpTimeout = httpTimeout;
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,17 @@
import java.util.Map;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class BuildConfigurationTest {

@Mock private BuildLogger buildLogger;
@Mock private ImageReference imageReference;

@Test
public void testBuilder() {
Instant expectedCreationTime = Instant.ofEpochSecond(10000);
Expand Down Expand Up @@ -161,13 +168,28 @@ public void testBuilder_default() {
Assert.assertNull(buildConfiguration.getExtraFilesLayerConfiguration());
}

@Test
public void testBuilder_negativeHttpTimeout() {
try {
BuildConfiguration.builder(buildLogger).setHttpTimeout(-1);
Assert.fail("Should not accept negative numbers");
} catch (IllegalArgumentException ex) {
Assert.assertEquals("HTTP timeout value should be non-negative", ex.getMessage());
}
}

@Test
public void testBuilder_okWith0HttpTimeout() {
BuildConfiguration.builder(buildLogger).setHttpTimeout(0);
}

@Test
public void testBuilder_missingValues() {
// Main class is missing
try {
BuildConfiguration.builder(Mockito.mock(BuildLogger.class))
.setBaseImage(Mockito.mock(ImageReference.class))
.setTargetImage(Mockito.mock(ImageReference.class))
BuildConfiguration.builder(buildLogger)
.setBaseImage(imageReference)
.setTargetImage(imageReference)
.build();
Assert.fail("Build configuration should not be built with missing values");

Expand All @@ -177,9 +199,7 @@ public void testBuilder_missingValues() {

// Main class and target image are missing
try {
BuildConfiguration.builder(Mockito.mock(BuildLogger.class))
.setBaseImage(Mockito.mock(ImageReference.class))
.build();
BuildConfiguration.builder(buildLogger).setBaseImage(imageReference).build();
Assert.fail("Build configuration should not be built with missing values");

} catch (IllegalStateException ex) {
Expand All @@ -190,7 +210,7 @@ public void testBuilder_missingValues() {

// All required fields missing
try {
BuildConfiguration.builder(Mockito.mock(BuildLogger.class)).build();
BuildConfiguration.builder(buildLogger).build();
Assert.fail("Build configuration should not be built with missing values");

} catch (IllegalStateException ex) {
Expand Down

0 comments on commit 8f42890

Please sign in to comment.