Skip to content
This repository was archived by the owner on Sep 11, 2020. It is now read-only.

Commit d015556

Browse files
committed
clients: removing url from the clients constructor
1 parent 35ee4d7 commit d015556

File tree

6 files changed

+47
-46
lines changed

6 files changed

+47
-46
lines changed

clients/common.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,16 @@ type ServiceFromURLFunc func(url string) common.GitUploadPackService
2828
// Wrapping is needed because you can not cast a function that
2929
// returns an implementation of an interface to a function that
3030
// returns the interface.
31-
var DefaultProtocols = map[string]ServiceFromURLFunc{
32-
"http": func(s string) common.GitUploadPackService { return http.NewGitUploadPackService(s) },
33-
"https": func(s string) common.GitUploadPackService { return http.NewGitUploadPackService(s) },
34-
"ssh": func(s string) common.GitUploadPackService { return ssh.NewGitUploadPackService(s) },
31+
var DefaultProtocols = map[string]common.GitUploadPackService{
32+
"http": http.NewGitUploadPackService(),
33+
"https": http.NewGitUploadPackService(),
34+
"ssh": ssh.NewGitUploadPackService(),
3535
}
3636

3737
// KnownProtocols holds the current set of known protocols. Initially
3838
// it gets its contents from `DefaultProtocols`. See `InstallProtocol`
3939
// below to add or modify this variable.
40-
var KnownProtocols = make(map[string]ServiceFromURLFunc, len(DefaultProtocols))
40+
var KnownProtocols = make(map[string]common.GitUploadPackService, len(DefaultProtocols))
4141

4242
func init() {
4343
for k, v := range DefaultProtocols {
@@ -53,17 +53,19 @@ func NewGitUploadPackService(repoURL string) (common.GitUploadPackService, error
5353
if err != nil {
5454
return nil, fmt.Errorf("invalid url %q", repoURL)
5555
}
56-
srvFn, ok := KnownProtocols[u.Scheme]
56+
service, ok := KnownProtocols[u.Scheme]
5757
if !ok {
5858
return nil, fmt.Errorf("unsupported scheme %q", u.Scheme)
5959
}
60-
return srvFn(repoURL), nil
60+
61+
return service, nil
6162
}
6263

6364
// InstallProtocol adds or modifies an existing protocol.
64-
func InstallProtocol(scheme string, serviceFn ServiceFromURLFunc) {
65-
if serviceFn == nil {
65+
func InstallProtocol(scheme string, service common.GitUploadPackService) {
66+
if service == nil {
6667
panic("nil service")
6768
}
68-
KnownProtocols[scheme] = serviceFn
69+
70+
KnownProtocols[scheme] = service
6971
}

clients/common_test.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func (s *SuiteCommon) TestNewGitUploadPackService(c *C) {
3737

3838
type dummyProtocolService struct{}
3939

40-
func newDummyProtocolService(url string) common.GitUploadPackService {
40+
func newDummyProtocolService() common.GitUploadPackService {
4141
return &dummyProtocolService{}
4242
}
4343

@@ -59,23 +59,24 @@ func (s *dummyProtocolService) Fetch(r *common.GitUploadPackRequest) (io.ReadClo
5959

6060
func (s *SuiteCommon) TestInstallProtocol(c *C) {
6161
var tests = [...]struct {
62-
scheme string
63-
serviceFn ServiceFromURLFunc
64-
panic bool
62+
scheme string
63+
service common.GitUploadPackService
64+
panic bool
6565
}{
6666
{"panic", nil, true},
67-
{"newscheme", newDummyProtocolService, false},
68-
{"http", newDummyProtocolService, false},
67+
{"newscheme", newDummyProtocolService(), false},
68+
{"http", newDummyProtocolService(), false},
6969
}
7070

7171
for i, t := range tests {
7272
if t.panic {
73-
fmt.Println(t.serviceFn == nil)
74-
c.Assert(func() { InstallProtocol(t.scheme, t.serviceFn) }, PanicMatches, `nil service`)
73+
fmt.Println(t.service == nil)
74+
c.Assert(func() { InstallProtocol(t.scheme, t.service) }, PanicMatches, `nil service`)
7575
continue
7676
}
77-
InstallProtocol(t.scheme, t.serviceFn)
78-
c.Assert(typeAsString(KnownProtocols[t.scheme]), Equals, typeAsString(t.serviceFn), Commentf("%d) wrong service", i))
77+
78+
InstallProtocol(t.scheme, t.service)
79+
c.Assert(typeAsString(KnownProtocols[t.scheme]), Equals, typeAsString(t.service), Commentf("%d) wrong service", i))
7980
// reset to default protocols after installing
8081
if v, ok := DefaultProtocols[t.scheme]; ok {
8182
InstallProtocol(t.scheme, v)

clients/http/git_upload_pack.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ type GitUploadPackService struct {
1818
auth HTTPAuthMethod
1919
}
2020

21-
func NewGitUploadPackService(url string) *GitUploadPackService {
22-
// url ignored
21+
func NewGitUploadPackService() *GitUploadPackService {
2322
return &GitUploadPackService{
2423
Client: http.DefaultClient,
2524
}

clients/http/git_upload_pack_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ var _ = Suite(&SuiteRemote{})
1515
const RepositoryFixture = "https://github.com/tyba/git-fixture"
1616

1717
func (s *SuiteRemote) TestConnect(c *C) {
18-
r := NewGitUploadPackService(RepositoryFixture)
18+
r := NewGitUploadPackService()
1919
c.Assert(r.Connect(RepositoryFixture), IsNil)
2020
}
2121

2222
func (s *SuiteRemote) TestConnectWithAuth(c *C) {
2323
auth := &BasicAuth{}
24-
r := NewGitUploadPackService(RepositoryFixture)
24+
r := NewGitUploadPackService()
2525
c.Assert(r.ConnectWithAuth(RepositoryFixture, auth), IsNil)
2626
c.Assert(r.auth, Equals, auth)
2727
}
@@ -32,12 +32,12 @@ func (*mockAuth) Name() string { return "" }
3232
func (*mockAuth) String() string { return "" }
3333

3434
func (s *SuiteRemote) TestConnectWithAuthWrongType(c *C) {
35-
r := NewGitUploadPackService(RepositoryFixture)
35+
r := NewGitUploadPackService()
3636
c.Assert(r.ConnectWithAuth(RepositoryFixture, &mockAuth{}), Equals, InvalidAuthMethodErr)
3737
}
3838

3939
func (s *SuiteRemote) TestDefaultBranch(c *C) {
40-
r := NewGitUploadPackService(RepositoryFixture)
40+
r := NewGitUploadPackService()
4141
c.Assert(r.Connect(RepositoryFixture), IsNil)
4242

4343
info, err := r.Info()
@@ -46,7 +46,7 @@ func (s *SuiteRemote) TestDefaultBranch(c *C) {
4646
}
4747

4848
func (s *SuiteRemote) TestCapabilities(c *C) {
49-
r := NewGitUploadPackService(RepositoryFixture)
49+
r := NewGitUploadPackService()
5050
c.Assert(r.Connect(RepositoryFixture), IsNil)
5151

5252
info, err := r.Info()
@@ -55,7 +55,7 @@ func (s *SuiteRemote) TestCapabilities(c *C) {
5555
}
5656

5757
func (s *SuiteRemote) TestFetch(c *C) {
58-
r := NewGitUploadPackService(RepositoryFixture)
58+
r := NewGitUploadPackService()
5959
c.Assert(r.Connect(RepositoryFixture), IsNil)
6060

6161
req := &common.GitUploadPackRequest{}

clients/ssh/git_upload_pack.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ type GitUploadPackService struct {
4242

4343
// NewGitUploadPackService initialises a GitUploadPackService.
4444
// TODO: remove this, as the struct is zero-value safe.
45-
func NewGitUploadPackService(url string) *GitUploadPackService {
46-
// url ignored
45+
func NewGitUploadPackService() *GitUploadPackService {
4746
return &GitUploadPackService{}
4847
}
4948

clients/ssh/git_upload_pack_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const (
2525
)
2626

2727
func (s *SuiteRemote) TestConnect(c *C) {
28-
r := NewGitUploadPackService(fixRepo)
28+
r := NewGitUploadPackService()
2929
c.Assert(r.Connect(fixRepo), Equals, ErrAuthRequired)
3030
}
3131

@@ -62,25 +62,25 @@ func (s *SuiteRemote) TestConnectWithPublicKeysCallback(c *C) {
6262
c.Assert(err, IsNil)
6363
defer func() { c.Assert(agent.close(), IsNil) }()
6464

65-
r := NewGitUploadPackService(fixRepo)
65+
r := NewGitUploadPackService()
6666
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), IsNil)
6767
defer func() { c.Assert(r.Disconnect(), IsNil) }()
6868
c.Assert(r.connected, Equals, true)
6969
c.Assert(r.auth, Equals, agent.auth)
7070
}
7171

7272
func (s *SuiteRemote) TestConnectBadVcs(c *C) {
73-
r := NewGitUploadPackService(fixRepoBadVcs)
73+
r := NewGitUploadPackService()
7474
c.Assert(r.ConnectWithAuth(fixRepoBadVcs, nil), ErrorMatches, fmt.Sprintf(".*%s.*", fixRepoBadVcs))
7575
}
7676

7777
func (s *SuiteRemote) TestConnectNonGit(c *C) {
78-
r := NewGitUploadPackService(fixRepoNonGit)
78+
r := NewGitUploadPackService()
7979
c.Assert(r.ConnectWithAuth(fixRepoNonGit, nil), Equals, ErrUnsupportedVCS)
8080
}
8181

8282
func (s *SuiteRemote) TestConnectNonGithub(c *C) {
83-
r := NewGitUploadPackService(fixGitRepoNonGithub)
83+
r := NewGitUploadPackService()
8484
c.Assert(r.ConnectWithAuth(fixGitRepoNonGithub, nil), Equals, ErrUnsupportedRepo)
8585
}
8686

@@ -92,7 +92,7 @@ func (*mockAuth) Name() string { return "" }
9292
func (*mockAuth) String() string { return "" }
9393

9494
func (s *SuiteRemote) TestConnectWithAuthWrongType(c *C) {
95-
r := NewGitUploadPackService(fixRepo)
95+
r := NewGitUploadPackService()
9696
c.Assert(r.ConnectWithAuth(fixRepo, &mockAuth{}), Equals, ErrInvalidAuthMethod)
9797
c.Assert(r.connected, Equals, false)
9898
}
@@ -102,7 +102,7 @@ func (s *SuiteRemote) TestAlreadyConnected(c *C) {
102102
c.Assert(err, IsNil)
103103
defer func() { c.Assert(agent.close(), IsNil) }()
104104

105-
r := NewGitUploadPackService(fixRepo)
105+
r := NewGitUploadPackService()
106106
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), IsNil)
107107
defer func() { c.Assert(r.Disconnect(), IsNil) }()
108108
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), Equals, ErrAlreadyConnected)
@@ -114,14 +114,14 @@ func (s *SuiteRemote) TestDisconnect(c *C) {
114114
c.Assert(err, IsNil)
115115
defer func() { c.Assert(agent.close(), IsNil) }()
116116

117-
r := NewGitUploadPackService(fixRepo)
117+
r := NewGitUploadPackService()
118118
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), IsNil)
119119
c.Assert(r.Disconnect(), IsNil)
120120
c.Assert(r.connected, Equals, false)
121121
}
122122

123123
func (s *SuiteRemote) TestDisconnectedWhenNonConnected(c *C) {
124-
r := NewGitUploadPackService("Dear Twinkle")
124+
r := NewGitUploadPackService()
125125
c.Assert(r.Disconnect(), Equals, ErrNotConnected)
126126
}
127127

@@ -130,7 +130,7 @@ func (s *SuiteRemote) TestAlreadyDisconnected(c *C) {
130130
c.Assert(err, IsNil)
131131
defer func() { c.Assert(agent.close(), IsNil) }()
132132

133-
r := NewGitUploadPackService(fixRepo)
133+
r := NewGitUploadPackService()
134134
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), IsNil)
135135
c.Assert(r.Disconnect(), IsNil)
136136
c.Assert(r.Disconnect(), Equals, ErrNotConnected)
@@ -142,7 +142,7 @@ func (s *SuiteRemote) TestServeralConnections(c *C) {
142142
c.Assert(err, IsNil)
143143
defer func() { c.Assert(agent.close(), IsNil) }()
144144

145-
r := NewGitUploadPackService(fixRepo)
145+
r := NewGitUploadPackService()
146146
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), IsNil)
147147
c.Assert(r.Disconnect(), IsNil)
148148

@@ -158,7 +158,7 @@ func (s *SuiteRemote) TestServeralConnections(c *C) {
158158
}
159159

160160
func (s *SuiteRemote) TestInfoNotConnected(c *C) {
161-
r := NewGitUploadPackService(fixRepo)
161+
r := NewGitUploadPackService()
162162
_, err := r.Info()
163163
c.Assert(err, Equals, ErrNotConnected)
164164
}
@@ -168,7 +168,7 @@ func (s *SuiteRemote) TestDefaultBranch(c *C) {
168168
c.Assert(err, IsNil)
169169
defer func() { c.Assert(agent.close(), IsNil) }()
170170

171-
r := NewGitUploadPackService(fixRepo)
171+
r := NewGitUploadPackService()
172172
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), IsNil)
173173
defer func() { c.Assert(r.Disconnect(), IsNil) }()
174174

@@ -182,7 +182,7 @@ func (s *SuiteRemote) TestCapabilities(c *C) {
182182
c.Assert(err, IsNil)
183183
defer func() { c.Assert(agent.close(), IsNil) }()
184184

185-
r := NewGitUploadPackService(fixRepo)
185+
r := NewGitUploadPackService()
186186
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), IsNil)
187187
defer func() { c.Assert(r.Disconnect(), IsNil) }()
188188

@@ -192,7 +192,7 @@ func (s *SuiteRemote) TestCapabilities(c *C) {
192192
}
193193

194194
func (s *SuiteRemote) TestFetchNotConnected(c *C) {
195-
r := NewGitUploadPackService("foo bar")
195+
r := NewGitUploadPackService()
196196
pr := &common.GitUploadPackRequest{}
197197
pr.Want(core.NewHash("6ecf0ef2c2dffb796033e5a02219af86ec6584e5"))
198198
_, err := r.Fetch(pr)
@@ -204,7 +204,7 @@ func (s *SuiteRemote) TestFetch(c *C) {
204204
c.Assert(err, IsNil)
205205
defer func() { c.Assert(agent.close(), IsNil) }()
206206

207-
r := NewGitUploadPackService(fixRepo)
207+
r := NewGitUploadPackService()
208208
c.Assert(r.ConnectWithAuth(fixRepo, agent.auth), IsNil)
209209
defer func() { c.Assert(r.Disconnect(), IsNil) }()
210210

0 commit comments

Comments
 (0)