From b03b7d91f6d9b4c8c91504833f2414d5c529a0a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20S=C4=99k?= Date: Fri, 29 Nov 2019 12:06:40 +0100 Subject: [PATCH] #144 Fix unit tests --- .../jenkins/configuration/base/validate_test.go | 12 ++++++------ pkg/controller/jenkins/plugins/plugin.go | 14 ++++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/pkg/controller/jenkins/configuration/base/validate_test.go b/pkg/controller/jenkins/configuration/base/validate_test.go index 41b50ffb..fff7101f 100644 --- a/pkg/controller/jenkins/configuration/base/validate_test.go +++ b/pkg/controller/jenkins/configuration/base/validate_test.go @@ -49,16 +49,16 @@ func TestValidatePlugins(t *testing.T) { 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) { var requiredBasePlugins []plugins.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) - 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) { var requiredBasePlugins []plugins.Plugin @@ -76,16 +76,16 @@ func TestValidatePlugins(t *testing.T) { 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) { var requiredBasePlugins []plugins.Plugin - basePlugins := []v1alpha2.Plugin{{Name: "simple-plugin", Version: "invalid"}} + basePlugins := []v1alpha2.Plugin{{Name: "simple-plugin", Version: "invalid!"}} 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 '" + plugins.VersionPattern.String() + "'"}) }) t.Run("valid user and base plugin version", func(t *testing.T) { var requiredBasePlugins []plugins.Plugin diff --git a/pkg/controller/jenkins/plugins/plugin.go b/pkg/controller/jenkins/plugins/plugin.go index c1871384..a835a7d1 100644 --- a/pkg/controller/jenkins/plugins/plugin.go +++ b/pkg/controller/jenkins/plugins/plugin.go @@ -20,8 +20,10 @@ func (p Plugin) String() string { } var ( - namePattern = regexp.MustCompile(`^[0-9a-zA-Z-_]+$`) - versionPattern = regexp.MustCompile(`^[0-9a-zA-Z+\\.-]+$`) + // NamePattern is the plugin name regex pattern + 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" @@ -56,11 +58,11 @@ func NewPlugin(name, version string) (*Plugin, error) { } func validatePlugin(name, version string) error { - if ok := namePattern.MatchString(name); !ok { - return errors.Errorf("invalid plugin name '%s:%s', must follow pattern '%s'", name, version, namePattern.String()) + if ok := NamePattern.MatchString(name); !ok { + return errors.Errorf("invalid plugin name '%s:%s', must follow pattern '%s'", name, version, NamePattern.String()) } - if ok := versionPattern.MatchString(version); !ok { - return errors.Errorf("invalid plugin version '%s:%s', must follow pattern '%s'", name, version, versionPattern.String()) + if ok := VersionPattern.MatchString(version); !ok { + return errors.Errorf("invalid plugin version '%s:%s', must follow pattern '%s'", name, version, VersionPattern.String()) } return nil }