deleteDevWorkspace forces a DevWorkspace to be deleted by removing all finalizers
(name string)
| 94 | |
| 95 | // deleteDevWorkspace forces a DevWorkspace to be deleted by removing all finalizers |
| 96 | func deleteDevWorkspace(name string) { |
| 97 | dwNN := namespacedName(name, testNamespace) |
| 98 | dw := &dw.DevWorkspace{} |
| 99 | dw.Name = name |
| 100 | dw.Namespace = testNamespace |
| 101 | // Do nothing if already deleted |
| 102 | err := k8sClient.Delete(ctx, dw) |
| 103 | if k8sErrors.IsNotFound(err) { |
| 104 | return |
| 105 | } |
| 106 | Expect(err).Should(BeNil()) |
| 107 | err = k8sClient.Get(ctx, dwNN, dw) |
| 108 | if err != nil { |
| 109 | Expect(k8sErrors.IsNotFound(err)).Should(BeTrue(), "Unexpected error when deleting DevWorkspace: %s", err) |
| 110 | return |
| 111 | } |
| 112 | isNotFound := false |
| 113 | Eventually(func() error { |
| 114 | err := k8sClient.Get(ctx, dwNN, dw) |
| 115 | if err != nil { |
| 116 | if k8sErrors.IsNotFound(err) { |
| 117 | isNotFound = true |
| 118 | return nil |
| 119 | } |
| 120 | return err |
| 121 | } |
| 122 | dw.Finalizers = nil |
| 123 | return k8sClient.Update(ctx, dw) |
| 124 | }, 10*time.Second, 250*time.Millisecond).Should(Succeed(), "Could not remove finalizers from DevWorkspace") |
| 125 | |
| 126 | if isNotFound { |
| 127 | return |
| 128 | } |
| 129 | |
| 130 | Eventually(func() bool { |
| 131 | err := k8sClient.Get(ctx, dwNN, dw) |
| 132 | return err != nil && k8sErrors.IsNotFound(err) |
| 133 | }, 10*time.Second, 250*time.Millisecond).Should(BeTrue(), "DevWorkspace not deleted after timeout") |
| 134 | } |
| 135 | |
| 136 | func cleanupPVC(name string) { |
| 137 | By("Cleaning up shared PVC") |
no test coverage detected