Skip to content

Commit b20070d

Browse files
committed
Revamped testregistry and login tests
Signed-off-by: apostasie <[email protected]>
1 parent 14a6044 commit b20070d

13 files changed

+755
-399
lines changed

cmd/nerdctl/compose_run_linux_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -432,12 +432,13 @@ func TestComposePushAndPullWithCosignVerify(t *testing.T) {
432432
keyPair := newCosignKeyPair(t, "cosign-key-pair")
433433
defer keyPair.cleanup()
434434

435-
reg := testregistry.NewPlainHTTP(base, 5000)
436-
defer reg.Cleanup()
435+
reg := testregistry.NewWithNoAuth(base, 0, false)
436+
defer reg.Cleanup(nil)
437+
437438
localhostIP := "127.0.0.1"
438439
t.Logf("localhost IP=%q", localhostIP)
439440
testImageRefPrefix := fmt.Sprintf("%s:%d/",
440-
localhostIP, reg.ListenPort)
441+
localhostIP, reg.Port)
441442
t.Logf("testImageRefPrefix=%q", testImageRefPrefix)
442443

443444
var (

cmd/nerdctl/container_run_verify_linux_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ func TestRunVerifyCosign(t *testing.T) {
3434
base := testutil.NewBase(t)
3535
defer base.Cmd("builder", "prune").Run()
3636
tID := testutil.Identifier(t)
37-
reg := testregistry.NewPlainHTTP(base, 5000)
38-
defer reg.Cleanup()
37+
reg := testregistry.NewWithNoAuth(base, 0, false)
38+
defer reg.Cleanup(nil)
39+
3940
localhostIP := "127.0.0.1"
4041
t.Logf("localhost IP=%q", localhostIP)
4142
testImageRef := fmt.Sprintf("%s:%d/%s",
42-
localhostIP, reg.ListenPort, tID)
43+
localhostIP, reg.Port, tID)
4344
t.Logf("testImageRef=%q", testImageRef)
4445

4546
dockerfile := fmt.Sprintf(`FROM %s

cmd/nerdctl/image_convert_linux_test.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ func TestImageConvertNydus(t *testing.T) {
3333
}
3434
testutil.RequireExecutable(t, "nydus-image")
3535
testutil.DockerIncompatible(t)
36+
3637
base := testutil.NewBase(t)
38+
t.Parallel()
39+
3740
convertedImage := testutil.Identifier(t) + ":nydus"
3841
base.Cmd("rmi", convertedImage).Run()
3942
base.Cmd("pull", testutil.CommonImage).AssertOK()
@@ -48,18 +51,20 @@ func TestImageConvertNydus(t *testing.T) {
4851
t.Skip("Nydusify check is not supported rootless mode.")
4952
}
5053

51-
// skip if nydusify is not installed
54+
// skip if nydusify and nydusd are not installed
5255
testutil.RequireExecutable(t, "nydusify")
56+
testutil.RequireExecutable(t, "nydusd")
5357

5458
// setup local docker registry
55-
registryPort := 15000
56-
registry := testregistry.NewPlainHTTP(base, registryPort)
57-
defer registry.Cleanup()
59+
registry := testregistry.NewWithNoAuth(base, 0, false)
60+
remoteImage := fmt.Sprintf("%s:%d/nydusd-image:test", "localhost", registry.Port)
61+
t.Cleanup(func() {
62+
base.Cmd("rmi", remoteImage).Run()
63+
registry.Cleanup(nil)
64+
})
5865

59-
remoteImage := fmt.Sprintf("%s:%d/nydusd-image:test", registry.IP.String(), registryPort)
6066
base.Cmd("tag", convertedImage, remoteImage).AssertOK()
61-
defer base.Cmd("rmi", remoteImage).Run()
62-
base.Cmd("push", "--insecure-registry", remoteImage).AssertOK()
67+
base.Cmd("push", remoteImage).AssertOK()
6368
nydusifyCmd := testutil.Cmd{
6469
Cmd: icmd.Command(
6570
"nydusify",
@@ -73,5 +78,8 @@ func TestImageConvertNydus(t *testing.T) {
7378
),
7479
Base: base,
7580
}
81+
82+
// nydus is creating temporary files - make sure we are in a proper location for that
83+
nydusifyCmd.Cmd.Dir = base.T.TempDir()
7684
nydusifyCmd.AssertOK()
7785
}

cmd/nerdctl/image_encrypt_linux_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@ func TestImageEncryptJWE(t *testing.T) {
113113
defer keyPair.cleanup()
114114
base := testutil.NewBase(t)
115115
tID := testutil.Identifier(t)
116-
reg := testregistry.NewPlainHTTP(base, 5000)
117-
defer reg.Cleanup()
116+
reg := testregistry.NewWithNoAuth(base, 0, false)
117+
defer reg.Cleanup(nil)
118118
base.Cmd("pull", testutil.CommonImage).AssertOK()
119-
encryptImageRef := fmt.Sprintf("127.0.0.1:%d/%s:encrypted", reg.ListenPort, tID)
119+
encryptImageRef := fmt.Sprintf("127.0.0.1:%d/%s:encrypted", reg.Port, tID)
120120
defer base.Cmd("rmi", encryptImageRef).Run()
121121
base.Cmd("image", "encrypt", "--recipient=jwe:"+keyPair.pub, testutil.CommonImage, encryptImageRef).AssertOK()
122122
base.Cmd("image", "inspect", "--mode=native", "--format={{len .Index.Manifests}}", encryptImageRef).AssertOutExactly("1\n")

cmd/nerdctl/image_pull_linux_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ func TestImageVerifyWithCosign(t *testing.T) {
6767
base := testutil.NewBase(t)
6868
defer base.Cmd("builder", "prune").Run()
6969
tID := testutil.Identifier(t)
70-
reg := testregistry.NewPlainHTTP(base, 5000)
71-
defer reg.Cleanup()
70+
reg := testregistry.NewWithNoAuth(base, 0, false)
71+
defer reg.Cleanup(nil)
7272
localhostIP := "127.0.0.1"
7373
t.Logf("localhost IP=%q", localhostIP)
7474
testImageRef := fmt.Sprintf("%s:%d/%s",
75-
localhostIP, reg.ListenPort, tID)
75+
localhostIP, reg.Port, tID)
7676
t.Logf("testImageRef=%q", testImageRef)
7777

7878
dockerfile := fmt.Sprintf(`FROM %s
@@ -91,8 +91,8 @@ func TestImagePullPlainHttpWithDefaultPort(t *testing.T) {
9191
testutil.RequiresBuild(t)
9292
base := testutil.NewBase(t)
9393
defer base.Cmd("builder", "prune").Run()
94-
reg := testregistry.NewPlainHTTP(base, 80)
95-
defer reg.Cleanup()
94+
reg := testregistry.NewWithNoAuth(base, 80, false)
95+
defer reg.Cleanup(nil)
9696
testImageRef := fmt.Sprintf("%s/%s:%s",
9797
reg.IP.String(), testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
9898
t.Logf("testImageRef=%q", testImageRef)
@@ -117,12 +117,12 @@ func TestImageVerifyWithCosignShouldFailWhenKeyIsNotCorrect(t *testing.T) {
117117
base := testutil.NewBase(t)
118118
defer base.Cmd("builder", "prune").Run()
119119
tID := testutil.Identifier(t)
120-
reg := testregistry.NewPlainHTTP(base, 5000)
121-
defer reg.Cleanup()
120+
reg := testregistry.NewWithNoAuth(base, 0, false)
121+
defer reg.Cleanup(nil)
122122
localhostIP := "127.0.0.1"
123123
t.Logf("localhost IP=%q", localhostIP)
124124
testImageRef := fmt.Sprintf("%s:%d/%s",
125-
localhostIP, reg.ListenPort, tID)
125+
localhostIP, reg.Port, tID)
126126
t.Logf("testImageRef=%q", testImageRef)
127127

128128
dockerfile := fmt.Sprintf(`FROM %s

cmd/nerdctl/image_push_linux_test.go

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ import (
3030
func TestPushPlainHTTPFails(t *testing.T) {
3131
testutil.RequiresBuild(t)
3232
base := testutil.NewBase(t)
33-
reg := testregistry.NewPlainHTTP(base, 5000)
34-
defer reg.Cleanup()
33+
reg := testregistry.NewWithNoAuth(base, 0, false)
34+
defer reg.Cleanup(nil)
3535

3636
base.Cmd("pull", testutil.CommonImage).AssertOK()
3737
testImageRef := fmt.Sprintf("%s:%d/%s:%s",
38-
reg.IP.String(), reg.ListenPort, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
38+
reg.IP.String(), reg.Port, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
3939
t.Logf("testImageRef=%q", testImageRef)
4040
base.Cmd("tag", testutil.CommonImage, testImageRef).AssertOK()
4141

@@ -49,14 +49,14 @@ func TestPushPlainHTTPFails(t *testing.T) {
4949
func TestPushPlainHTTPLocalhost(t *testing.T) {
5050
testutil.RequiresBuild(t)
5151
base := testutil.NewBase(t)
52-
reg := testregistry.NewPlainHTTP(base, 5000)
53-
defer reg.Cleanup()
52+
reg := testregistry.NewWithNoAuth(base, 0, false)
53+
defer reg.Cleanup(nil)
5454
localhostIP := "127.0.0.1"
5555
t.Logf("localhost IP=%q", localhostIP)
5656

5757
base.Cmd("pull", testutil.CommonImage).AssertOK()
5858
testImageRef := fmt.Sprintf("%s:%d/%s:%s",
59-
localhostIP, reg.ListenPort, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
59+
localhostIP, reg.Port, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
6060
t.Logf("testImageRef=%q", testImageRef)
6161
base.Cmd("tag", testutil.CommonImage, testImageRef).AssertOK()
6262

@@ -69,12 +69,12 @@ func TestPushPlainHTTPInsecure(t *testing.T) {
6969
testutil.DockerIncompatible(t)
7070

7171
base := testutil.NewBase(t)
72-
reg := testregistry.NewPlainHTTP(base, 5000)
73-
defer reg.Cleanup()
72+
reg := testregistry.NewWithNoAuth(base, 0, false)
73+
defer reg.Cleanup(nil)
7474

7575
base.Cmd("pull", testutil.CommonImage).AssertOK()
7676
testImageRef := fmt.Sprintf("%s:%d/%s:%s",
77-
reg.IP.String(), reg.ListenPort, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
77+
reg.IP.String(), reg.Port, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
7878
t.Logf("testImageRef=%q", testImageRef)
7979
base.Cmd("tag", testutil.CommonImage, testImageRef).AssertOK()
8080

@@ -87,8 +87,8 @@ func TestPushPlainHttpInsecureWithDefaultPort(t *testing.T) {
8787
testutil.DockerIncompatible(t)
8888

8989
base := testutil.NewBase(t)
90-
reg := testregistry.NewPlainHTTP(base, 80)
91-
defer reg.Cleanup()
90+
reg := testregistry.NewWithNoAuth(base, 80, false)
91+
defer reg.Cleanup(nil)
9292

9393
base.Cmd("pull", testutil.CommonImage).AssertOK()
9494
testImageRef := fmt.Sprintf("%s/%s:%s",
@@ -105,14 +105,14 @@ func TestPushInsecureWithLogin(t *testing.T) {
105105
testutil.DockerIncompatible(t)
106106

107107
base := testutil.NewBase(t)
108-
reg := testregistry.NewHTTPS(base, "admin", "badmin")
109-
defer reg.Cleanup()
108+
reg := testregistry.NewWithTokenAuth(base, "admin", "badmin", 0, true)
109+
defer reg.Cleanup(nil)
110110

111111
base.Cmd("--insecure-registry", "login", "-u", "admin", "-p", "badmin",
112-
fmt.Sprintf("%s:%d", reg.IP.String(), reg.ListenPort)).AssertOK()
112+
fmt.Sprintf("%s:%d", reg.IP.String(), reg.Port)).AssertOK()
113113
base.Cmd("pull", testutil.CommonImage).AssertOK()
114114
testImageRef := fmt.Sprintf("%s:%d/%s:%s",
115-
reg.IP.String(), reg.ListenPort, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
115+
reg.IP.String(), reg.Port, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
116116
t.Logf("testImageRef=%q", testImageRef)
117117
base.Cmd("tag", testutil.CommonImage, testImageRef).AssertOK()
118118

@@ -126,14 +126,14 @@ func TestPushWithHostsDir(t *testing.T) {
126126
testutil.DockerIncompatible(t)
127127

128128
base := testutil.NewBase(t)
129-
reg := testregistry.NewHTTPS(base, "admin", "badmin")
130-
defer reg.Cleanup()
129+
reg := testregistry.NewWithTokenAuth(base, "admin", "badmin", 0, true)
130+
defer reg.Cleanup(nil)
131131

132-
base.Cmd("--hosts-dir", reg.HostsDir, "login", "-u", "admin", "-p", "badmin", fmt.Sprintf("%s:%d", reg.IP.String(), reg.ListenPort)).AssertOK()
132+
base.Cmd("--hosts-dir", reg.HostsDir, "login", "-u", "admin", "-p", "badmin", fmt.Sprintf("%s:%d", reg.IP.String(), reg.Port)).AssertOK()
133133

134134
base.Cmd("pull", testutil.CommonImage).AssertOK()
135135
testImageRef := fmt.Sprintf("%s:%d/%s:%s",
136-
reg.IP.String(), reg.ListenPort, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
136+
reg.IP.String(), reg.Port, testutil.Identifier(t), strings.Split(testutil.CommonImage, ":")[1])
137137
t.Logf("testImageRef=%q", testImageRef)
138138
base.Cmd("tag", testutil.CommonImage, testImageRef).AssertOK()
139139

@@ -147,18 +147,18 @@ func TestPushNonDistributableArtifacts(t *testing.T) {
147147
testutil.DockerIncompatible(t)
148148

149149
base := testutil.NewBase(t)
150-
reg := testregistry.NewPlainHTTP(base, 5000)
151-
defer reg.Cleanup()
150+
reg := testregistry.NewWithNoAuth(base, 0, false)
151+
defer reg.Cleanup(nil)
152152

153153
base.Cmd("pull", testutil.NonDistBlobImage).AssertOK()
154154

155155
testImgRef := fmt.Sprintf("%s:%d/%s:%s",
156-
reg.IP.String(), reg.ListenPort, testutil.Identifier(t), strings.Split(testutil.NonDistBlobImage, ":")[1])
156+
reg.IP.String(), reg.Port, testutil.Identifier(t), strings.Split(testutil.NonDistBlobImage, ":")[1])
157157
base.Cmd("tag", testutil.NonDistBlobImage, testImgRef).AssertOK()
158158

159159
base.Cmd("--debug", "--insecure-registry", "push", testImgRef).AssertOK()
160160

161-
blobURL := fmt.Sprintf("http://%s:%d/v2/%s/blobs/%s", reg.IP.String(), reg.ListenPort, testutil.Identifier(t), testutil.NonDistBlobDigest)
161+
blobURL := fmt.Sprintf("http://%s:%d/v2/%s/blobs/%s", reg.IP.String(), reg.Port, testutil.Identifier(t), testutil.NonDistBlobDigest)
162162
resp, err := http.Get(blobURL)
163163
assert.Assert(t, err, "error making http request")
164164
if resp.Body != nil {
@@ -179,12 +179,12 @@ func TestPushSoci(t *testing.T) {
179179
testutil.DockerIncompatible(t)
180180
base := testutil.NewBase(t)
181181
requiresSoci(base)
182-
reg := testregistry.NewPlainHTTP(base, 5000)
183-
defer reg.Cleanup()
182+
reg := testregistry.NewWithNoAuth(base, 0, false)
183+
defer reg.Cleanup(nil)
184184

185185
base.Cmd("pull", testutil.UbuntuImage).AssertOK()
186186
testImageRef := fmt.Sprintf("%s:%d/%s:%s",
187-
reg.IP.String(), reg.ListenPort, testutil.Identifier(t), strings.Split(testutil.UbuntuImage, ":")[1])
187+
reg.IP.String(), reg.Port, testutil.Identifier(t), strings.Split(testutil.UbuntuImage, ":")[1])
188188
t.Logf("testImageRef=%q", testImageRef)
189189
base.Cmd("tag", testutil.UbuntuImage, testImageRef).AssertOK()
190190

0 commit comments

Comments
 (0)