diff options
Diffstat (limited to 'clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/communication/http/AsyncHttpClientWithBaseTest.java')
-rw-r--r-- | clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/communication/http/AsyncHttpClientWithBaseTest.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/communication/http/AsyncHttpClientWithBaseTest.java b/clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/communication/http/AsyncHttpClientWithBaseTest.java new file mode 100644 index 00000000000..d8e3983cd32 --- /dev/null +++ b/clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/communication/http/AsyncHttpClientWithBaseTest.java @@ -0,0 +1,49 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.clustercontroller.utils.communication.http; + +import com.yahoo.vespa.clustercontroller.utils.communication.async.AsyncOperation; +import com.yahoo.vespa.clustercontroller.utils.communication.async.AsyncOperationImpl; +import junit.framework.TestCase; + +public class AsyncHttpClientWithBaseTest extends TestCase { + + public void testOverride() { + class HttpClient implements AsyncHttpClient<HttpResult> { + HttpRequest lastRequest; + @Override + public AsyncOperation<HttpResult> execute(HttpRequest r) { + lastRequest = r; + return new AsyncOperationImpl<>("test"); + } + @Override + public void close() { + } + } + + HttpClient client = new HttpClient(); + AsyncHttpClientWithBase<HttpResult> base = new AsyncHttpClientWithBase<>(client); + // No override by default + HttpRequest r = new HttpRequest().setPath("/foo").setHost("bar").setPort(50); + base.execute(r); + assertEquals(client.lastRequest, r); + // Base request always set + base.setHttpRequestBase(null); + base.execute(r); + assertEquals(client.lastRequest, r); + // Set an override + base.setHttpRequestBase(new HttpRequest().setHttpOperation(HttpRequest.HttpOp.DELETE)); + base.execute(r); + assertNotSame(client.lastRequest, r); + assertEquals(HttpRequest.HttpOp.DELETE, client.lastRequest.getHttpOperation()); + + base.close(); + } + + public void testClientMustBeSet() { + try{ + new AsyncHttpClientWithBase<HttpResult>(null); + assertTrue(false); + } catch (IllegalArgumentException e) { + } + } +} |