You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by za...@apache.org on 2014/05/15 18:40:11 UTC

git commit: Adds a test making sure swift calls will timeout with the right settings.

Repository: jclouds-labs-openstack
Updated Branches:
  refs/heads/master 762899a0e -> f729f5ead


Adds a test making sure swift calls will timeout with the right settings.


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/commit/f729f5ea
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/tree/f729f5ea
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/diff/f729f5ea

Branch: refs/heads/master
Commit: f729f5eadb170fb7bd3a9280909d5f569eda3954
Parents: 762899a
Author: Zack Shoylev <za...@rackspace.com>
Authored: Wed May 14 15:33:07 2014 -0500
Committer: Zack Shoylev <za...@rackspace.com>
Committed: Thu May 15 11:37:25 2014 -0500

----------------------------------------------------------------------
 .../swift/v1/features/ObjectApiMockTest.java    | 29 ++++++++++++++++++++
 1 file changed, 29 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs-openstack/blob/f729f5ea/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java
----------------------------------------------------------------------
diff --git a/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java b/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java
index 276a5e0..dc9f2fa 100644
--- a/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java
+++ b/openstack-swift/src/test/java/org/jclouds/openstack/swift/v1/features/ObjectApiMockTest.java
@@ -18,6 +18,9 @@ package org.jclouds.openstack.swift.v1.features;
 
 import static com.google.common.base.Charsets.US_ASCII;
 import static com.google.common.net.HttpHeaders.RANGE;
+import static org.jclouds.Constants.PROPERTY_MAX_RETRIES;
+import static org.jclouds.Constants.PROPERTY_RETRY_DELAY_START;
+import static org.jclouds.Constants.PROPERTY_SO_TIMEOUT;
 import static org.jclouds.http.options.GetOptions.Builder.tail;
 import static org.jclouds.io.Payloads.newStringPayload;
 import static org.jclouds.openstack.swift.v1.features.ContainerApiMockTest.containerResponse;
@@ -28,13 +31,16 @@ import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.OBJECT_METAD
 import static org.jclouds.openstack.swift.v1.reference.SwiftHeaders.OBJECT_REMOVE_METADATA_PREFIX;
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.fail;
 
 import java.io.IOException;
 import java.net.URI;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Properties;
 
 import org.jclouds.date.internal.SimpleDateFormatDateService;
+import org.jclouds.http.HttpResponseException;
 import org.jclouds.io.Payload;
 import org.jclouds.io.Payloads;
 import org.jclouds.openstack.swift.v1.CopyObjectException;
@@ -232,6 +238,29 @@ public class ObjectApiMockTest extends BaseOpenStackMockTest<SwiftApi> {
       }
    }
 
+   @Test(expectedExceptions = HttpResponseException.class, timeOut = 20000)
+   public void testReplaceTimeout() throws Exception {
+      MockWebServer server = mockOpenStackServer();
+      server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));
+      // Typically we would enqueue a response for the put. However, in this case, test the timeout by not providing one.
+
+      try {
+         Properties overrides = new Properties();
+
+         overrides.setProperty(PROPERTY_SO_TIMEOUT, 5000 + ""); // This time-outs the connection
+         overrides.setProperty(PROPERTY_MAX_RETRIES, 0 + ""); // 0 retries == 1 try. Semantics.
+         overrides.setProperty(PROPERTY_RETRY_DELAY_START, 0 + ""); // exponential backoff already working for this call. This is the delay BETWEEN attempts.
+
+         final SwiftApi api = api(server.getUrl("/").toString(), "openstack-swift", overrides);
+
+         String result = api.objectApiInRegionForContainer("DFW", "myContainer").replace("myObject", newStringPayload("swifty"), metadata);
+
+         fail("testReplaceTimeout test should have failed with an HttpResponseException.");
+      } finally {
+         server.shutdown();
+      }
+   }
+
    public void updateMetadata() throws Exception {
       MockWebServer server = mockOpenStackServer();
       server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json"))));