Search in sources :

Example 36 with HttpBinJSON

use of com.azure.android.core.test.implementation.entities.HttpBinJSON in project azure-sdk-for-android by Azure.

the class RestProxyTests method service19PutWithHeaderApplicationJsonContentTypeAndStringBodyWithEmptyBody.

@Test
public void service19PutWithHeaderApplicationJsonContentTypeAndStringBodyWithEmptyBody() {
    CountDownLatch latch = new CountDownLatch(1);
    CallbackResult<HttpBinJSON> cbResult = new CallbackResult<>();
    createService(Service19.class).putWithHeaderApplicationJsonContentTypeAndStringBody("", new Callback<Response<HttpBinJSON>>() {

        @Override
        public void onSuccess(Response<HttpBinJSON> response) {
            cbResult.response = response;
            latch.countDown();
        }

        @Override
        public void onFailure(Throwable error) {
            cbResult.error = error;
            latch.countDown();
        }
    });
    awaitOnLatch(latch, "service19PutWithHeaderApplicationJsonContentTypeAndStringBodyWithEmptyBody");
    if (cbResult.error != null) {
        Assertions.fail(cbResult.error);
    } else {
        final Response<HttpBinJSON> response = cbResult.response;
        HttpBinJSON json = response.getValue();
        Assertions.assertNotNull(json);
        assertEquals("\"\"", json.data());
    }
}
Also used : Response(com.azure.android.core.rest.Response) StreamResponse(com.azure.android.core.rest.StreamResponse) CountDownLatch(java.util.concurrent.CountDownLatch) HttpBinJSON(com.azure.android.core.test.implementation.entities.HttpBinJSON) Test(org.junit.jupiter.api.Test)

Example 37 with HttpBinJSON

use of com.azure.android.core.test.implementation.entities.HttpBinJSON in project azure-sdk-for-android by Azure.

the class RestProxyTests method putRequestWithUnexpectedResponse.

// @Test
// public void putRequestWithBodyLessThanContentLength() {
// CountDownLatch latch = new CountDownLatch(1);
// CallbackResult<HttpBinJSON> cbResult = new CallbackResult<>();
// 
// final byte[] body = "test".getBytes(StandardCharsets.UTF_8);
// createService(Service9.class).putBodyAndContentLength(body, 5L,
// new Callback<Response<HttpBinJSON>>() {
// @Override
// public void onSuccess(Response<HttpBinJSON> response) {
// cbResult.response = response;
// latch.countDown();
// }
// 
// @Override
// public void onFailure(Throwable error) {
// cbResult.error = error;
// latch.countDown();
// }
// });
// 
// awaitOnLatch(latch, "putRequestWithBodyLessThanContentLength");
// 
// if (cbResult.error == null) {
// Assertions.fail();
// } else {
// final Throwable error = cbResult.error;
// Assertions.assertNotNull(error);
// Assertions.assertTrue(error instanceof UnexpectedLengthException);
// assertTrue(((UnexpectedLengthException) error).getMessage().contains("less than"));
// }
// }
// 
// @Test
// public void putRequestWithBodyMoreThanContentLength() {
// CountDownLatch latch = new CountDownLatch(1);
// CallbackResult<HttpBinJSON> cbResult = new CallbackResult<>();
// 
// final byte[] body = "test".getBytes(StandardCharsets.UTF_8);
// createService(Service9.class).putBodyAndContentLength(body, 3L,
// new Callback<Response<HttpBinJSON>>() {
// @Override
// public void onSuccess(Response<HttpBinJSON> response) {
// cbResult.response = response;
// latch.countDown();
// }
// 
// @Override
// public void onFailure(Throwable error) {
// cbResult.error = error;
// latch.countDown();
// }
// });
// 
// awaitOnLatch(latch, "putRequestWithBodyLessThanContentLength");
// 
// if (cbResult.error == null) {
// Assertions.fail();
// } else {
// final Throwable error = cbResult.error;
// Assertions.assertNotNull(error);
// Assertions.assertTrue(error instanceof UnexpectedLengthException);
// assertTrue(((UnexpectedLengthException) error).getMessage().contains("more than"));
// }
// }
@Test
public void putRequestWithUnexpectedResponse() {
    CountDownLatch latch = new CountDownLatch(1);
    CallbackResult<HttpBinJSON> cbResult = new CallbackResult<>();
    createService(Service9.class).putWithUnexpectedResponse("I'm the body!", new Callback<Response<HttpBinJSON>>() {

        @Override
        public void onSuccess(Response<HttpBinJSON> response) {
            cbResult.response = response;
            latch.countDown();
        }

        @Override
        public void onFailure(Throwable error) {
            cbResult.error = error;
            latch.countDown();
        }
    });
    awaitOnLatch(latch, "putRequestWithUnexpectedResponse");
    if (cbResult.response != null) {
        fail("Expected HttpResponseException would be thrown.");
    } else {
        Assertions.assertNotNull(cbResult.error);
        Assertions.assertTrue(cbResult.error instanceof HttpResponseException);
        HttpResponseException e = (HttpResponseException) cbResult.error;
        assertNotNull(e.getValue());
        assertTrue(e.getValue() instanceof LinkedHashMap);
        @SuppressWarnings("unchecked") final LinkedHashMap<String, String> expectedBody = (LinkedHashMap<String, String>) e.getValue();
        assertEquals("I'm the body!", expectedBody.get("data"));
    }
}
Also used : HttpResponseException(com.azure.android.core.http.exception.HttpResponseException) CountDownLatch(java.util.concurrent.CountDownLatch) LinkedHashMap(java.util.LinkedHashMap) Response(com.azure.android.core.rest.Response) StreamResponse(com.azure.android.core.rest.StreamResponse) HttpBinJSON(com.azure.android.core.test.implementation.entities.HttpBinJSON) Test(org.junit.jupiter.api.Test)

