summaryrefslogtreecommitdiffstats
path: root/clustercontroller-utils/src/test/java/com/yahoo/vespa/clustercontroller/utils/communication/http/AsyncHttpClientWithBaseTest.java
diff options
context:
space:
mode:
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.java49
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) {
+ }
+ }
+}