|
|
|
@ -26,6 +26,13 @@ var gitRefNameValidationTestCases = []validationTestCase{
|
|
|
|
|
expectedErrors: binding.Errors{}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has allowed special characters", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "debian/1%1.6.0-2", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name contains backslash", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "feature\\test", |
|
|
|
@ -129,6 +136,123 @@ var gitRefNameValidationTestCases = []validationTestCase{
|
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name is single @", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "@", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has @{", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "branch@{", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has unallowed special character ~", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "~debian/1%1.6.0-2", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has unallowed special character *", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "*debian/1%1.6.0-2", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has unallowed special character ?", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "?debian/1%1.6.0-2", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has unallowed special character ^", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "^debian/1%1.6.0-2", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has unallowed special character :", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "debian:jessie", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has unallowed special character (whitespace)", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "debian jessie", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
description: "Reference name has unallowed special character [", |
|
|
|
|
data: TestForm{ |
|
|
|
|
BranchName: "debian[jessie", |
|
|
|
|
}, |
|
|
|
|
expectedErrors: binding.Errors{ |
|
|
|
|
binding.Error{ |
|
|
|
|
FieldNames: []string{"BranchName"}, |
|
|
|
|
Classification: ErrGitRefName, |
|
|
|
|
Message: "GitRefName", |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func Test_GitRefNameValidation(t *testing.T) { |
|
|
|
|