use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.
the class RegistryEndpointCallerTest method mockResponseException.
private static ResponseException mockResponseException(int statusCode) {
ResponseException mock = Mockito.mock(ResponseException.class);
Mockito.when(mock.getStatusCode()).thenReturn(statusCode);
return mock;
}
use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.
the class RegistryEndpointCallerTest method testCall_credentialsForcedOverHttp.
@Test
public void testCall_credentialsForcedOverHttp() throws IOException, RegistryException {
ResponseException unauthorizedException = mockResponseException(HttpStatusCodes.STATUS_CODE_UNAUTHORIZED);
setUpRegistryResponse(unauthorizedException);
System.setProperty(JibSystemProperties.SEND_CREDENTIALS_OVER_HTTP, "true");
try {
endpointCaller.call();
Assert.fail("Call should have failed");
} catch (RegistryCredentialsNotSentException ex) {
throw new AssertionError("should have sent credentials", ex);
} catch (RegistryUnauthorizedException ex) {
Assert.assertEquals("Unauthorized for serverUrl/imageName", ex.getMessage());
}
}
use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.
the class ManifestPusherTest method testHandleHttpResponseException_quayIo.
/**
* Quay.io returns an undocumented 415 / MANIFEST_INVALID.
*/
@Test
public void testHandleHttpResponseException_quayIo() throws ResponseException {
ResponseException exception = Mockito.mock(ResponseException.class);
Mockito.when(exception.getStatusCode()).thenReturn(HttpStatus.SC_UNSUPPORTED_MEDIA_TYPE);
Mockito.when(exception.getContent()).thenReturn("{\"errors\":[{\"code\":\"MANIFEST_INVALID\"," + "\"detail\":{\"message\":\"manifest schema version not supported\"}," + "\"message\":\"manifest invalid\"}]}");
try {
testManifestPusher.handleHttpResponseException(exception);
Assert.fail();
} catch (RegistryErrorException ex) {
MatcherAssert.assertThat(ex.getMessage(), CoreMatchers.containsString("Registry may not support pushing OCI Manifest or " + "Docker Image Manifest Version 2, Schema 2"));
}
}
use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.
the class ManifestPusherTest method testHandleHttpResponseException_otherError.
@Test
public void testHandleHttpResponseException_otherError() throws RegistryErrorException {
ResponseException exception = Mockito.mock(ResponseException.class);
Mockito.when(exception.getStatusCode()).thenReturn(HttpStatus.SC_UNAUTHORIZED);
try {
testManifestPusher.handleHttpResponseException(exception);
Assert.fail();
} catch (ResponseException ex) {
Assert.assertSame(exception, ex);
}
}
use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.
the class ManifestPusherTest method testHandleHttpResponseException_dockerRegistry_manifestInvalid.
/**
* Docker Registry 2.2 returns a 400 / MANIFEST_INVALID.
*/
@Test
public void testHandleHttpResponseException_dockerRegistry_manifestInvalid() throws ResponseException {
ResponseException exception = Mockito.mock(ResponseException.class);
Mockito.when(exception.getStatusCode()).thenReturn(HttpStatus.SC_BAD_REQUEST);
Mockito.when(exception.getContent()).thenReturn("{\"errors\":[{\"code\":\"MANIFEST_INVALID\"," + "\"message\":\"manifest invalid\",\"detail\":{}}]}");
try {
testManifestPusher.handleHttpResponseException(exception);
Assert.fail();
} catch (RegistryErrorException ex) {
MatcherAssert.assertThat(ex.getMessage(), CoreMatchers.containsString("Registry may not support pushing OCI Manifest or " + "Docker Image Manifest Version 2, Schema 2"));
}
}
Aggregations