Example 38 with HttpBinJSON

use of com.azure.android.core.test.implementation.entities.HttpBinJSON in project azure-sdk-for-android by Azure.

the class RestProxyTests method service19PutWithNoContentTypeAndByteArrayBodyWithEmptyBody.

@Test
public void service19PutWithNoContentTypeAndByteArrayBodyWithEmptyBody() {
    CountDownLatch latch = new CountDownLatch(1);
    CallbackResult<HttpBinJSON> cbResult = new CallbackResult<>();
    createService(Service19.class).putWithNoContentTypeAndByteArrayBody(new byte[0], new Callback<Response<HttpBinJSON>>() {

        @Override
        public void onSuccess(Response<HttpBinJSON> response) {
            cbResult.response = response;
            latch.countDown();
        }

        @Override
        public void onFailure(Throwable error) {
            cbResult.error = error;
            latch.countDown();
        }
    });
    awaitOnLatch(latch, "service19PutWithNoContentTypeAndByteArrayBodyWithEmptyBody");
    if (cbResult.error != null) {
        Assertions.fail(cbResult.error);
    } else {
        final Response<HttpBinJSON> response = cbResult.response;
        HttpBinJSON json = response.getValue();
        Assertions.assertNotNull(json);
        assertEquals("", json.data());
    }
}
Also used : Response(com.azure.android.core.rest.Response) StreamResponse(com.azure.android.core.rest.StreamResponse) CountDownLatch(java.util.concurrent.CountDownLatch) HttpBinJSON(com.azure.android.core.test.implementation.entities.HttpBinJSON) Test(org.junit.jupiter.api.Test)

Example 39 with HttpBinJSON

use of com.azure.android.core.test.implementation.entities.HttpBinJSON in project azure-sdk-for-android by Azure.

the class RestProxyTests method getRequestWithAnythingWithPathParamWithPlus.

