Skip to content

Commit 29614f9

Browse files
committed
avoid import to testing helpers outside of tests
Signed-off-by: Tonis Tiigi <[email protected]>
1 parent 8f9c25e commit 29614f9

File tree

8 files changed

+183
-169
lines changed

8 files changed

+183
-169
lines changed

build/git_test.go

+11-10
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,26 @@ import (
99
"testing"
1010

1111
"github.com/docker/buildx/util/gitutil"
12+
"github.com/docker/buildx/util/gitutil/gittestutil"
1213
"github.com/moby/buildkit/client"
1314
specs "github.com/opencontainers/image-spec/specs-go/v1"
1415
"github.com/stretchr/testify/assert"
1516
"github.com/stretchr/testify/require"
1617
)
1718

1819
func setupTest(tb testing.TB) {
19-
gitutil.Mktmp(tb)
20+
gittestutil.Mktmp(tb)
2021

2122
c, err := gitutil.New()
2223
require.NoError(tb, err)
23-
gitutil.GitInit(c, tb)
24+
gittestutil.GitInit(c, tb)
2425

2526
df := []byte("FROM alpine:latest\n")
2627
require.NoError(tb, os.WriteFile("Dockerfile", df, 0644))
2728

28-
gitutil.GitAdd(c, tb, "Dockerfile")
29-
gitutil.GitCommit(c, tb, "initial commit")
30-
gitutil.GitSetRemote(c, tb, "origin", "[email protected]:docker/buildx.git")
29+
gittestutil.GitAdd(c, tb, "Dockerfile")
30+
gittestutil.GitCommit(c, tb, "initial commit")
31+
gittestutil.GitSetRemote(c, tb, "origin", "[email protected]:docker/buildx.git")
3132
}
3233

