Skip to content

Commit

Permalink
Unit tests for Resource Creation
Browse files Browse the repository at this point in the history
Added tests for the EnsureExternalStorageClusterResources function.

Signed-off-by: RAJAT SINGH <rajasing@redhat.com>
  • Loading branch information
RAJAT SINGH committed May 20, 2020
1 parent f5f574c commit 4aee23c
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 21 deletions.
Expand Up @@ -57,7 +57,7 @@ metadata:
capabilities: Full Lifecycle
categories: Storage
containerImage: quay.io/ocs-dev/ocs-operator:4.5.0
createdAt: "2020-05-19 12:05:23"
createdAt: "2020-05-20 15:22:29"
description: Red Hat OpenShift Container Storage provides hyperconverged storage
for applications within an OpenShift cluster.
external.features.ocs.openshift.io/validation: '{"secrets":["rook-ceph-operator-creds",
Expand Down
2 changes: 1 addition & 1 deletion hack/latest-csv-checksum.md5
@@ -1 +1 @@
d2dbc6087468e037a919dbcd4b8e54d3
be92d5429f4738b9e429ddd0f172a431
38 changes: 19 additions & 19 deletions pkg/apis/ocs/v1/zz_generated.openapi.go
Expand Up @@ -11,14 +11,14 @@ import (

func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
return map[string]common.OpenAPIDefinition{
"github.com/ocs-operator/pkg/apis/ocs/v1.OCSInitialization": schema_pkg_apis_ocs_v1_OCSInitialization(ref),
"github.com/ocs-operator/pkg/apis/ocs/v1.OCSInitializationSpec": schema_pkg_apis_ocs_v1_OCSInitializationSpec(ref),
"github.com/ocs-operator/pkg/apis/ocs/v1.OCSInitializationStatus": schema_pkg_apis_ocs_v1_OCSInitializationStatus(ref),
"github.com/ocs-operator/pkg/apis/ocs/v1.StorageCluster": schema_pkg_apis_ocs_v1_StorageCluster(ref),
"github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitialization": schema_pkg_apis_ocs_v1_StorageClusterInitialization(ref),
"github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationSpec": schema_pkg_apis_ocs_v1_StorageClusterInitializationSpec(ref),
"github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationStatus": schema_pkg_apis_ocs_v1_StorageClusterInitializationStatus(ref),
"github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterStatus": schema_pkg_apis_ocs_v1_StorageClusterStatus(ref),
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.OCSInitialization": schema_pkg_apis_ocs_v1_OCSInitialization(ref),
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.OCSInitializationSpec": schema_pkg_apis_ocs_v1_OCSInitializationSpec(ref),
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.OCSInitializationStatus": schema_pkg_apis_ocs_v1_OCSInitializationStatus(ref),
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageCluster": schema_pkg_apis_ocs_v1_StorageCluster(ref),
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitialization": schema_pkg_apis_ocs_v1_StorageClusterInitialization(ref),
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationSpec": schema_pkg_apis_ocs_v1_StorageClusterInitializationSpec(ref),
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationStatus": schema_pkg_apis_ocs_v1_StorageClusterInitializationStatus(ref),
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterStatus": schema_pkg_apis_ocs_v1_StorageClusterStatus(ref),
}
}

Expand Down Expand Up @@ -49,19 +49,19 @@ func schema_pkg_apis_ocs_v1_OCSInitialization(ref common.ReferenceCallback) comm
},
"spec": {
SchemaProps: spec.SchemaProps{
Ref: ref("github.com/ocs-operator/pkg/apis/ocs/v1.OCSInitializationSpec"),
Ref: ref("github.com/openshift/ocs-operator/pkg/apis/ocs/v1.OCSInitializationSpec"),
},
},
"status": {
SchemaProps: spec.SchemaProps{
Ref: ref("github.com/ocs-operator/pkg/apis/ocs/v1.OCSInitializationStatus"),
Ref: ref("github.com/openshift/ocs-operator/pkg/apis/ocs/v1.OCSInitializationStatus"),
},
},
},
},
},
Dependencies: []string{
"github.com/ocs-operator/pkg/apis/ocs/v1.OCSInitializationSpec", "github.com/ocs-operator/pkg/apis/ocs/v1.OCSInitializationStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.OCSInitializationSpec", "github.com/openshift/ocs-operator/pkg/apis/ocs/v1.OCSInitializationStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
}
}

Expand Down Expand Up @@ -171,19 +171,19 @@ func schema_pkg_apis_ocs_v1_StorageCluster(ref common.ReferenceCallback) common.
},
"spec": {
SchemaProps: spec.SchemaProps{
Ref: ref("github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterSpec"),
Ref: ref("github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterSpec"),
},
},
"status": {
SchemaProps: spec.SchemaProps{
Ref: ref("github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterStatus"),
Ref: ref("github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterStatus"),
},
},
},
},
},
Dependencies: []string{
"github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterSpec", "github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterSpec", "github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
}
}

