test locks in non-default workspace

This commit is contained in:
Sean Teeling 2020-10-13 08:18:54 -07:00
parent e1f1b84d67
commit 7d6ec431d2
2 changed files with 26 additions and 0 deletions

View File

@ -258,6 +258,9 @@ func TestBackendAccessKeyLocked(t *testing.T) {
backend.TestBackendStateLocks(t, b1, b2)
backend.TestBackendStateForceUnlock(t, b1, b2)
backend.TestBackendStateLocksInWS(t, b1, b2, "foo")
backend.TestBackendStateForceUnlockInWS(t, b1, b2, "foo")
}
func TestBackendServicePrincipalLocked(t *testing.T) {
@ -301,4 +304,7 @@ func TestBackendServicePrincipalLocked(t *testing.T) {
backend.TestBackendStateLocks(t, b1, b2)
backend.TestBackendStateForceUnlock(t, b1, b2)
backend.TestBackendStateLocksInWS(t, b1, b2, "foo")
backend.TestBackendStateForceUnlockInWS(t, b1, b2, "foo")
}

View File

@ -279,7 +279,27 @@ func TestBackendStateForceUnlock(t *testing.T, b1, b2 Backend) {
testLocks(t, b1, b2, true)
}
// TestBackendStateLocksInWS will test the locking functionality of the remote
// state backend.
func TestBackendStateLocksInWS(t *testing.T, b1, b2 Backend, ws string) {
t.Helper()
testLocksInWorkspace(t, b1, b2, false, ws)
}
// TestBackendStateForceUnlockInWS verifies that the lock error is the expected
// type, and the lock can be unlocked using the ID reported in the error.
// Remote state backends that support -force-unlock should call this in at
// least one of the acceptance tests.
func TestBackendStateForceUnlockInWS(t *testing.T, b1, b2 Backend, ws string) {
t.Helper()
testLocksInWorkspace(t, b1, b2, true, ws)
}
func testLocks(t *testing.T, b1, b2 Backend, testForceUnlock bool) {
testLocksInWorkspace(t, b1, b2, testForceUnlock, DefaultStateName)
}
func testLocksInWorkspace(t *testing.T, b1, b2 Backend, testForceUnlock bool, workspace string) {
t.Helper()
// Get the default state for each