Fix to clean up docker instance on RunTimeException in Integration Tests

Signed-off-by: Sid <shyamindra@gmail.com>
Signed-off-by: Andrew DeMaria <lostonamountain@gmail.com>
master
Sid 5 years ago committed by Andrew DeMaria
parent c16fa9d159
commit 8e279a2d2a
No known key found for this signature in database
GPG Key ID: 0A3F5E91F8364EDF
  1. 8
      integration-test/src/test/java/org/airsonic/test/cucumber_hooks/docker/DynamicDockerHook.java

@ -81,6 +81,7 @@ public class DynamicDockerHook implements AirsonicServer, EnvironmentAware, Init
.build();
final String name = "airsonic-it-" + RandomStringUtils.randomAlphabetic(10);
boolean isException = false;
try {
final ContainerCreation containerCreate = docker.createContainer(config, name);
containerId = containerCreate.id();
@ -109,6 +110,7 @@ public class DynamicDockerHook implements AirsonicServer, EnvironmentAware, Init
break;
} else {
logger.trace("Container ("+name+") never became ready within max wait time");
isException = true;
throw new RuntimeException("Container ("+name+") not ready");
}
}
@ -118,10 +120,16 @@ public class DynamicDockerHook implements AirsonicServer, EnvironmentAware, Init
String ipAddress = next.getValue().ipAddress();
serverUri = "http://" + ipAddress + ":" + dockerPort;
} catch(Exception e) {
isException = true;
throw new RuntimeException("Could not determine container ("+name+") address", e);
}
} catch (DockerException | InterruptedException e) {
isException = true;
throw new RuntimeException(e);
} finally {
if(isException){
stopServer();
}
}
}

Loading…
Cancel
Save