github.com/muratcelep/terraform@v1.1.0-beta2-not-internal-4/not-internal/cloud/backend_state_test.go (about) 1 package cloud 2 3 import ( 4 "bytes" 5 "os" 6 "testing" 7 8 "github.com/muratcelep/terraform/not-internal/states" 9 "github.com/muratcelep/terraform/not-internal/states/remote" 10 "github.com/muratcelep/terraform/not-internal/states/statefile" 11 ) 12 13 func TestRemoteClient_impl(t *testing.T) { 14 var _ remote.Client = new(remoteClient) 15 } 16 17 func TestRemoteClient(t *testing.T) { 18 client := testRemoteClient(t) 19 remote.TestClient(t, client) 20 } 21 22 func TestRemoteClient_stateLock(t *testing.T) { 23 b, bCleanup := testBackendWithName(t) 24 defer bCleanup() 25 26 s1, err := b.StateMgr(testBackendSingleWorkspaceName) 27 if err != nil { 28 t.Fatalf("expected no error, got %v", err) 29 } 30 31 s2, err := b.StateMgr(testBackendSingleWorkspaceName) 32 if err != nil { 33 t.Fatalf("expected no error, got %v", err) 34 } 35 36 remote.TestRemoteLocks(t, s1.(*remote.State).Client, s2.(*remote.State).Client) 37 } 38 39 func TestRemoteClient_withRunID(t *testing.T) { 40 // Set the TFE_RUN_ID environment variable before creating the client! 41 if err := os.Setenv("TFE_RUN_ID", GenerateID("run-")); err != nil { 42 t.Fatalf("error setting env var TFE_RUN_ID: %v", err) 43 } 44 45 // Create a new test client. 46 client := testRemoteClient(t) 47 48 // Create a new empty state. 49 sf := statefile.New(states.NewState(), "", 0) 50 var buf bytes.Buffer 51 statefile.Write(sf, &buf) 52 53 // Store the new state to verify (this will be done 54 // by the mock that is used) that the run ID is set. 55 if err := client.Put(buf.Bytes()); err != nil { 56 t.Fatalf("expected no error, got %v", err) 57 } 58 }