state/remote: The "gcs" client has been superseeded by the "gcs" backend.
This commit is contained in:
parent
91b1a39a40
commit
b09f121f86
|
@ -1,69 +0,0 @@
|
||||||
package remote
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"os"
|
|
||||||
"testing"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
storage "google.golang.org/api/storage/v1"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestGCSClient_impl(t *testing.T) {
|
|
||||||
var _ Client = new(GCSClient)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestGCSClient(t *testing.T) {
|
|
||||||
// This test creates a bucket in GCS and populates it.
|
|
||||||
// It may incur costs, so it will only run if GCS credential environment
|
|
||||||
// variables are present.
|
|
||||||
|
|
||||||
projectID := os.Getenv("GOOGLE_PROJECT")
|
|
||||||
if projectID == "" {
|
|
||||||
t.Skipf("skipping; GOOGLE_PROJECT must be set")
|
|
||||||
}
|
|
||||||
|
|
||||||
bucketName := fmt.Sprintf("terraform-remote-gcs-test-%x", time.Now().Unix())
|
|
||||||
keyName := "testState"
|
|
||||||
testData := []byte(`testing data`)
|
|
||||||
|
|
||||||
config := make(map[string]string)
|
|
||||||
config["bucket"] = bucketName
|
|
||||||
config["path"] = keyName
|
|
||||||
|
|
||||||
client, err := gcsFactory(config)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Error for valid config: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
gcsClient := client.(*GCSClient)
|
|
||||||
nativeClient := gcsClient.clientStorage
|
|
||||||
|
|
||||||
// Be clear about what we're doing in case the user needs to clean
|
|
||||||
// this up later.
|
|
||||||
if _, err := nativeClient.Buckets.Get(bucketName).Do(); err == nil {
|
|
||||||
fmt.Printf("Bucket %s already exists - skipping buckets.insert call.", bucketName)
|
|
||||||
} else {
|
|
||||||
// Create a bucket.
|
|
||||||
if res, err := nativeClient.Buckets.Insert(projectID, &storage.Bucket{Name: bucketName}).Do(); err == nil {
|
|
||||||
fmt.Printf("Created bucket %v at location %v\n\n", res.Name, res.SelfLink)
|
|
||||||
} else {
|
|
||||||
t.Skipf("Failed to create test GCS bucket, so skipping")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ensure we can perform a PUT request with the encryption header
|
|
||||||
err = gcsClient.Put(testData)
|
|
||||||
if err != nil {
|
|
||||||
t.Logf("WARNING: Failed to send test data to GCS bucket. (error was %s)", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
defer func() {
|
|
||||||
// Delete the test bucket in the project
|
|
||||||
if err := gcsClient.clientStorage.Buckets.Delete(bucketName).Do(); err != nil {
|
|
||||||
t.Logf("WARNING: Failed to delete the test GCS bucket. It has been left in your GCE account and may incur storage charges. (error was %s)", err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
testClient(t, client)
|
|
||||||
}
|
|
|
@ -47,7 +47,6 @@ func NewClient(t string, conf map[string]string) (Client, error) {
|
||||||
var BuiltinClients = map[string]Factory{
|
var BuiltinClients = map[string]Factory{
|
||||||
"artifactory": artifactoryFactory,
|
"artifactory": artifactoryFactory,
|
||||||
"etcd": etcdFactory,
|
"etcd": etcdFactory,
|
||||||
"gcs": gcsFactory,
|
|
||||||
"http": httpFactory,
|
"http": httpFactory,
|
||||||
"local": fileFactory,
|
"local": fileFactory,
|
||||||
"manta": mantaFactory,
|
"manta": mantaFactory,
|
||||||
|
|
Loading…
Reference in New Issue