#144 Fix unit tests
This commit is contained in:
parent
14e8667674
commit
b03b7d91f6
|
|
@ -49,16 +49,16 @@ func TestValidatePlugins(t *testing.T) {
|
||||||
|
|
||||||
got := baseReconcileLoop.validatePlugins(requiredBasePlugins, basePlugins, userPlugins)
|
got := baseReconcileLoop.validatePlugins(requiredBasePlugins, basePlugins, userPlugins)
|
||||||
|
|
||||||
assert.Equal(t, got, []string{"invalid plugin name 'INVALID?:0.0.1', must follow pattern '(?i)^[0-9a-z-_]+$'"})
|
assert.Equal(t, got, []string{"invalid plugin name 'INVALID?:0.0.1', must follow pattern '" + plugins.NamePattern.String() + "'"})
|
||||||
})
|
})
|
||||||
t.Run("invalid user plugin version", func(t *testing.T) {
|
t.Run("invalid user plugin version", func(t *testing.T) {
|
||||||
var requiredBasePlugins []plugins.Plugin
|
var requiredBasePlugins []plugins.Plugin
|
||||||
var basePlugins []v1alpha2.Plugin
|
var basePlugins []v1alpha2.Plugin
|
||||||
userPlugins := []v1alpha2.Plugin{{Name: "simple-plugin", Version: "invalid"}}
|
userPlugins := []v1alpha2.Plugin{{Name: "simple-plugin", Version: "invalid!"}}
|
||||||
|
|
||||||
got := baseReconcileLoop.validatePlugins(requiredBasePlugins, basePlugins, userPlugins)
|
got := baseReconcileLoop.validatePlugins(requiredBasePlugins, basePlugins, userPlugins)
|
||||||
|
|
||||||
assert.Equal(t, got, []string{"invalid plugin version 'simple-plugin:invalid', must follow pattern '^[0-9\\\\.-]+(\\..+)?$'"})
|
assert.Equal(t, got, []string{"invalid plugin version 'simple-plugin:invalid!', must follow pattern '" + plugins.VersionPattern.String() + "'"})
|
||||||
})
|
})
|
||||||
t.Run("valid base plugin", func(t *testing.T) {
|
t.Run("valid base plugin", func(t *testing.T) {
|
||||||
var requiredBasePlugins []plugins.Plugin
|
var requiredBasePlugins []plugins.Plugin
|
||||||
|
|
@ -76,16 +76,16 @@ func TestValidatePlugins(t *testing.T) {
|
||||||
|
|
||||||
got := baseReconcileLoop.validatePlugins(requiredBasePlugins, basePlugins, userPlugins)
|
got := baseReconcileLoop.validatePlugins(requiredBasePlugins, basePlugins, userPlugins)
|
||||||
|
|
||||||
assert.Equal(t, got, []string{"invalid plugin name 'INVALID?:0.0.1', must follow pattern '(?i)^[0-9a-z-_]+$'"})
|
assert.Equal(t, got, []string{"invalid plugin name 'INVALID?:0.0.1', must follow pattern '" + plugins.NamePattern.String() + "'"})
|
||||||
})
|
})
|
||||||
t.Run("invalid base plugin version", func(t *testing.T) {
|
t.Run("invalid base plugin version", func(t *testing.T) {
|
||||||
var requiredBasePlugins []plugins.Plugin
|
var requiredBasePlugins []plugins.Plugin
|
||||||
basePlugins := []v1alpha2.Plugin{{Name: "simple-plugin", Version: "invalid"}}
|
basePlugins := []v1alpha2.Plugin{{Name: "simple-plugin", Version: "invalid!"}}
|
||||||
var userPlugins []v1alpha2.Plugin
|
var userPlugins []v1alpha2.Plugin
|
||||||
|
|
||||||
got := baseReconcileLoop.validatePlugins(requiredBasePlugins, basePlugins, userPlugins)
|
got := baseReconcileLoop.validatePlugins(requiredBasePlugins, basePlugins, userPlugins)
|
||||||
|
|
||||||
assert.Equal(t, got, []string{"invalid plugin version 'simple-plugin:invalid', must follow pattern '^[0-9\\\\.-]+(\\..+)?$'"})
|
assert.Equal(t, got, []string{"invalid plugin version 'simple-plugin:invalid!', must follow pattern '" + plugins.VersionPattern.String() + "'"})
|
||||||
})
|
})
|
||||||
t.Run("valid user and base plugin version", func(t *testing.T) {
|
t.Run("valid user and base plugin version", func(t *testing.T) {
|
||||||
var requiredBasePlugins []plugins.Plugin
|
var requiredBasePlugins []plugins.Plugin
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,10 @@ func (p Plugin) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
namePattern = regexp.MustCompile(`^[0-9a-zA-Z-_]+$`)
|
// NamePattern is the plugin name regex pattern
|
||||||
versionPattern = regexp.MustCompile(`^[0-9a-zA-Z+\\.-]+$`)
|
NamePattern = regexp.MustCompile(`^[0-9a-zA-Z-_]+$`)
|
||||||
|
// VersionPattern is the plugin version regex pattern
|
||||||
|
VersionPattern = regexp.MustCompile(`^[0-9a-zA-Z+\\.-]+$`)
|
||||||
)
|
)
|
||||||
|
|
||||||
// New creates plugin from string, for example "name-of-plugin:0.0.1"
|
// New creates plugin from string, for example "name-of-plugin:0.0.1"
|
||||||
|
|
@ -56,11 +58,11 @@ func NewPlugin(name, version string) (*Plugin, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func validatePlugin(name, version string) error {
|
func validatePlugin(name, version string) error {
|
||||||
if ok := namePattern.MatchString(name); !ok {
|
if ok := NamePattern.MatchString(name); !ok {
|
||||||
return errors.Errorf("invalid plugin name '%s:%s', must follow pattern '%s'", name, version, namePattern.String())
|
return errors.Errorf("invalid plugin name '%s:%s', must follow pattern '%s'", name, version, NamePattern.String())
|
||||||
}
|
}
|
||||||
if ok := versionPattern.MatchString(version); !ok {
|
if ok := VersionPattern.MatchString(version); !ok {
|
||||||
return errors.Errorf("invalid plugin version '%s:%s', must follow pattern '%s'", name, version, versionPattern.String())
|
return errors.Errorf("invalid plugin version '%s:%s', must follow pattern '%s'", name, version, VersionPattern.String())
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue