mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-06-19 11:44:20 -04:00
Terraform: Only rollback after we fully created the workspace
This commit is contained in:
parent
19fb6f1233
commit
e1d8926395
8 changed files with 178 additions and 60 deletions
|
@ -61,13 +61,15 @@ func TestRollbackQEMU(t *testing.T) {
|
|||
someErr := errors.New("failed")
|
||||
|
||||
testCases := map[string]struct {
|
||||
libvirt *stubLibvirtRunner
|
||||
tfClient *stubTerraformClient
|
||||
wantErr bool
|
||||
libvirt *stubLibvirtRunner
|
||||
tfClient *stubTerraformClient
|
||||
createdWorkspace bool
|
||||
wantErr bool
|
||||
}{
|
||||
"success": {
|
||||
libvirt: &stubLibvirtRunner{},
|
||||
tfClient: &stubTerraformClient{},
|
||||
libvirt: &stubLibvirtRunner{},
|
||||
tfClient: &stubTerraformClient{},
|
||||
createdWorkspace: true,
|
||||
},
|
||||
"stop libvirt error": {
|
||||
libvirt: &stubLibvirtRunner{stopErr: someErr},
|
||||
|
@ -91,8 +93,9 @@ func TestRollbackQEMU(t *testing.T) {
|
|||
assert := assert.New(t)
|
||||
|
||||
rollbacker := &rollbackerQEMU{
|
||||
libvirt: tc.libvirt,
|
||||
client: tc.tfClient,
|
||||
libvirt: tc.libvirt,
|
||||
client: tc.tfClient,
|
||||
createdWorkspace: tc.createdWorkspace,
|
||||
}
|
||||
|
||||
err := rollbacker.rollback(context.Background())
|
||||
|
@ -105,7 +108,11 @@ func TestRollbackQEMU(t *testing.T) {
|
|||
}
|
||||
assert.NoError(err)
|
||||
assert.True(tc.libvirt.stopCalled)
|
||||
assert.True(tc.tfClient.destroyClusterCalled)
|
||||
if tc.createdWorkspace {
|
||||
assert.True(tc.tfClient.destroyClusterCalled)
|
||||
} else {
|
||||
assert.False(tc.tfClient.destroyClusterCalled)
|
||||
}
|
||||
assert.True(tc.tfClient.cleanUpWorkspaceCalled)
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue