diff --git a/apis/chef/src/main/java/org/jclouds/chef/test/TransientChefApi.java b/apis/chef/src/main/java/org/jclouds/chef/test/TransientChefApi.java deleted file mode 100644 index c2c5f1019d..0000000000 --- a/apis/chef/src/main/java/org/jclouds/chef/test/TransientChefApi.java +++ /dev/null @@ -1,387 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF 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.chef.test; - -import static com.google.common.base.Preconditions.checkNotNull; -import static com.google.common.base.Throwables.propagate; -import static com.google.common.collect.Iterables.transform; -import static com.google.common.collect.Sets.newLinkedHashSet; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.util.List; -import java.util.Set; - -import javax.inject.Inject; -import javax.inject.Named; -import javax.inject.Singleton; - -import org.jclouds.blobstore.config.LocalBlobStore; -import org.jclouds.blobstore.domain.Blob; -import org.jclouds.blobstore.domain.PageSet; -import org.jclouds.blobstore.domain.StorageMetadata; -import org.jclouds.chef.ChefApi; -import org.jclouds.chef.domain.Client; -import org.jclouds.chef.domain.CookbookDefinition; -import org.jclouds.chef.domain.CookbookVersion; -import org.jclouds.chef.domain.DatabagItem; -import org.jclouds.chef.domain.Environment; -import org.jclouds.chef.domain.Node; -import org.jclouds.chef.domain.Resource; -import org.jclouds.chef.domain.Role; -import org.jclouds.chef.domain.Sandbox; -import org.jclouds.chef.domain.SearchResult; -import org.jclouds.chef.domain.UploadSandbox; -import org.jclouds.chef.options.CreateClientOptions; -import org.jclouds.chef.options.SearchOptions; -import org.jclouds.io.Payload; -import org.jclouds.lifecycle.Closer; -import org.jclouds.util.Strings2; - -import com.google.common.base.Function; - -/** - * In-memory chef simulator. - */ -public class TransientChefApi implements ChefApi { - @Singleton - private static class StorageMetadataToName implements Function, Set> { - @Override - public Set apply(PageSet from) { - return newLinkedHashSet(transform(from, new Function() { - - @Override - public String apply(StorageMetadata from) { - return from.getName(); - } - })); - } - } - - @Singleton - private static class BlobToDatabagItem implements Function { - @Override - public DatabagItem apply(Blob from) { - try { - return from == null ? null : new DatabagItem(from.getMetadata().getName(), Strings2.toStringAndClose(from - .getPayload().getInput())); - } catch (IOException e) { - propagate(e); - return null; - } - } - } - - private final LocalBlobStore databags; - private final BlobToDatabagItem blobToDatabagItem; - private final StorageMetadataToName storageMetadataToName; - private final Closer closer; - - @Inject - TransientChefApi(@Named("databags") LocalBlobStore databags, StorageMetadataToName storageMetadataToName, - BlobToDatabagItem blobToDatabagItem, Closer closer) { - this.databags = checkNotNull(databags, "databags"); - this.storageMetadataToName = checkNotNull(storageMetadataToName, "storageMetadataToName"); - this.blobToDatabagItem = checkNotNull(blobToDatabagItem, "blobToDatabagItem"); - this.closer = checkNotNull(closer, "closer"); - } - - @Override - public Sandbox commitSandbox(String id, boolean isCompleted) { - throw new UnsupportedOperationException(); - } - - @Override - public Client createClient(String clientName) { - throw new UnsupportedOperationException(); - } - - @Override - public Client createClient(String clientName, CreateClientOptions options) { - throw new UnsupportedOperationException(); - } - - @Override - public void createDatabag(String databagName) { - databags.createContainerInLocation(null, databagName); - } - - @Override - public DatabagItem createDatabagItem(String databagName, DatabagItem databagItem) { - Blob blob = databags.blobBuilder(databagItem.getId()).payload(databagItem.toString()).build(); - databags.putBlob(databagName, blob); - return databagItem; - } - - @Override - public void createNode(Node node) { - throw new UnsupportedOperationException(); - } - - @Override - public void createRole(Role role) { - throw new UnsupportedOperationException(); - } - - @Override - public Client deleteClient(String clientName) { - throw new UnsupportedOperationException(); - } - - @Override - public CookbookVersion deleteCookbook(String cookbookName, String version) { - throw new UnsupportedOperationException(); - } - - @Override - public void deleteDatabag(String databagName) { - databags.deleteContainer(databagName); - } - - @Override - public DatabagItem deleteDatabagItem(String databagName, String databagItemId) { - DatabagItem item = blobToDatabagItem.apply(databags.getBlob(databagName, databagItemId)); - databags.removeBlob(databagName, databagItemId); - return item; - } - - @Override - public Node deleteNode(String nodeName) { - throw new UnsupportedOperationException(); - } - - @Override - public Role deleteRole(String rolename) { - throw new UnsupportedOperationException(); - } - - @Override - public Client generateKeyForClient(String clientName) { - throw new UnsupportedOperationException(); - } - - @Override - public Client getClient(String clientName) { - throw new UnsupportedOperationException(); - } - - @Override - public CookbookVersion getCookbook(String cookbookName, String version) { - throw new UnsupportedOperationException(); - } - - @Override - public DatabagItem getDatabagItem(String databagName, String databagItemId) { - return blobToDatabagItem.apply(databags.getBlob(databagName, databagItemId)); - } - - @Override - public Node getNode(String nodeName) { - throw new UnsupportedOperationException(); - } - - @Override - public Role getRole(String roleName) { - throw new UnsupportedOperationException(); - } - - @Override - public UploadSandbox createUploadSandboxForChecksums(Set> md5s) { - throw new UnsupportedOperationException(); - } - - @Override - public Set listVersionsOfCookbook(String cookbookName) { - throw new UnsupportedOperationException(); - } - - @Override - public Set listClients() { - throw new UnsupportedOperationException(); - } - - @Override - public Set listCookbooks() { - throw new UnsupportedOperationException(); - } - - @Override - public Set listDatabagItems(String databagName) { - return storageMetadataToName.apply(databags.list(databagName)); - } - - @Override - public Set listDatabags() { - return storageMetadataToName.apply(databags.list()); - } - - @Override - public Set listNodes() { - throw new UnsupportedOperationException(); - } - - @Override - public Set listRoles() { - throw new UnsupportedOperationException(); - } - - @Override - public Set listSearchIndexes() { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchClients() { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchClients(SearchOptions options) { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchDatabagItems(String databagName) { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchDatabagItems(String databagName, SearchOptions options) { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchNodes() { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchNodes(SearchOptions options) { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchRoles() { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchRoles(SearchOptions options) { - throw new UnsupportedOperationException(); - } - - @Override - public CookbookVersion updateCookbook(String cookbookName, String version, CookbookVersion cookbook) { - throw new UnsupportedOperationException(); - } - - @Override - public DatabagItem updateDatabagItem(String databagName, DatabagItem item) { - return createDatabagItem(databagName, item); - } - - @Override - public Node updateNode(Node node) { - throw new UnsupportedOperationException(); - } - - @Override - public Role updateRole(Role role) { - throw new UnsupportedOperationException(); - } - - @Override - public void uploadContent(URI location, Payload content) { - throw new UnsupportedOperationException(); - } - - @Override - public InputStream getResourceContents(Resource resource) { - throw new UnsupportedOperationException(); - } - - @Override - public Set listEnvironments() { - throw new UnsupportedOperationException(); - } - - @Override - public void createEnvironment(Environment environment) { - throw new UnsupportedOperationException(); - } - - @Override - public Environment deleteEnvironment(String environmentName) { - throw new UnsupportedOperationException(); - } - - @Override - public Environment getEnvironment(String environmentName) { - throw new UnsupportedOperationException(); - } - - @Override - public Environment updateEnvironment(Environment environment) { - throw new UnsupportedOperationException(); - } - - @Override - public Set listCookbooksInEnvironment(String environmentName) { - throw new UnsupportedOperationException(); - } - - @Override - public Set listCookbooksInEnvironment(String environmentName, String numVersions) { - throw new UnsupportedOperationException(); - } - - @Override - public CookbookDefinition getCookbookInEnvironment(String environmentName, String cookbookName) { - throw new UnsupportedOperationException(); - } - - @Override - public CookbookDefinition getCookbookInEnvironment(String environmentName, String cookbookName, String numVersions) { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchEnvironments() { - throw new UnsupportedOperationException(); - } - - @Override - public SearchResult searchEnvironments(SearchOptions options) { - throw new UnsupportedOperationException(); - } - - @Override - public Set listRecipesInEnvironment(String environmentName) { - throw new UnsupportedOperationException(); - } - - @Override - public Set listNodesInEnvironment(String environmentName) { - throw new UnsupportedOperationException(); - } - - @Override - public void close() throws IOException { - closer.close(); - } -} diff --git a/apis/chef/src/main/java/org/jclouds/chef/test/TransientChefApiMetadata.java b/apis/chef/src/main/java/org/jclouds/chef/test/TransientChefApiMetadata.java deleted file mode 100644 index c4850803bc..0000000000 --- a/apis/chef/src/main/java/org/jclouds/chef/test/TransientChefApiMetadata.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF 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.chef.test; - -import java.net.URI; - -import org.jclouds.chef.ChefApiMetadata; -import org.jclouds.chef.config.ChefBootstrapModule; -import org.jclouds.chef.config.ChefParserModule; -import org.jclouds.chef.test.config.TransientChefApiModule; -import org.jclouds.ohai.config.JMXOhaiModule; -import org.jclouds.rest.internal.BaseHttpApiMetadata; - -import com.google.common.collect.ImmutableSet; -import com.google.inject.Module; - -/** - * Implementation of {@link ApiMetadata} for the Amazon-specific Chef API - */ -public class TransientChefApiMetadata extends BaseHttpApiMetadata { - - @Override - public Builder toBuilder() { - return new Builder().fromApiMetadata(this); - } - - public TransientChefApiMetadata() { - this(new Builder()); - } - - protected TransientChefApiMetadata(Builder builder) { - super(builder); - } - - public static class Builder extends BaseHttpApiMetadata.Builder { - protected Builder() { - id("transientchef") - .name("In-memory Chef API") - .identityName("unused") - .defaultIdentity("api") - .documentation(URI.create("http://localhost")) - .defaultCredential( - "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAyb2ZJJqGm0KKR+8nfQJNsSd+F9tXNMV7CfOcW6jsqs8EZgiV\nR09hD1IYOj4YqM0qJONlgyg4xRWewdSG7QTPj1lJpVAida9sXy2+kzyagZA1Am0O\nZcbqb5hoeIDgcX+eDa79s0u0DomjcfO9EKhvHLBz+zM+3QqPRkPV8nYTbfs+HjVz\nzOU6D1B0XR3+IPZZl2AnWs2d0qhnStHcDUvnRVQ0P482YwN9VgceOZtpPz0DCKEJ\n5Tx5STub8k0/zt/VAMHQafLSuQMLd2s4ZLuOZptN//uAsTmxireqd37z+8ZTdBbJ\n8LEpJ+iCXuSfm5aUh7iw6oxvToY2AL53+jK2UQIDAQABAoIBAQDA88B3i/xWn0vX\nBVxFamCYoecuNjGwXXkSyZew616A+EOCu47bh4aTurdFbYL0YFaAtaWvzlaN2eHg\nDb+HDuTefE29+WkcGk6SshPmiz5T0XOCAICWw6wSVDkHmGwS4jZvbAFm7W8nwGk9\nYhxgxFiRngswJZFopOLoF5WXs2td8guIYNslMpo7tu50iFnBHwKO2ZsPAk8t9nnS\nxlDavKruymEmqHCr3+dtio5eaenJcp3fjoXBQOKUk3ipII29XRB8NqeCVV/7Kxwq\nckqOBEbRwBclckyIbD+RiAgKvOelORjEiE9R42vuqvxRA6k9kd9o7utlX0AUtpEn\n3gZc6LepAoGBAP9ael5Y75+sK2JJUNOOhO8ae45cdsilp2yI0X+UBaSuQs2+dyPp\nkpEHAxd4pmmSvn/8c9TlEZhr+qYbABXVPlDncxpIuw2Ajbk7s/S4XaSKsRqpXL57\nzj/QOqLkRk8+OVV9q6lMeQNqLtEj1u6JPviX70Ro+FQtRttNOYbfdP/fAoGBAMpA\nXjR5woV5sUb+REg9vEuYo8RSyOarxqKFCIXVUNsLOx+22+AK4+CQpbueWN7jotrl\nYD6uT6svWi3AAC7kiY0UI/fjVPRCUi8tVoQUE0TaU5VLITaYOB+W/bBaDE4M9560\n1NuDWO90baA5dfU44iuzva02rGJXK9+nS3o8nk/PAoGBALOL6djnDe4mwAaG6Jco\ncd4xr8jkyPzCRZuyBCSBbwphIUXLc7hDprPky064ncJD1UDmwIdkXd/fpMkg2QmA\n/CUk6LEFjMisqHojOaCL9gQZJPhLN5QUN2x1PJWGjs1vQh8Tkx0iUUCOa8bQPXNR\n+34OTsW6TUna4CSZAycLfhffAoGBAIggVsefBCvuQkF0NeUhmDCRZfhnd8y55RHR\n1HCvqKIlpv+rhcX/zmyBLuteopYyRJRsOiE2FW00i8+rIPRu4Z3Q5nybx7w3PzV9\noHN5R5baE9OyI4KpZWztpYYitZF67NcnAvVULHHOvVJQGnKYfLHJYmrJF7GA1ojM\nAuMdFbjFAoGAPxUhxwFy8gaqBahKUEZn4F81HFP5ihGhkT4QL6AFPO2e+JhIGjuR\n27+85hcFqQ+HHVtFsm81b/a+R7P4UuCRgc8eCjxQMoJ1Xl4n7VbjPbHMnIN0Ryvd\nO4ZpWDWYnCO021JTOUUOJ4J/y0416Bvkw0z59y7sNX7wDBBHHbK/XCc=\n-----END RSA PRIVATE KEY-----\n") - .defaultEndpoint("transientchef") - .defaultProperties(ChefApiMetadata.defaultProperties()) - .defaultModules( - ImmutableSet.> of(TransientChefApiModule.class, ChefParserModule.class, - ChefBootstrapModule.class, JMXOhaiModule.class)); - } - - @Override - public TransientChefApiMetadata build() { - return new TransientChefApiMetadata(this); - } - - @Override - protected Builder self() { - return this; - } - } -} diff --git a/apis/chef/src/main/java/org/jclouds/chef/test/config/TransientChefApiModule.java b/apis/chef/src/main/java/org/jclouds/chef/test/config/TransientChefApiModule.java deleted file mode 100644 index bab35d0f9b..0000000000 --- a/apis/chef/src/main/java/org/jclouds/chef/test/config/TransientChefApiModule.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF 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.chef.test.config; - -import static com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor; - -import java.io.IOException; -import java.security.PrivateKey; -import java.security.spec.InvalidKeySpecException; -import java.util.List; - -import javax.inject.Singleton; - -import org.jclouds.ContextBuilder; -import org.jclouds.blobstore.TransientApiMetadata; -import org.jclouds.blobstore.config.LocalBlobStore; -import org.jclouds.chef.ChefApi; -import org.jclouds.chef.config.Validator; -import org.jclouds.chef.domain.Client; -import org.jclouds.chef.functions.BootstrapConfigForGroup; -import org.jclouds.chef.functions.ClientForGroup; -import org.jclouds.chef.functions.RunListForGroup; -import org.jclouds.chef.test.TransientChefApi; -import org.jclouds.concurrent.config.ExecutorServiceModule; -import org.jclouds.crypto.Crypto; -import org.jclouds.domain.JsonBall; -import org.jclouds.rest.ConfiguresHttpApi; -import org.jclouds.rest.config.RestModule; - -import com.google.common.base.Optional; -import com.google.common.base.Supplier; -import com.google.common.cache.CacheLoader; -import com.google.common.collect.ImmutableSet; -import com.google.inject.AbstractModule; -import com.google.inject.Injector; -import com.google.inject.Module; -import com.google.inject.Provides; -import com.google.inject.name.Names; - -@ConfiguresHttpApi -public class TransientChefApiModule extends AbstractModule { - - @Override - protected void configure() { - install(new RestModule()); - bind(ChefApi.class).to(TransientChefApi.class); - bind(LocalBlobStore.class).annotatedWith(Names.named("databags")) - .toInstance( - ContextBuilder - .newBuilder(new TransientApiMetadata()) - .modules( - ImmutableSet. of(new ExecutorServiceModule(sameThreadExecutor(), - sameThreadExecutor()))).buildInjector().getInstance(LocalBlobStore.class)); - } - - @Provides - @Singleton - public Supplier supplyKey() { - return new Supplier() { - @Override - public PrivateKey get() { - return null; - } - }; - } - - @Provides - @Singleton - CacheLoader> runListForGroup(RunListForGroup runListForGroup) { - return CacheLoader.from(runListForGroup); - } - - @Provides - @Singleton - CacheLoader bootstrapConfigForGroup(BootstrapConfigForGroup bootstrapConfigForGroup) { - return CacheLoader.from(bootstrapConfigForGroup); - } - - @Provides - @Singleton - CacheLoader groupToClient(ClientForGroup clientForGroup) { - return CacheLoader.from(clientForGroup); - } - - @Provides - @Singleton - @Validator - public Optional provideValidatorName(Injector injector) { - return Optional.absent(); - } - - @Provides - @Singleton - @Validator - public Optional provideValidatorCredential(Crypto crypto, Injector injector) - throws InvalidKeySpecException, IOException { - return Optional.absent(); - } - -} diff --git a/apis/chef/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata b/apis/chef/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata index 07e32402e4..c7a6f4e18a 100644 --- a/apis/chef/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata +++ b/apis/chef/src/main/resources/META-INF/services/org.jclouds.apis.ApiMetadata @@ -1,2 +1 @@ -org.jclouds.chef.test.TransientChefApiMetadata org.jclouds.chef.ChefApiMetadata \ No newline at end of file diff --git a/apis/chef/src/test/java/org/jclouds/chef/test/TransientChefApiIntegrationTest.java b/apis/chef/src/test/java/org/jclouds/chef/test/TransientChefApiIntegrationTest.java deleted file mode 100644 index ecd5d16546..0000000000 --- a/apis/chef/src/test/java/org/jclouds/chef/test/TransientChefApiIntegrationTest.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF 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.chef.test; - -import static org.testng.Assert.assertEquals; -import static org.testng.Assert.assertNotNull; - -import java.util.Properties; - -import org.jclouds.chef.ChefApi; -import org.jclouds.chef.domain.DatabagItem; -import org.jclouds.chef.internal.BaseChefLiveTest; -import org.testng.annotations.Test; - -/** - * Tests behavior of {@code TransientChefApi} - */ -@Test(groups = { "integration" }) -public class TransientChefApiIntegrationTest extends BaseChefLiveTest { - public static final String PREFIX = System.getProperty("user.name") + "-jcloudstest"; - private DatabagItem databagItem; - - public TransientChefApiIntegrationTest() { - provider = "transientchef"; - } - - @Override - protected Properties setupProperties() { - return new Properties(); - } - - public void testCreateDatabag() { - api.deleteDatabag(PREFIX); - api.createDatabag(PREFIX); - } - - @Test(dependsOnMethods = { "testCreateDatabag" }) - public void testCreateDatabagItem() { - Properties config = new Properties(); - config.setProperty("foo", "bar"); - databagItem = api.createDatabagItem(PREFIX, new DatabagItem("config", json.toJson(config))); - assertNotNull(databagItem); - assertEquals(databagItem.getId(), "config"); - assertEquals(config, json.fromJson(databagItem.toString(), Properties.class)); - } - - @Test(dependsOnMethods = "testCreateDatabagItem") - public void testUpdateDatabagItem() { - for (String databagItemId : api.listDatabagItems(PREFIX)) { - DatabagItem databagItem = api.getDatabagItem(PREFIX, databagItemId); - api.updateDatabagItem(PREFIX, databagItem); - } - } - -} diff --git a/apis/chef/src/test/java/org/jclouds/chef/test/TransientChefApiMetadataTest.java b/apis/chef/src/test/java/org/jclouds/chef/test/TransientChefApiMetadataTest.java deleted file mode 100644 index eac33f3880..0000000000 --- a/apis/chef/src/test/java/org/jclouds/chef/test/TransientChefApiMetadataTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF 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.chef.test; - -import org.jclouds.View; -import org.jclouds.rest.internal.BaseHttpApiMetadataTest; -import org.testng.annotations.Test; - -import com.google.common.collect.ImmutableSet; -import com.google.common.reflect.TypeToken; - -@Test(groups = "unit", testName = "TransientChefApiMetadataTest") -public class TransientChefApiMetadataTest extends BaseHttpApiMetadataTest { - - // no config management abstraction, yet - public TransientChefApiMetadataTest() { - super(new TransientChefApiMetadata(), ImmutableSet.> of()); - } -}