Merge pull request #131 from jakalkhalili/fix-plugin-version

Fix plugin version validation
This commit is contained in:
Tomasz Sęk
2019-10-09 13:02:10 +02:00
committed by GitHub
3 changed files with 13 additions and 4 deletions
@@ -57,7 +57,7 @@ func TestValidatePlugins(t *testing.T) {
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 '^[0-9\\\\.-]+$'"})
})
t.Run("valid base plugin", func(t *testing.T) {
var requiredBasePlugins []plugins.Plugin
@@ -83,8 +83,8 @@ func TestValidatePlugins(t *testing.T) {
var userPlugins []v1alpha2.Plugin
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 '^[0-9\\\\.-]+$'"})
})
t.Run("valid user and base plugin version", func(t *testing.T) {
var requiredBasePlugins []plugins.Plugin
+1 -1
View File
@@ -21,7 +21,7 @@ func (p Plugin) String() string {
var (
namePattern = regexp.MustCompile(`(?i)^[0-9a-z-_]+$`)
versionPattern = regexp.MustCompile(`^[0-9\\.]+$`)
versionPattern = regexp.MustCompile(`^[0-9\\.-]+$`)
)
// New creates plugin from string, for example "name-of-plugin:0.0.1"
@@ -115,4 +115,13 @@ func TestVerifyDependencies(t *testing.T) {
assert.Contains(t, got, "Plugin 'first-root-plugin:1.0.0' requires version '0.0.1' but plugin 'first-root-plugin:2.0.0' requires '0.0.2' for plugin 'first-plugin'")
assert.Contains(t, got, "Plugin 'first-root-plugin:2.0.0' requires version '0.0.2' but plugin 'first-root-plugin:1.0.0' requires '0.0.1' for plugin 'first-plugin'")
})
t.Run("happy with dash in version", func(t *testing.T) {
basePlugins := map[Plugin][]Plugin{
Must(New("first-root-plugin:1.0.0-1")): {
Must(New("first-plugin:0.0.1-1")),
},
}
got := VerifyDependencies(basePlugins)
assert.Nil(got)
})
}