MockController creates a mock controller and pod
(apiVersion, kind, namespace, name string, spec map[string]any, podSpec corev1.PodSpec, dest any)
| 86 | |
| 87 | // MockController creates a mock controller and pod |
| 88 | func MockController(apiVersion, kind, namespace, name string, spec map[string]any, podSpec corev1.PodSpec, dest any) corev1.Pod { |
| 89 | unst := newUnstructured(apiVersion, kind, namespace, name, spec) |
| 90 | pod := corev1.Pod{ |
| 91 | ObjectMeta: metav1.ObjectMeta{ |
| 92 | Name: name + "-12345", |
| 93 | Namespace: namespace, |
| 94 | OwnerReferences: []metav1.OwnerReference{{ |
| 95 | APIVersion: apiVersion, |
| 96 | Kind: kind, |
| 97 | Name: name, |
| 98 | }}, |
| 99 | }, |
| 100 | Spec: podSpec, |
| 101 | } |
| 102 | b, err := unst.MarshalJSON() |
| 103 | if err != nil { |
| 104 | panic(err) |
| 105 | } |
| 106 | err = json.Unmarshal(b, &dest) |
| 107 | if err != nil { |
| 108 | panic(err) |
| 109 | } |
| 110 | return pod |
| 111 | } |
| 112 | |
| 113 | // MockControllerWithNormalSpec mocks a controller with podspec at spec.template.spec |
| 114 | func MockControllerWithNormalSpec(apiVersion, kind, namespace, name string, dest any) corev1.Pod { |
no test coverage detected