Skip to content

Commit 35fc551

Browse files
committed
[grid] Fixing image parsing when a custom domain is used, fixes #8887
1 parent 88535c5 commit 35fc551

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

java/server/src/org/openqa/selenium/docker/internal/Reference.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class Reference {
3838
private static final String DEFAULT_TAG = "latest";
3939

4040
// Capturing groups used in patterns below
41-
private static final String DOMAIN = "([\\w\\d-_.]+?(:(\\d+))?";
41+
private static final String DOMAIN = "([\\w\\d-_.]+?(:(\\d+))?)";
4242
private static final String REPO = "([\\w\\d-_.]+?)";
4343
private static final String NAME = "([\\w\\d-_.]+?)";
4444
private static final String TAG = "([\\w\\d-_.]+?)";
@@ -59,6 +59,8 @@ public class Reference {
5959
.put(Pattern.compile(String.format("%s@%s", NAME, DIGEST)), m -> new Reference(DEFAULT_DOMAIN, DEFAULT_REPO, m.group(1), null, m.group(2)))
6060
.put(Pattern.compile(String.format("%s/%s:%s", REPO, NAME, TAG)), m -> new Reference(DEFAULT_DOMAIN, m.group(1), m.group(2), m.group(3), null))
6161
.put(Pattern.compile(String.format("%s/%s@%s", REPO, NAME, DIGEST)), m -> new Reference(DEFAULT_DOMAIN, m.group(1), m.group(2), null, m.group(3)))
62+
.put(Pattern.compile(String.format("%s/%s/%s", DOMAIN, REPO, NAME)), m -> new Reference(m.group(1), m.group(4), m.group(5), DEFAULT_TAG, null))
63+
.put(Pattern.compile(String.format("%s/%s/%s:%s", DOMAIN, REPO, NAME, TAG)), m -> new Reference(m.group(1), m.group(4), m.group(5), m.group(6), null))
6264
.build();
6365

6466
private final String domain;

java/server/test/org/openqa/selenium/docker/internal/ReferenceTest.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ public static Collection<Object[]> data() {
4242
{"repo/img", new Reference("docker.io", "repo", "img", "latest",null)},
4343
{"repo/img:tag", new Reference("docker.io", "repo", "img", "tag",null)},
4444
{"repo/img@sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", new Reference("docker.io", "repo", "img", null,"sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")},
45-
// domain/repository/name:tag -> {domain: domain, repository: repository, name: name, tag: tag, digest: null}
45+
{"images.sample.io/repo/img", new Reference("images.sample.io", "repo", "img", "latest",null)},
46+
{"images.sample.io/repo/img:tag", new Reference("images.sample.io", "repo", "img", "tag",null)},
4647
// domain:port/repository/name@digest ->
4748
});
4849
}

0 commit comments

Comments
 (0)