mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-03-16 17:20:20 +01:00
improve repository name validation
This commit is contained in:
@@ -142,19 +142,92 @@ public class ValidationUtilTest
|
||||
assertTrue(ValidationUtil.isRepositoryNameValid("scm/plugins/git-plugin"));
|
||||
assertTrue(ValidationUtil.isRepositoryNameValid("s"));
|
||||
assertTrue(ValidationUtil.isRepositoryNameValid("sc"));
|
||||
assertTrue(ValidationUtil.isRepositoryNameValid(".scm/plugins"));
|
||||
|
||||
// issue 142
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid("."));
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid("/"));
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid(".scm/plugins"));
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid("scm/plugins/."));
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid("scm/../plugins"));
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid("scm/main/"));
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid("/scm/main/"));
|
||||
|
||||
|
||||
// issue 144
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid("scm/./main"));
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid("scm//main"));
|
||||
|
||||
// issue 148
|
||||
//J-
|
||||
String[] validPaths = {
|
||||
"scm",
|
||||
"scm/main",
|
||||
"scm/plugins/git-plugin",
|
||||
"s",
|
||||
"sc",
|
||||
".scm/plugins",
|
||||
".hiddenrepo",
|
||||
"b.",
|
||||
"...",
|
||||
"..c",
|
||||
"d..",
|
||||
"a/b..",
|
||||
"a/..b",
|
||||
"a..c",
|
||||
};
|
||||
|
||||
String[] invalidPaths = {
|
||||
".",
|
||||
"/",
|
||||
"//",
|
||||
"..",
|
||||
"/.",
|
||||
"/..",
|
||||
"./",
|
||||
"../",
|
||||
"/../",
|
||||
"/./",
|
||||
"/...",
|
||||
"/abc",
|
||||
".../",
|
||||
"/sdf/",
|
||||
"asdf/",
|
||||
"./b",
|
||||
"scm/plugins/.",
|
||||
"scm/../plugins",
|
||||
"scm/main/",
|
||||
"/scm/main/",
|
||||
"scm/./main",
|
||||
"scm//main",
|
||||
"scm\\main",
|
||||
"scm/main-$HOME",
|
||||
"scm/main-${HOME}-home",
|
||||
"scm/main-%HOME-home",
|
||||
"scm/main-%HOME%-home",
|
||||
"abc$abc",
|
||||
"abc%abc",
|
||||
"abc<abc",
|
||||
"abc>abc",
|
||||
"abc#abc",
|
||||
"abc+abc",
|
||||
"abc{abc",
|
||||
"abc}abc",
|
||||
"abc(abc",
|
||||
"abc)abc",
|
||||
"abc[abc",
|
||||
"abc]abc",
|
||||
"abc|abc"
|
||||
};
|
||||
//J+
|
||||
|
||||
for (String path : validPaths)
|
||||
{
|
||||
assertTrue(ValidationUtil.isRepositoryNameValid(path));
|
||||
}
|
||||
|
||||
for (String path : invalidPaths)
|
||||
{
|
||||
assertFalse(ValidationUtil.isRepositoryNameValid(path));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user