mirror of
https://github.com/helm/helm.git
synced 2026-05-28 04:35:48 -04:00
fix(plugin): simplify version validation error and align test expectations
Remove verbose 'semver range constraints' suffix from the error message. The 'v' prefix hint is still appended only when the version starts with 'v'. Update test expectations to match the simplified messages. Signed-off-by: MrJack <36191829+biagiopietro@users.noreply.github.com>
This commit is contained in:
parent
9b2e583223
commit
86e544842f
2 changed files with 9 additions and 9 deletions
|
|
@ -92,7 +92,7 @@ func (o *pluginUpdateOptions) complete(args []string) error {
|
|||
}
|
||||
if version != "" {
|
||||
if _, err := semver.StrictNewVersion(version); err != nil {
|
||||
errMsg := fmt.Sprintf("invalid version %q for plugin %q: must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported", version, name)
|
||||
errMsg := fmt.Sprintf("invalid version %q for plugin %q: must be an exact semver version (e.g. 1.2.3)", version, name)
|
||||
if strings.HasPrefix(version, "v") {
|
||||
errMsg += `; the "v" prefix is not allowed`
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,42 +106,42 @@ func TestPluginUpdateComplete(t *testing.T) {
|
|||
{
|
||||
name: "v-prefixed version rejected",
|
||||
args: []string{"myplugin@v1.2.3"},
|
||||
wantErr: `invalid version "v1.2.3" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported; the "v" prefix is not allowed`,
|
||||
wantErr: `invalid version "v1.2.3" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3); the "v" prefix is not allowed`,
|
||||
},
|
||||
{
|
||||
name: "tilde range version rejected",
|
||||
args: []string{"myplugin@~1.2"},
|
||||
wantErr: `invalid version "~1.2" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported`,
|
||||
wantErr: `invalid version "~1.2" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3)`,
|
||||
},
|
||||
{
|
||||
name: "caret range version rejected",
|
||||
args: []string{"myplugin@^1.2.3"},
|
||||
wantErr: `invalid version "^1.2.3" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported`,
|
||||
wantErr: `invalid version "^1.2.3" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3)`,
|
||||
},
|
||||
{
|
||||
name: "gte constraint rejected",
|
||||
args: []string{"myplugin@>=1.0.0"},
|
||||
wantErr: `invalid version ">=1.0.0" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported`,
|
||||
wantErr: `invalid version ">=1.0.0" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3)`,
|
||||
},
|
||||
{
|
||||
name: "wildcard version rejected",
|
||||
args: []string{"myplugin@1.x"},
|
||||
wantErr: `invalid version "1.x" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported`,
|
||||
wantErr: `invalid version "1.x" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3)`,
|
||||
},
|
||||
{
|
||||
name: "range constraint rejected",
|
||||
args: []string{"myplugin@>=1.0.0, <2.0.0"},
|
||||
wantErr: `invalid version ">=1.0.0, <2.0.0" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported`,
|
||||
wantErr: `invalid version ">=1.0.0, <2.0.0" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3)`,
|
||||
},
|
||||
{
|
||||
name: "garbage version rejected",
|
||||
args: []string{"myplugin@notaversion"},
|
||||
wantErr: `invalid version "notaversion" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported`,
|
||||
wantErr: `invalid version "notaversion" for plugin "myplugin": must be an exact semver version (e.g. 1.2.3)`,
|
||||
},
|
||||
{
|
||||
name: "range rejected among multiple plugins",
|
||||
args: []string{"plugin-a@1.0.0", "plugin-b@~2.0"},
|
||||
wantErr: `invalid version "~2.0" for plugin "plugin-b": must be an exact semver version (e.g. 1.2.3); semver range constraints (e.g. ~1.2, ^1.0.0, >=1.0.0) are not supported`,
|
||||
wantErr: `invalid version "~2.0" for plugin "plugin-b": must be an exact semver version (e.g. 1.2.3)`,
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
|
|
|
|||
Loading…
Reference in a new issue