blob: de00f8719dca04203a6f02d278258a50c6bb8aa9 [file] [log] [blame]
package validators_test
import (
"testing"
"github.com/lrills/helm-unittest/unittest/common"
. "github.com/lrills/helm-unittest/unittest/validators"
"github.com/stretchr/testify/assert"
)
func TestHasDocumentsValidatorOk(t *testing.T) {
data := common.K8sManifest{}
validator := HasDocumentsValidator{2}
pass, diff := validator.Validate(&ValidateContext{
Docs: []common.K8sManifest{data, data},
})
assert.True(t, pass)
assert.Equal(t, []string{}, diff)
}
func TestHasDocumentsValidatorWhenNegativeAndOk(t *testing.T) {
data := common.K8sManifest{}
validator := HasDocumentsValidator{2}
pass, diff := validator.Validate(&ValidateContext{
Docs: []common.K8sManifest{data},
Negative: true,
})
assert.True(t, pass)
assert.Equal(t, []string{}, diff)
}
func TestHasDocumentsValidatorWhenFail(t *testing.T) {
data := common.K8sManifest{}
validator := HasDocumentsValidator{1}
pass, diff := validator.Validate(&ValidateContext{
Docs: []common.K8sManifest{data, data},
})
assert.False(t, pass)
assert.Equal(t, []string{
"Expected documents count: 1",
"Actual: 2",
}, diff)
}
func TestHasDocumentsValidatorWhenNegativeAndFail(t *testing.T) {
data := common.K8sManifest{}
validator := HasDocumentsValidator{2}
pass, diff := validator.Validate(&ValidateContext{
Docs: []common.K8sManifest{data, data},
Negative: true,
})
assert.False(t, pass)
assert.Equal(t, []string{
"Expected documents count NOT to be: 2",
}, diff)
}