3334
func TestGetGitAttributesNotGitRepo(t *testing.T) {
@@ -188,19 +189,19 @@ func TestLocalDirs(t *testing.T) {
188189
}
189190

190191
func TestLocalDirsSub(t *testing.T) {
191-
gitutil.Mktmp(t)
192+
gittestutil.Mktmp(t)
192193

193194
c, err := gitutil.New()
194195
require.NoError(t, err)
195-
gitutil.GitInit(c, t)
196+
gittestutil.GitInit(c, t)
196197

197198
df := []byte("FROM alpine:latest\n")
198199
require.NoError(t, os.MkdirAll("app", 0755))
199200
require.NoError(t, os.WriteFile("app/Dockerfile", df, 0644))
200201

201-
gitutil.GitAdd(c, t, "app/Dockerfile")
202-
gitutil.GitCommit(c, t, "initial commit")
203-
gitutil.GitSetRemote(c, t, "origin", "[email protected]:docker/buildx.git")
202+
gittestutil.GitAdd(c, t, "app/Dockerfile")
203+
gittestutil.GitCommit(c, t, "initial commit")
204+
gittestutil.GitSetRemote(c, t, "origin", "[email protected]:docker/buildx.git")
204205

205206
so := &client.SolveOpt{
206207
FrontendAttrs: map[string]string{},

tests/bake.go

+48-47
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/containerd/continuity/fs/fstest"
1818
"github.com/docker/buildx/bake"
1919
"github.com/docker/buildx/util/gitutil"
20+
"github.com/docker/buildx/util/gitutil/gittestutil"
2021
"github.com/moby/buildkit/client"
2122
"github.com/moby/buildkit/frontend/subrequests/lint"
2223
"github.com/moby/buildkit/identity"
@@ -415,10 +416,10 @@ EOT
415416
git, err := gitutil.New(gitutil.WithWorkingDir(dir))
416417
require.NoError(t, err)
417418

418-
gitutil.GitInit(git, t)
419-
gitutil.GitAdd(git, t, "docker-bake.hcl", "foo")
420-
gitutil.GitCommit(git, t, "initial commit")
421-
addr := gitutil.GitServeHTTP(git, t)
419+
gittestutil.GitInit(git, t)
420+
gittestutil.GitAdd(git, t, "docker-bake.hcl", "foo")
421+
gittestutil.GitCommit(git, t, "initial commit")
422+
addr := gittestutil.GitServeHTTP(git, t)
422423

423424
out, err := bakeCmd(sb, withDir(dir), withArgs(addr, "--set", "*.output=type=local,dest="+dirDest))
424425
require.NoError(t, err, out)
@@ -445,12 +446,12 @@ EOT
445446
git, err := gitutil.New(gitutil.WithWorkingDir(dir))
446447
require.NoError(t, err)
447448

448-
gitutil.GitInit(git, t)
449-
gitutil.GitAdd(git, t, "docker-bake.hcl", "foo")
450-
gitutil.GitCommit(git, t, "initial commit")
449+
gittestutil.GitInit(git, t)
450+
gittestutil.GitAdd(git, t, "docker-bake.hcl", "foo")
451+
gittestutil.GitCommit(git, t, "initial commit")
451452

452453
token := identity.NewID()
453-
addr := gitutil.GitServeHTTP(git, t, gitutil.WithAccessToken(token))
454+
addr := gittestutil.GitServeHTTP(git, t, gittestutil.WithAccessToken(token))
454455

455456
out, err := bakeCmd(sb, withDir(dir),
456457
withEnv("BUILDX_BAKE_GIT_AUTH_TOKEN="+token),
@@ -492,10 +493,10 @@ EOT
492493
git, err := gitutil.New(gitutil.WithWorkingDir(dirSpec))
493494
require.NoError(t, err)
494495

495-
gitutil.GitInit(git, t)
496-
gitutil.GitAdd(git, t, "docker-bake.hcl", "bar")
497-
gitutil.GitCommit(git, t, "initial commit")
498-
addr := gitutil.GitServeHTTP(git, t)
496+
gittestutil.GitInit(git, t)
497+
gittestutil.GitAdd(git, t, "docker-bake.hcl", "bar")
498+
gittestutil.GitCommit(git, t, "initial commit")
499+
addr := gittestutil.GitServeHTTP(git, t)
499500

500501
out, err := bakeCmd(sb, withDir(dirSrc), withArgs(addr, "--file", "cwd://local-docker-bake.hcl", "--set", "*.output=type=local,dest="+dirDest))
501502
require.NoError(t, err, out)
@@ -561,10 +562,10 @@ EOT
561562
git, err := gitutil.New(gitutil.WithWorkingDir(dirSpec))
562563
require.NoError(t, err)
563564

564-
gitutil.GitInit(git, t)
565-
gitutil.GitAdd(git, t, "docker-bake.hcl")
566-
gitutil.GitCommit(git, t, "initial commit")
567-
addr := gitutil.GitServeHTTP(git, t)
565+
gittestutil.GitInit(git, t)
566+
gittestutil.GitAdd(git, t, "docker-bake.hcl")
567+
gittestutil.GitCommit(git, t, "initial commit")
568+
addr := gittestutil.GitServeHTTP(git, t)
568569

569570
out, err := bakeCmd(sb, withDir(dirSrc), withArgs(addr, "--set", "*.output=type=local,dest="+dirDest))
570571
require.NoError(t, err, out)
@@ -594,17 +595,17 @@ EOT
594595

595596
gitSpec, err := gitutil.New(gitutil.WithWorkingDir(dirSpec))
596597
require.NoError(t, err)
597-
gitutil.GitInit(gitSpec, t)
598-
gitutil.GitAdd(gitSpec, t, "docker-bake.hcl")
599-
gitutil.GitCommit(gitSpec, t, "initial commit")
600-
addrSpec := gitutil.GitServeHTTP(gitSpec, t)
598+
gittestutil.GitInit(gitSpec, t)
599+
gittestutil.GitAdd(gitSpec, t, "docker-bake.hcl")
600+
gittestutil.GitCommit(gitSpec, t, "initial commit")
601+
addrSpec := gittestutil.GitServeHTTP(gitSpec, t)
601602

602603
gitSrc, err := gitutil.New(gitutil.WithWorkingDir(dirSrc))
603604
require.NoError(t, err)
604-
gitutil.GitInit(gitSrc, t)
605-
gitutil.GitAdd(gitSrc, t, "foo")
606-
gitutil.GitCommit(gitSrc, t, "initial commit")
607-
addrSrc := gitutil.GitServeHTTP(gitSrc, t)
605+
gittestutil.GitInit(gitSrc, t)
606+
gittestutil.GitAdd(gitSrc, t, "foo")
607+
gittestutil.GitCommit(gitSrc, t, "initial commit")
608+
addrSrc := gittestutil.GitServeHTTP(gitSrc, t)
608609

609610
out, err := bakeCmd(sb, withDir("/tmp"), withArgs(addrSpec, addrSrc, "--set", "*.output=type=local,dest="+dirDest))
610611
require.NoError(t, err, out)
@@ -635,10 +636,10 @@ COPY super-cool.txt /
635636

636637
git, err := gitutil.New(gitutil.WithWorkingDir(dir))
637638
require.NoError(t, err)
638-
gitutil.GitInit(git, t)
639-
gitutil.GitAdd(git, t, "docker-bake.hcl", "bar")
640-
gitutil.GitCommit(git, t, "initial commit")
641-
addr := gitutil.GitServeHTTP(git, t)
639+
gittestutil.GitInit(git, t)
640+
gittestutil.GitAdd(git, t, "docker-bake.hcl", "bar")
641+
gittestutil.GitCommit(git, t, "initial commit")
642+
addr := gittestutil.GitServeHTTP(git, t)
642643

643644
out, err := bakeCmd(sb, withDir("/tmp"), withArgs(addr, "--set", "*.output=type=local,dest="+dirDest))
644645
require.NoError(t, err, out)
@@ -676,10 +677,10 @@ EOT
676677
git, err := gitutil.New(gitutil.WithWorkingDir(dirSpec))
677678
require.NoError(t, err)
678679

679-
gitutil.GitInit(git, t)
680-
gitutil.GitAdd(git, t, "docker-bake.hcl")
681-
gitutil.GitCommit(git, t, "initial commit")
682-
addr := gitutil.GitServeHTTP(git, t)
680+
gittestutil.GitInit(git, t)
681+
gittestutil.GitAdd(git, t, "docker-bake.hcl")
682+
gittestutil.GitCommit(git, t, "initial commit")
683+
addr := gittestutil.GitServeHTTP(git, t)
683684

684685
out, err := bakeCmd(
685686
sb,
@@ -724,10 +725,10 @@ EOT
724725
git, err := gitutil.New(gitutil.WithWorkingDir(dirSpec))
725726
require.NoError(t, err)
726727

727-
gitutil.GitInit(git, t)
728-
gitutil.GitAdd(git, t, "docker-bake.hcl")
729-
gitutil.GitCommit(git, t, "initial commit")
730-
addr := gitutil.GitServeHTTP(git, t)
728+
gittestutil.GitInit(git, t)
729+
gittestutil.GitAdd(git, t, "docker-bake.hcl")
730+
gittestutil.GitCommit(git, t, "initial commit")
731+
addr := gittestutil.GitServeHTTP(git, t)
731732

732733
out, err := bakeCmd(
733734
sb,
@@ -780,13 +781,13 @@ COPY foo /foo
780781
git, err := gitutil.New(gitutil.WithWorkingDir(dirSpec))
781782
require.NoError(t, err)
782783

783-
gitutil.GitInit(git, t)
784-
gitutil.GitAdd(git, t, "docker-bake.hcl")
785-
gitutil.GitAdd(git, t, "Dockerfile")
786-
gitutil.GitAdd(git, t, "foo")
787-
gitutil.GitAdd(git, t, "bar")
788-
gitutil.GitCommit(git, t, "initial commit")
789-
addr := gitutil.GitServeHTTP(git, t)
784+
gittestutil.GitInit(git, t)
785+
gittestutil.GitAdd(git, t, "docker-bake.hcl")
786+
gittestutil.GitAdd(git, t, "Dockerfile")
787+
gittestutil.GitAdd(git, t, "foo")
788+
gittestutil.GitAdd(git, t, "bar")
789+
gittestutil.GitCommit(git, t, "initial commit")
790+
addr := gittestutil.GitServeHTTP(git, t)
790791

791792
out, err := bakeCmd(
792793
sb,
@@ -832,10 +833,10 @@ COPY foo /foo
832833
git, err := gitutil.New(gitutil.WithWorkingDir(dirSpec))
833834
require.NoError(t, err)
834835

835-
gitutil.GitInit(git, t)
836-
gitutil.GitAdd(git, t, "docker-bake.hcl")
837-
gitutil.GitCommit(git, t, "initial commit")
838-
addr := gitutil.GitServeHTTP(git, t)
836+
gittestutil.GitInit(git, t)
837+
gittestutil.GitAdd(git, t, "docker-bake.hcl")
838+
gittestutil.GitCommit(git, t, "initial commit")
839+
addr := gittestutil.GitServeHTTP(git, t)
839840

840841
out, err := bakeCmd(
841842
sb,

tests/build.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/docker/buildx/localstate"
2020
"github.com/docker/buildx/util/confutil"
2121
"github.com/docker/buildx/util/gitutil"
22+
"github.com/docker/buildx/util/gitutil/gittestutil"
2223
"github.com/moby/buildkit/client"
2324
"github.com/moby/buildkit/frontend/subrequests/lint"
2425
"github.com/moby/buildkit/frontend/subrequests/outline"
@@ -126,10 +127,10 @@ COPY foo /foo
126127
git, err := gitutil.New(gitutil.WithWorkingDir(dir))
127128
require.NoError(t, err)
128129

129-
gitutil.GitInit(git, t)
130-
gitutil.GitAdd(git, t, "Dockerfile", "foo")
131-
gitutil.GitCommit(git, t, "initial commit")
132-
addr := gitutil.GitServeHTTP(git, t)
130+
gittestutil.GitInit(git, t)
131+
gittestutil.GitAdd(git, t, "Dockerfile", "foo")
132+
gittestutil.GitCommit(git, t, "initial commit")
133+
addr := gittestutil.GitServeHTTP(git, t)
133134

134135
out, err := buildCmd(sb, withDir(dir), withArgs("--output=type=local,dest="+dirDest, addr))
135136
require.NoError(t, err, out)
@@ -238,10 +239,10 @@ COPY foo /foo
238239
git, err := gitutil.New(gitutil.WithWorkingDir(dir))
239240
require.NoError(t, err)
240241

241-
gitutil.GitInit(git, t)
242-
gitutil.GitAdd(git, t, "build.Dockerfile", "foo")
243-
gitutil.GitCommit(git, t, "initial commit")
244-
addr := gitutil.GitServeHTTP(git, t)
242+
gittestutil.GitInit(git, t)
243+
gittestutil.GitAdd(git, t, "build.Dockerfile", "foo")
244+
gittestutil.GitCommit(git, t, "initial commit")
245+
addr := gittestutil.GitServeHTTP(git, t)
245246

246247
out, err := buildCmd(sb, withDir(dir), withArgs(
247248
"-f", "build.Dockerfile",

util/gitutil/credentials_test.go

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package gitutil
2+
3+
import "testing"
4+
5+
func TestStripCredentials(t *testing.T) {
6+
cases := []struct {
7+
name string
8+
url string
9+
want string
10+
}{
11+
{
12+
name: "non-blank Password",
13+
url: "https://user:[email protected]/this:that",
14+
want: "https://host.tld/this:that",
15+
},
16+
{
17+
name: "blank Password",
18+
url: "https://[email protected]/this:that",
19+
want: "https://host.tld/this:that",
20+
},
21+
{
22+
name: "blank Username",
23+
url: "https://:[email protected]/this:that",
24+
want: "https://host.tld/this:that",
25+
},
26+
{
27+
name: "blank Username, blank Password",
28+
url: "https://host.tld/this:that",
29+
want: "https://host.tld/this:that",
30+
},
31+
{
32+
name: "invalid URL",
33+
url: "1https://foo.com",
34+
want: "1https://foo.com",
35+
},
36+
}
37+
for _, tt := range cases {
38+
tt := tt
39+
t.Run(tt.name, func(t *testing.T) {
40+
if g, w := stripCredentials(tt.url), tt.want; g != w {
41+
t.Fatalf("got: %q\nwant: %q", g, w)
42+
}
43+
})
44+
}
45+
}

0 commit comments

Comments
 (0)