Search in sources :

Example 41 with ResponseException

use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.

the class RegistryEndpointCallerTest method testNewRegistryErrorException_noOutputFromRegistry.

@Test
public void testNewRegistryErrorException_noOutputFromRegistry() {
    ResponseException httpException = Mockito.mock(ResponseException.class);
    // Registry returning null error output
    Mockito.when(httpException.getContent()).thenReturn(null);
    Mockito.when(httpException.getStatusCode()).thenReturn(404);
    RegistryErrorException registryException = endpointCaller.newRegistryErrorException(httpException);
    Assert.assertSame(httpException, registryException.getCause());
    Assert.assertEquals("Tried to actionDescription but failed because: registry returned error code 404 " + "but did not return any details; possible causes include invalid or wrong reference, or proxy/firewall/VPN interfering \n", registryException.getMessage());
}
Also used : NoHttpResponseException(org.apache.http.NoHttpResponseException) ResponseException(com.google.cloud.tools.jib.http.ResponseException) Test(org.junit.Test)

Example 42 with ResponseException

use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.

the class RegistryEndpointCallerTest method testNewRegistryErrorException_nonJsonErrorOutput.

@Test
public void testNewRegistryErrorException_nonJsonErrorOutput() {
    ResponseException httpException = Mockito.mock(ResponseException.class);
    // Registry returning non-structured error output
    Mockito.when(httpException.getContent()).thenReturn(">>>>> (404) page not found <<<<<");
    Mockito.when(httpException.getStatusCode()).thenReturn(404);
    RegistryErrorException registryException = endpointCaller.newRegistryErrorException(httpException);
    Assert.assertSame(httpException, registryException.getCause());
    Assert.assertEquals("Tried to actionDescription but failed because: registry returned error code 404; " + "possible causes include invalid or wrong reference. Actual error output follows:\n" + ">>>>> (404) page not found <<<<<\n", registryException.getMessage());
}
Also used : NoHttpResponseException(org.apache.http.NoHttpResponseException) ResponseException(com.google.cloud.tools.jib.http.ResponseException) Test(org.junit.Test)

Example 43 with ResponseException

use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.

the class RegistryEndpointCallerTest method verifyThrowsRegistryUnauthorizedException.

/**
 * Verifies that a response with {@code httpStatusCode} throws {@link
 * RegistryUnauthorizedException}.
 */
private void verifyThrowsRegistryUnauthorizedException(int httpStatusCode) throws IOException, RegistryException {
    ResponseException responseException = mockResponseException(httpStatusCode);
    setUpRegistryResponse(responseException);
    try {
        endpointCaller.call();
        Assert.fail("Call should have failed");
    } catch (RegistryUnauthorizedException ex) {
        Assert.assertEquals("serverUrl/imageName", ex.getImageReference());
        Assert.assertSame(responseException, ex.getCause());
    }
}
Also used : NoHttpResponseException(org.apache.http.NoHttpResponseException) ResponseException(com.google.cloud.tools.jib.http.ResponseException) RegistryUnauthorizedException(com.google.cloud.tools.jib.api.RegistryUnauthorizedException)

Example 44 with ResponseException

use of com.google.cloud.tools.jib.http.ResponseException in project jib by GoogleContainerTools.

the class BlobCheckerTest method testHandleHttpResponseException_hasOtherErrors.

@Test
public void testHandleHttpResponseException_hasOtherErrors() throws IOException {
    ResponseException mockResponseException = Mockito.mock(ResponseException.class);
    Mockito.when(mockResponseException.getStatusCode()).thenReturn(HttpStatusCodes.STATUS_CODE_NOT_FOUND);
    ErrorResponseTemplate emptyErrorResponseTemplate = new ErrorResponseTemplate().addError(new ErrorEntryTemplate(ErrorCodes.BLOB_UNKNOWN.name(), "some message")).addError(new ErrorEntryTemplate(ErrorCodes.MANIFEST_UNKNOWN.name(), "some message"));
    Mockito.when(mockResponseException.getContent()).thenReturn(JsonTemplateMapper.toUtf8String(emptyErrorResponseTemplate));
    try {
        testBlobChecker.handleHttpResponseException(mockResponseException);
        Assert.fail("Non-BLOB_UNKNOWN errors should not be handled");
    } catch (ResponseException ex) {
        Assert.assertEquals(mockResponseException, ex);
    }
}
Also used : ResponseException(com.google.cloud.tools.jib.http.ResponseException) ErrorResponseTemplate(com.google.cloud.tools.jib.registry.json.ErrorResponseTemplate) ErrorEntryTemplate(com.google.cloud.tools.jib.registry.json.ErrorEntryTemplate) Test(org.junit.Test)

Aggregations

ResponseException (com.google.cloud.tools.jib.http.ResponseException)44 Test (org.junit.Test)32 NoHttpResponseException (org.apache.http.NoHttpResponseException)18 RegistryUnauthorizedException (com.google.cloud.tools.jib.api.RegistryUnauthorizedException)8 ErrorResponseTemplate (com.google.cloud.tools.jib.registry.json.ErrorResponseTemplate)6 InsecureRegistryException (com.google.cloud.tools.jib.api.InsecureRegistryException)4 RegistryAuthenticationFailedException (com.google.cloud.tools.jib.api.RegistryAuthenticationFailedException)4 Request (com.google.cloud.tools.jib.http.Request)4 Response (com.google.cloud.tools.jib.http.Response)4 ErrorEntryTemplate (com.google.cloud.tools.jib.registry.json.ErrorEntryTemplate)4 IOException (java.io.IOException)4 JibContainer (com.google.cloud.tools.jib.api.JibContainer)2 RegistryException (com.google.cloud.tools.jib.api.RegistryException)2 BlobHttpContent (com.google.cloud.tools.jib.http.BlobHttpContent)2 ManifestTemplate (com.google.cloud.tools.jib.image.json.ManifestTemplate)2 V22ManifestTemplate (com.google.cloud.tools.jib.image.json.V22ManifestTemplate)2 RegistryCredentialsNotSentException (com.google.cloud.tools.jib.registry.RegistryCredentialsNotSentException)2 URL (java.net.URL)2 UnknownHostException (java.net.UnknownHostException)2 ExecutionException (java.util.concurrent.ExecutionException)2