Expand Down Expand Up @@ -214,19 +214,19 @@ func schema_pkg_apis_ocs_v1_StorageClusterInitialization(ref common.ReferenceCal
},
"spec": {
SchemaProps: spec.SchemaProps{
Ref: ref("github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationSpec"),
Ref: ref("github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationSpec"),
},
},
"status": {
SchemaProps: spec.SchemaProps{
Ref: ref("github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationStatus"),
Ref: ref("github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationStatus"),
},
},
},
},
},
Dependencies: []string{
"github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationSpec", "github.com/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
"github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationSpec", "github.com/openshift/ocs-operator/pkg/apis/ocs/v1.StorageClusterInitializationStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
}
}

Expand Down Expand Up @@ -296,7 +296,7 @@ func schema_pkg_apis_ocs_v1_StorageClusterStatus(ref common.ReferenceCallback) c
"nodeTopologies": {
SchemaProps: spec.SchemaProps{
Description: "NodeTopologies is a list of topology labels on all nodes matching the StorageCluster's placement selector.",
Ref: ref("github.com/ocs-operator/pkg/apis/ocs/v1.NodeTopologyMap"),
Ref: ref("github.com/openshift/ocs-operator/pkg/apis/ocs/v1.NodeTopologyMap"),
},
},
"failureDomain": {
Expand Down Expand Up @@ -347,6 +347,6 @@ func schema_pkg_apis_ocs_v1_StorageClusterStatus(ref common.ReferenceCallback) c
},
},
Dependencies: []string{
"github.com/ocs-operator/pkg/apis/ocs/v1.NodeTopologyMap", "github.com/openshift/custom-resource-status/conditions/v1.Condition", "k8s.io/api/core/v1.ObjectReference"},
"github.com/openshift/custom-resource-status/conditions/v1.Condition", "github.com/openshift/ocs-operator/pkg/apis/ocs/v1.NodeTopologyMap", "k8s.io/api/core/v1.ObjectReference"},
}
}
26 changes: 26 additions & 0 deletions pkg/controller/storagecluster/initialization_reconciler_test.go
Expand Up @@ -21,6 +21,8 @@ import (

var logt = logf.Log.WithName("controller_storageclusterinitialization_test")

const jsonBlob = `"[{"kind":"ConfigMap","data":{"maxMonId":"0","data":"a=10.20.30.40:1234","mapping":{}},"name":"rook-ceph-mon-endpoints"},{"kind":"Secret","data":{"mon-secret":"mon-secret","fsid":"secret-fsid-for-unit-tests","cluster-name":"openshift-storage","admin-secret":"admin-secret"},"name":"rook-ceph-mon"},{"kind":"Secret","data":{"userKey":"sampleUSerKey+1234","userID":"client.abcd"},"name":"rook-ceph-operator-creds"},{"kind":"Secret","data":{"userKey":"someUserKeyRBD==","userID":"csi-rbd-node"},"name":"rook-csi-rbd-node"},{"kind":"Secret","data":{"userKey":"someUserKeyCSI==","userID":"csi-rbd-provisioner"},"name":"rook-csi-rbd-provisioner"},{"kind":"Secret","data":{"adminID":"someRandomIDCephFs","adminKey":"someAdminKeyCephFs=="},"name":"rook-csi-cephfs-node"},{"kind":"Secret","data":{"adminID":"csi-cephfs-provisioner","adminKey":"someAdminKeyforCephFs\/test=="},"name":"rook-csi-cephfs-provisioner"},{"kind":"StorageClass","data":{"pool":"device_health_metrics"},"name":"ceph-rbd"},{"kind":"StorageClass","data":{"fsName":"myfs","pool":"myfs-data0"},"name":"cephfs"},{"kind":"StorageClass","data":{"endpoint":"10.20.30.40:50"},"name":"ceph-rgw"}]"`

func TestRecreatingStorageClusterInitialization(t *testing.T) {
cr := &api.StorageClusterInitialization{}
request := reconcile.Request{
Expand Down Expand Up @@ -178,6 +180,30 @@ func TestInitStorageClusterResourcesUpdate(t *testing.T) {
assertExpectedResources(t, reconciler, cr, request)
}

func TestEnsureExternalStorageClusterResources(t *testing.T) {
cr := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: externalClusterDetailsSecret,
Namespace: "openshift-storage",
},
Data: map[string][]byte{
"data": []byte(jsonBlob),
},
}
request := reconcile.Request{
NamespacedName: types.NamespacedName{
Name: externalClusterDetailsSecret,
Namespace: "openshift-storage",
},
}

reconciler := createFakeInitializationStorageClusterReconciler(t, cr)
err := reconciler.client.Create(nil, cr)
result, err := reconciler.Reconcile(request)
assert.NoError(t, err)
assert.Equal(t, reconcile.Result{}, result)
}

func assertExpectedResources(t assert.TestingT, reconciler ReconcileStorageCluster, cr *api.StorageCluster, request reconcile.Request) {
actualSc1 := &storagev1.StorageClass{}
actualSc2 := &storagev1.StorageClass{}
Expand Down

0 comments on commit 4aee23c

Please sign in to comment.