Skip to content

Commit

Permalink
Switch to kuttl.dev/v1beta. Deprecated support for kudo.dev (#119)
Browse files Browse the repository at this point in the history
Signed-off-by: Ken Sipe <kensipe@gmail.com>
  • Loading branch information
kensipe committed May 26, 2020
1 parent b95698f commit d330098
Show file tree
Hide file tree
Showing 24 changed files with 62 additions and 26 deletions.
2 changes: 1 addition & 1 deletion config/basic-kuttl-test.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestSuite
parallel: 4
timeout: 120
2 changes: 1 addition & 1 deletion pkg/apis/testharness/v1beta1/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ limitations under the License.
// Package v1beta1 contains API Schema definitions for the testharness API group
// +k8s:openapi-gen=false
// +k8s:deepcopy-gen=package
// +groupName=kudo.dev
// +groupName=kuttl.dev
// +kubebuilder:skip
package v1beta1
6 changes: 3 additions & 3 deletions pkg/apis/testharness/v1beta1/test_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (

// TestSuite configures which tests should be loaded.
type TestSuite struct {
// The type meta object, should always be a GVK of kudo.dev/v1beta1/TestSuite.
// The type meta object, should always be a GVK of kudo.dev/v1beta1/TestSuite or kuttl.dev/v1beta1/TestSuite.
metav1.TypeMeta `json:",inline"`
// Set labels or the test suite name.
metav1.ObjectMeta `json:"metadata,omitempty"`
Expand Down Expand Up @@ -56,7 +56,7 @@ type TestSuite struct {

// TestStep settings to apply to a test step.go
type TestStep struct {
// The type meta object, should always be a GVK of kudo.dev/v1beta1/TestStep.
// The type meta object, should always be a GVK of kudo.dev/v1beta1/TestStep or kuttl.dev/v1beta1/TestStep.
metav1.TypeMeta `json:",inline"`
// Override the default metadata. Set labels or override the test step name.
metav1.ObjectMeta `json:"metadata,omitempty"`
Expand Down Expand Up @@ -88,7 +88,7 @@ type TestStep struct {

// TestAssert represents the settings needed to verify the result of a test step.
type TestAssert struct {
// The type meta object, should always be a GVK of kudo.dev/v1beta1/TestAssert.
// The type meta object, should always be a GVK of kudo.dev/v1beta1/TestAssert or kuttl.dev/v1beta1/TestAssert.
metav1.TypeMeta `json:",inline"`
// Override the default timeout of 30 seconds (in seconds).
Timeout int `json:"timeout"`
Expand Down
8 changes: 4 additions & 4 deletions pkg/test/case_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func TestLoadTestSteps(t *testing.T) {
},
TypeMeta: metav1.TypeMeta{
Kind: "TestStep",
APIVersion: "kudo.dev/v1beta1",
APIVersion: "kuttl.dev/v1beta1",
},
Index: 0,
},
Expand Down Expand Up @@ -60,7 +60,7 @@ func TestLoadTestSteps(t *testing.T) {
Step: &harness.TestStep{
TypeMeta: metav1.TypeMeta{
Kind: "TestStep",
APIVersion: "kudo.dev/v1beta1",
APIVersion: "kuttl.dev/v1beta1",
},
Index: 1,
Delete: []harness.ObjectReference{
Expand All @@ -76,7 +76,7 @@ func TestLoadTestSteps(t *testing.T) {
Assert: &harness.TestAssert{
TypeMeta: metav1.TypeMeta{
Kind: "TestAssert",
APIVersion: "kudo.dev/v1beta1",
APIVersion: "kuttl.dev/v1beta1",
},
Timeout: 20,
},
Expand Down Expand Up @@ -135,7 +135,7 @@ func TestLoadTestSteps(t *testing.T) {
},
TypeMeta: metav1.TypeMeta{
Kind: "TestStep",
APIVersion: "kudo.dev/v1beta1",
APIVersion: "kuttl.dev/v1beta1",
},
Index: 3,
},
Expand Down
2 changes: 1 addition & 1 deletion pkg/test/step_integration_test_data/two_step/00-step1.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
timeout: 30
2 changes: 1 addition & 1 deletion pkg/test/step_integration_test_data/two_step/00-step2.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
timeout: 30
4 changes: 2 additions & 2 deletions pkg/test/step_integration_test_data/two_step/01-step1.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
timeout: 30

----
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
timeout: 30
2 changes: 1 addition & 1 deletion pkg/test/test_data/cli-test/00-create-pod.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
commands:
- command: kubectl apply -f ./test_data/pod.yaml
Expand Down
2 changes: 1 addition & 1 deletion pkg/test/test_data/cli-test/01-patch.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
commands:
- command: kubectl label pod cli-test-pod test=true
Expand Down
2 changes: 1 addition & 1 deletion pkg/test/test_data/delete-in-step/01-create.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Delete all pods and then make sure that we can make pods with the same name but different specs (this would fail if they were
# not deleted).
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
delete:
- apiVersion: v1
Expand Down
4 changes: 4 additions & 0 deletions pkg/test/test_data/deprecate-test/00-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Pod
metadata:
name: cli-test-pod
5 changes: 5 additions & 0 deletions pkg/test/test_data/deprecate-test/00-create-pod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: kudo.dev/v1beta1
kind: TestStep
commands:
- command: kubectl apply -f ./test_data/pod.yaml
namespaced: true
6 changes: 6 additions & 0 deletions pkg/test/test_data/deprecate-test/01-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v1
kind: Pod
metadata:
name: cli-test-pod
labels:
test: "true"
7 changes: 7 additions & 0 deletions pkg/test/test_data/deprecate-test/01-patch.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: kudo.dev/v1beta1
kind: TestStep
commands:
- command: kubectl label pod cli-test-pod test=true
namespaced: true
- command: kubectl command is bad
ignoreFailure: true
3 changes: 3 additions & 0 deletions pkg/test/test_data/deprecate-test/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This directory exists to test that the original group "kudo.dev/v1beta1" works for `apiVersion`
This deprecation started after release `v0.3.0`. After `v0.5.0` this group is subjected to be removed and this test
folder and test should be removed.
9 changes: 9 additions & 0 deletions pkg/test/test_data/deprecate-test/test_data/pod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: v1
kind: Pod
metadata:
name: cli-test-pod
spec:
containers:
- name: cli-test
image: alpine
restartPolicy: Never
2 changes: 1 addition & 1 deletion pkg/test/test_data/teststep-apply/00-create.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# using apply from TestStep from multiple folder locations
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
apply:
- hello.yaml
Expand Down
2 changes: 1 addition & 1 deletion pkg/test/test_data/teststep-assert/00-create.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ spec:
name: test
---
# using assert from TestStep from multiple folder locations
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
assert:
- hello1-assert.yaml
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
delete:
- apiVersion: v1
Expand Down
2 changes: 1 addition & 1 deletion pkg/test/test_data/with-overrides/00-test-step.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ spec:
- name: nginx
image: nginx:1.7.9
---
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
metadata:
name: with-test-step-name-override
2 changes: 1 addition & 1 deletion pkg/test/test_data/with-overrides/01-assert.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
timeout: 20
---
Expand Down
2 changes: 1 addition & 1 deletion pkg/test/test_data/with-overrides/01-test-assert.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ spec:
- name: nginx
image: nginx:1.7.9
---
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
delete:
- apiVersion: v1
Expand Down
2 changes: 1 addition & 1 deletion pkg/test/test_data/with-overrides/03-pod.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
apiVersion: kudo.dev/v1beta1
apiVersion: kuttl.dev/v1beta1
kind: TestStep
metadata:
name: name-overridden
Expand Down
8 changes: 5 additions & 3 deletions pkg/test/utils/kubernetes.go
Original file line number Diff line number Diff line change
Expand Up @@ -369,12 +369,14 @@ func ConvertUnstructured(in runtime.Object) (runtime.Object, error) {
kind := in.GetObjectKind().GroupVersionKind().Kind
group := in.GetObjectKind().GroupVersionKind().Group

// Deprecated: kudo.dev is deprecated.
kudoGroup := "kudo.dev"
if group == kudoGroup && kind == "TestStep" {
kuttlGroup := "kuttl.dev"
if (group == kudoGroup || group == kuttlGroup) && kind == "TestStep" {
converted = &harness.TestStep{}
} else if group == kudoGroup && kind == "TestAssert" {
} else if (group == kudoGroup || group == kuttlGroup) && kind == "TestAssert" {
converted = &harness.TestAssert{}
} else if group == kudoGroup && kind == "TestSuite" {
} else if (group == kudoGroup || group == kuttlGroup) && kind == "TestSuite" {
converted = &harness.TestSuite{}
} else {
return in, nil
Expand Down

0 comments on commit d330098

Please sign in to comment.