@BeforeTest void setUp() { goodMeta = ImmutableMap.of(USER_METADATA_PREFIX + "adrian", "foo"); Date date = new Date(); nowExpected = new SimpleDateFormatDateService().rfc822DateFormat(date); now = new SimpleDateFormatDateService().rfc822DateParse(nowExpected); etag = "mama"; }
@BeforeTest void setUp() { goodMeta = ImmutableMap.of(USER_METADATA_PREFIX + "adrian", "foo"); Date date = new Date(); nowExpected = new SimpleDateFormatDateService().rfc822DateFormat(date); now = new SimpleDateFormatDateService().rfc822DateParse(nowExpected); etag = "mama"; }
@Test public void testSetLastModified() { HttpResponse from = HttpResponse.builder() .statusCode(200).message("ok") .payload("") .addHeader(HttpHeaders.LAST_MODIFIED, "Wed, 09 Sep 2009 19:50:23 GMT").build(); MutableBlobMetadata metadata = blobMetadataProvider.get(); parser.parseLastModifiedOrThrowException(from, metadata); assertEquals(metadata.getLastModified(), new SimpleDateFormatDateService() .rfc822DateParse("Wed, 09 Sep 2009 19:50:23 GMT")); }
@Test public void testSetLastModified() { HttpResponse from = HttpResponse.builder() .statusCode(200).message("ok") .payload("") .addHeader(HttpHeaders.LAST_MODIFIED, "Wed, 09 Sep 2009 19:50:23 GMT").build(); MutableBlobMetadata metadata = blobMetadataProvider.get(); parser.parseLastModifiedOrThrowException(from, metadata); assertEquals(metadata.getLastModified(), new SimpleDateFormatDateService() .rfc822DateParse("Wed, 09 Sep 2009 19:50:23 GMT")); }
public void testGet() throws Exception { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders(objectResponse() // note silly casing .addHeader(OBJECT_METADATA_PREFIX + "Apiname", "swift") .addHeader(OBJECT_METADATA_PREFIX + "Apiversion", "v1.1"))); try { SwiftApi api = api(server.getUrl("/").toString(), "openstack-swift"); SwiftObject object = api.getObjectApi("DFW", "myContainer").get("myObject", tail(1)); assertEquals(object.getName(), "myObject"); assertEquals(object.getETag(), "8a964ee2a5e88be344f36c22562a6486"); assertEquals(object.getLastModified(), dates.rfc822DateParse("Fri, 12 Jun 2010 13:40:18 GMT")); for (Entry<String, String> entry : object.getMetadata().entrySet()) { assertEquals(object.getMetadata().get(entry.getKey().toLowerCase()), entry.getValue()); } Payload payload = object.getPayload(); assertEquals(payload.getContentMetadata().getContentLength(), Long.valueOf(4)); assertEquals(payload.getContentMetadata().getContentType(), "text/plain; charset=UTF-8"); assertEquals(payload.getContentMetadata().getExpires(), dates.rfc822DateParse("Wed, 23 Jul 2014 14:00:00 GMT")); assertEquals(toStringAndClose(payload.openStream()), "ABCD"); assertEquals(server.getRequestCount(), 2); assertEquals(server.takeRequest().getRequestLine(), "POST /tokens HTTP/1.1"); RecordedRequest get = server.takeRequest(); assertEquals(get.getRequestLine(), "GET /v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/myContainer/myObject HTTP/1.1"); } finally { server.shutdown(); } }
/** upper-cases first char, and lower-cases rest!! **/ public void testGetWithoutKnowingServerMessesWithMetadataKeyCaseFormat() throws Exception { MockWebServer server = mockOpenStackServer(); server.enqueue(addCommonHeaders(new MockResponse().setBody(stringFromResource("/access.json")))); server.enqueue(addCommonHeaders(objectResponse() // note silly casing .addHeader(OBJECT_METADATA_PREFIX + "Apiname", "swift") .addHeader(OBJECT_METADATA_PREFIX + "Apiversion", "v1.1"))); try { SwiftApi api = api(server.getUrl("/").toString(), "openstack-swift"); SwiftObject object = api.getObjectApi("DFW", "myContainer").getWithoutBody("myObject"); assertEquals(object.getName(), "myObject"); assertEquals(object.getETag(), "8a964ee2a5e88be344f36c22562a6486"); // Check MD5 is parsed from the ETag header. assertEquals(base16().lowerCase().decode(object.getETag()), object.getPayload().getContentMetadata().getContentMD5AsHashCode().asBytes()); assertEquals(object.getLastModified(), dates.rfc822DateParse("Fri, 12 Jun 2010 13:40:18 GMT")); for (Entry<String, String> entry : object.getMetadata().entrySet()) { assertEquals(object.getMetadata().get(entry.getKey().toLowerCase()), entry.getValue()); } assertEquals(object.getPayload().getContentMetadata().getContentType(), "text/plain; charset=UTF-8"); assertEquals(toStringAndClose(object.getPayload().openStream()), ""); assertEquals(server.getRequestCount(), 2); assertAuthentication(server); assertRequest(server.takeRequest(), "HEAD", "/v1/MossoCloudFS_5bcf396e-39dd-45ff-93a1-712b9aba90a9/myContainer/myObject"); } finally { server.shutdown(); } }