diff --git a/apis/s3/src/test/java/org/jclouds/s3/internal/BaseS3ClientExpectTest.java b/apis/s3/src/test/java/org/jclouds/s3/internal/BaseS3ClientExpectTest.java new file mode 100644 index 0000000000..57318b55d6 --- /dev/null +++ b/apis/s3/src/test/java/org/jclouds/s3/internal/BaseS3ClientExpectTest.java @@ -0,0 +1,75 @@ +/** + * Licensed to jclouds, Inc. (jclouds) under one or more + * contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. jclouds licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.jclouds.s3.internal; + +import java.util.Properties; + +import org.jclouds.date.TimeStamp; +import org.jclouds.http.RequiresHttp; +import org.jclouds.rest.BaseRestClientExpectTest; +import org.jclouds.rest.ConfiguresRestClient; +import org.jclouds.s3.S3AsyncClient; +import org.jclouds.s3.S3Client; +import org.jclouds.s3.S3ContextBuilder; +import org.jclouds.s3.S3PropertiesBuilder; +import org.jclouds.s3.config.S3RestClientModule; + +import com.google.common.base.Supplier; +import com.google.inject.Module; + +/** + * + * @author Adrian Cole + */ +public abstract class BaseS3ClientExpectTest extends BaseRestClientExpectTest { + + protected static final String CONSTANT_DATE = "2009-11-08T15:54:08.897Z"; + + public BaseS3ClientExpectTest() { + provider = "s3"; + } + + @Override + protected Properties setupRestProperties() { + Properties overrides = new Properties(); + overrides.setProperty(provider + ".endpoint", "https://s3.amazonaws.com"); + overrides.setProperty(provider + ".propertiesbuilder", S3PropertiesBuilder.class.getName()); + overrides.setProperty(provider + ".contextbuilder", S3ContextBuilder.class.getName()); + return overrides; + } + + @RequiresHttp + @ConfiguresRestClient + private static final class TestS3RestClientModule extends S3RestClientModule { + + public TestS3RestClientModule() { + super(S3Client.class, S3AsyncClient.class); + } + + @Override + protected String provideTimeStamp(@TimeStamp Supplier cache) { + return CONSTANT_DATE; + } + } + + @Override + protected Module createModule() { + return new TestS3RestClientModule(); + } +} \ No newline at end of file