Commit f4df4f9e authored by Grzegorz Bizon's avatar Grzegorz Bizon

Update container repository path reference

We should allow to use double underscore in the path, and it seems that
our container repository path regexp was outdated.

See https://github.com/docker/distribution/blob/master/reference/regexp.go
parent a248bb76
......@@ -25,7 +25,7 @@ module Gitlab
# See https://github.com/docker/distribution/blob/master/reference/regexp.go.
#
def container_repository_name_regex
@container_repository_regex ||= %r{\A[a-z0-9]+(?:[-._/][a-z0-9]+)*\Z}
@container_repository_regex ||= %r{\A[a-z0-9]+((?:[._/]|__|[-])[a-z0-9]+)*\Z}
end
##
......
......@@ -86,6 +86,24 @@ describe ContainerRegistry::Path do
it { is_expected.to be_valid }
end
context 'when path contains double underscore' do
let(:path) { 'my/repository__name' }
it { is_expected.to be_valid }
end
context 'when path contains invalid separator with dot' do
let(:path) { 'some/registry-.name' }
it { is_expected.not_to be_valid }
end
context 'when path contains invalid separator with underscore' do
let(:path) { 'some/registry._name' }
it { is_expected.not_to be_valid }
end
end
describe '#has_repository?' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment