Added unit test for dochelper, config
* added more negative test cases to dochelper, config to increase the test coverage Change-Id: I3179823f9196157e72009ff998cfb8dd348fee1f
This commit is contained in:
parent
37c044a5b7
commit
35d119d3d1
@ -279,6 +279,27 @@ func TestCurrentContextBootstrapInfo(t *testing.T) {
|
||||
assert.Equal(t, conf.BootstrapInfo[defaultString], bootstrapInfo)
|
||||
}
|
||||
|
||||
func TestCurrentContextManagementConfig(t *testing.T) {
|
||||
conf, cleanup := testutil.InitConfig(t)
|
||||
defer cleanup(t)
|
||||
|
||||
clusterName := "def"
|
||||
clusterType := "ephemeral"
|
||||
|
||||
managementConfig, err := conf.CurrentContextManagementConfig()
|
||||
require.Error(t, err)
|
||||
assert.Nil(t, managementConfig)
|
||||
|
||||
conf.CurrentContext = currentContextName
|
||||
conf.Clusters[clusterName].ClusterTypes[clusterType].ManagementConfiguration = defaultString
|
||||
conf.Contexts[currentContextName].Manifest = defaultString
|
||||
conf.Contexts[currentContextName].KubeContext().Cluster = clusterName
|
||||
|
||||
managementConfig, err = conf.CurrentContextManagementConfig()
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, conf.ManagementConfiguration[defaultString], managementConfig)
|
||||
}
|
||||
|
||||
func TestPurge(t *testing.T) {
|
||||
conf, cleanup := testutil.InitConfig(t)
|
||||
defer cleanup(t)
|
||||
@ -840,3 +861,27 @@ func TestGetManifests(t *testing.T) {
|
||||
|
||||
assert.EqualValues(t, manifests[0].PrimaryRepositoryName, "primary")
|
||||
}
|
||||
|
||||
func TestModifyManifests(t *testing.T) {
|
||||
conf, cleanup := testutil.InitConfig(t)
|
||||
defer cleanup(t)
|
||||
|
||||
mo := testutil.DummyManifestOptions()
|
||||
manifest := conf.AddManifest(mo)
|
||||
require.NotNil(t, manifest)
|
||||
|
||||
mo.TargetPath += stringDelta
|
||||
err := conf.ModifyManifest(manifest, mo)
|
||||
require.NoError(t, err)
|
||||
|
||||
mo.CommitHash = "11ded0"
|
||||
mo.Tag = "v1.0"
|
||||
err = conf.ModifyManifest(manifest, mo)
|
||||
require.Error(t, err, "Checkout mutually exclusive, use either: commit-hash, branch or tag")
|
||||
|
||||
// error scenario
|
||||
mo.RepoName = "invalid"
|
||||
mo.URL = ""
|
||||
err = conf.ModifyManifest(manifest, mo)
|
||||
require.Error(t, err)
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ func TestDocHelpers(t *testing.T) {
|
||||
require := require.New(t)
|
||||
assert := assert.New(t)
|
||||
|
||||
fSys := testutil.SetupTestFs(t, "testdata/dochelper")
|
||||
fSys := testutil.SetupTestFs(t, "testdata/dochelper/valid/")
|
||||
bundle, err := document.NewBundle(fSys, "/")
|
||||
require.NoError(err, "Building Bundle Failed")
|
||||
require.NotNil(bundle)
|
||||
@ -41,7 +41,7 @@ func TestDocHelpers(t *testing.T) {
|
||||
|
||||
networkData, err := document.GetBMHNetworkData(doc, bundle)
|
||||
require.NoError(err, "Unexpected error trying to GetBMHNetworkData")
|
||||
assert.Equal(networkData, "some network data")
|
||||
assert.Equal(networkData, "some network data\n")
|
||||
})
|
||||
|
||||
t.Run("GetBMHBMCAddress", func(t *testing.T) {
|
||||
@ -67,3 +67,41 @@ func TestDocHelpers(t *testing.T) {
|
||||
assert.Equal(bmcPassword, "password")
|
||||
})
|
||||
}
|
||||
|
||||
func TestDocHelpersNegativeCases(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
fSys := testutil.SetupTestFs(t, "testdata/dochelper/invalid/")
|
||||
bundle, err := document.NewBundle(fSys, "/")
|
||||
require.NoError(err, "Building Bundle Failed")
|
||||
require.NotNil(bundle)
|
||||
|
||||
t.Run("GetBMHNetworkData", func(t *testing.T) {
|
||||
selector := document.NewSelector().ByKind("BareMetalHost")
|
||||
doc, err := bundle.SelectOne(selector)
|
||||
require.NoError(err)
|
||||
|
||||
_, err = document.GetBMHNetworkData(doc, bundle)
|
||||
require.Error(err)
|
||||
})
|
||||
|
||||
t.Run("GetBMHBMCAddress", func(t *testing.T) {
|
||||
// retrieve our single bmh in the dataset
|
||||
selector := document.NewSelector().ByKind("BareMetalHost")
|
||||
doc, err := bundle.SelectOne(selector)
|
||||
require.NoError(err)
|
||||
|
||||
_, err = document.GetBMHBMCAddress(doc)
|
||||
require.Error(err)
|
||||
})
|
||||
|
||||
t.Run("GetBMHBMCCredentials", func(t *testing.T) {
|
||||
// retrieve our single bmh in the dataset
|
||||
selector := document.NewSelector().ByKind("BareMetalHost")
|
||||
doc, err := bundle.SelectOne(selector)
|
||||
require.NoError(err)
|
||||
|
||||
_, _, err = document.GetBMHBMCCredentials(doc, bundle)
|
||||
require.Error(err)
|
||||
})
|
||||
}
|
||||
|
15
pkg/document/testdata/dochelper/invalid/baremetalhost.yaml
vendored
Normal file
15
pkg/document/testdata/dochelper/invalid/baremetalhost.yaml
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
apiVersion: metal3.io/v1alpha1
|
||||
kind: BareMetalHost
|
||||
metadata:
|
||||
labels:
|
||||
airshipit.org/ephemeral-node: "true"
|
||||
name: master-0
|
||||
spec:
|
||||
online: true
|
||||
bootMACAddress: 00:3b:8b:0c:ec:8b
|
||||
bmc:
|
||||
credentialsName: master-0-bmc
|
||||
networkData:
|
||||
name: master-0-networkdata
|
||||
namespace: metal3
|
3
pkg/document/testdata/dochelper/invalid/kustomization.yaml
vendored
Normal file
3
pkg/document/testdata/dochelper/invalid/kustomization.yaml
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
resources:
|
||||
- baremetalhost.yaml
|
||||
- secret.yaml
|
26
pkg/document/testdata/dochelper/invalid/secret.yaml
vendored
Normal file
26
pkg/document/testdata/dochelper/invalid/secret.yaml
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
airshipit.org/ephemeral-user-data: "true"
|
||||
name: ephemeral-user-data
|
||||
type: Opaque
|
||||
stringData:
|
||||
userData: cloud-init
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: master-0-bmc-invalid
|
||||
namespace: metal3
|
||||
type: Opaque
|
||||
stringData:
|
||||
username: username
|
||||
password: password
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: master-0-networkdata
|
||||
namespace: metal3
|
||||
type: Opaque
|
@ -24,5 +24,5 @@ metadata:
|
||||
name: master-0-networkdata
|
||||
namespace: metal3
|
||||
type: Opaque
|
||||
stringData:
|
||||
networkData: some network data
|
||||
data:
|
||||
networkData: c29tZSBuZXR3b3JrIGRhdGEK
|
Loading…
Reference in New Issue
Block a user