@Test
public void getRequestWithAnythingWithPathParamWithPlus() {
    CountDownLatch latch = new CountDownLatch(1);
    CallbackResult<HttpBinJSON> cbResult = new CallbackResult<>();
    createService(Service5.class).getAnythingWithPathParam("with+path+param", new Callback<Response<HttpBinJSON>>() {

        @Override
        public void onSuccess(Response<HttpBinJSON> response) {
            cbResult.response = response;
            latch.countDown();
        }

        @Override
        public void onFailure(Throwable error) {
            cbResult.error = error;
            latch.countDown();
        }
    });
    awaitOnLatch(latch, "getRequestWithAnythingWithPathParamWithPlus");
    if (cbResult.error != null) {
        Assertions.fail(cbResult.error);
    } else {
        final Response<HttpBinJSON> response = cbResult.response;
        Assertions.assertNotNull(response);
        HttpBinJSON json = response.getValue();
        assertNotNull(json);
        assertMatchWithHttpOrHttps("localhost/anything/with+path+param", json.url());
    }
}
Also used : Response(com.azure.android.core.rest.Response) StreamResponse(com.azure.android.core.rest.StreamResponse) CountDownLatch(java.util.concurrent.CountDownLatch) HttpBinJSON(com.azure.android.core.test.implementation.entities.HttpBinJSON) Test(org.junit.jupiter.api.Test)

Example 40 with HttpBinJSON

use of com.azure.android.core.test.implementation.entities.HttpBinJSON in project azure-sdk-for-android by Azure.

the class RestProxyTests method service19PutWithHeaderApplicationJsonContentTypeAndStringBodyWithNonEmptyBody.

@Test
public void service19PutWithHeaderApplicationJsonContentTypeAndStringBodyWithNonEmptyBody() {
    CountDownLatch latch = new CountDownLatch(1);
    CallbackResult<HttpBinJSON> cbResult = new CallbackResult<>();
    createService(Service19.class).putWithHeaderApplicationJsonContentTypeAndStringBody("soups and stuff", new Callback<Response<HttpBinJSON>>() {

        @Override
        public void onSuccess(Response<HttpBinJSON> response) {
            cbResult.response = response;
            latch.countDown();
        }

        @Override
        public void onFailure(Throwable error) {
            cbResult.error = error;
            latch.countDown();
        }
    });
    awaitOnLatch(latch, "service19PutWithHeaderApplicationJsonContentTypeAndStringBodyWithEmptyBody");
    if (cbResult.error != null) {
        Assertions.fail(cbResult.error);
    } else {
        final Response<HttpBinJSON> response = cbResult.response;
        HttpBinJSON json = response.getValue();
        Assertions.assertNotNull(json);
        assertEquals("\"soups and stuff\"", json.data());
    }
}
Also used : Response(com.azure.android.core.rest.Response) StreamResponse(com.azure.android.core.rest.StreamResponse) CountDownLatch(java.util.concurrent.CountDownLatch) HttpBinJSON(com.azure.android.core.test.implementation.entities.HttpBinJSON) Test(org.junit.jupiter.api.Test)

Aggregations

HttpBinJSON (com.azure.android.core.test.implementation.entities.HttpBinJSON)69 CountDownLatch (java.util.concurrent.CountDownLatch)68 Test (org.junit.jupiter.api.Test)68 Response (com.azure.android.core.rest.Response)67 StreamResponse (com.azure.android.core.rest.StreamResponse)67 HttpHeaders (com.azure.android.core.http.HttpHeaders)6 MyRestException (com.azure.android.core.test.MyRestException)3 LinkedHashMap (java.util.LinkedHashMap)3 HttpResponseException (com.azure.android.core.http.exception.HttpResponseException)2 HashMap (java.util.HashMap)2 HttpClient (com.azure.android.core.http.HttpClient)1 HttpPipeline (com.azure.android.core.http.HttpPipeline)1 HttpPipelineBuilder (com.azure.android.core.http.HttpPipelineBuilder)1 HttpResponse (com.azure.android.core.http.HttpResponse)1 HttpLogOptions (com.azure.android.core.http.policy.HttpLogOptions)1 HttpLoggingPolicy (com.azure.android.core.http.policy.HttpLoggingPolicy)1 PortPolicy (com.azure.android.core.http.policy.PortPolicy)1 ResponseBase (com.azure.android.core.rest.ResponseBase)1 HttpBinFormDataJSON (com.azure.android.core.test.implementation.entities.HttpBinFormDataJSON)1 HttpBinHeaders (com.azure.android.core.test.implementation.entities.HttpBinHeaders)1