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>
This commit is contained in:
+8
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user