X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/16f704326f44fd1e5e5e60b936c9b5895d6a6ff8..2f66d4cc05e9442a9bb69969744d0750a02a1ed4:/services/api/test/unit/group_test.rb diff --git a/services/api/test/unit/group_test.rb b/services/api/test/unit/group_test.rb index 8b3052e785..24d7333ab5 100644 --- a/services/api/test/unit/group_test.rb +++ b/services/api/test/unit/group_test.rb @@ -232,4 +232,28 @@ class GroupTest < ActiveSupport::TestCase assert_equal cr_nr_was-1, ContainerRequest.all.length assert_equal job_nr_was-1, Job.all.length end + + test "project names must be displayable in a filesystem" do + set_user_from_auth :active + ["", "{SOLIDUS}"].each do |subst| + Rails.configuration.Collections.ForwardSlashNameSubstitution = subst + g = Group.create + [[nil, true], + ["", true], + [".", false], + ["..", false], + ["...", true], + ["..z..", true], + ["foo/bar", subst != ""], + ["../..", subst != ""], + ["/", subst != ""], + ].each do |name, valid| + g.name = name + g.group_class = "role" + assert_equal true, g.valid? + g.group_class = "project" + assert_equal valid, g.valid?, "#{name.inspect} should be #{valid ? "valid" : "invalid"}" + end + end + end end