1
1
package git
2
2
3
3
import (
4
- "errors "
4
+ "fmt "
5
5
"io"
6
6
"os"
7
7
"testing"
8
8
9
9
"gopkg.in/src-d/go-git.v4/fixtures"
10
10
"gopkg.in/src-d/go-git.v4/plumbing"
11
- "gopkg.in/src-d/go-git.v4/plumbing/client"
12
- "gopkg.in/src-d/go-git.v4/plumbing/client/common"
13
11
"gopkg.in/src-d/go-git.v4/plumbing/format/packfile"
14
12
"gopkg.in/src-d/go-git.v4/plumbing/format/packp"
13
+ "gopkg.in/src-d/go-git.v4/plumbing/transport"
14
+ "gopkg.in/src-d/go-git.v4/plumbing/transport/client"
15
15
"gopkg.in/src-d/go-git.v4/storage/filesystem"
16
16
17
17
. "gopkg.in/check.v1"
@@ -36,9 +36,7 @@ func (s *BaseSuite) SetUpSuite(c *C) {
36
36
}
37
37
38
38
func (s * BaseSuite ) installMockProtocol (c * C ) {
39
- clients .InstallProtocol ("https" , func (end common.Endpoint ) common.GitUploadPackService {
40
- return & MockGitUploadPackService {endpoint : end }
41
- })
39
+ client .InstallProtocol ("https" , & MockClient {})
42
40
}
43
41
44
42
func (s * BaseSuite ) buildRepository (c * C ) {
@@ -68,38 +66,47 @@ func (s *BaseSuite) buildRepositories(c *C, f fixtures.Fixtures) {
68
66
69
67
const RepositoryFixture = "https://github.com/git-fixtures/basic.git"
70
68
71
- type MockGitUploadPackService struct {
72
- connected bool
73
- endpoint common.Endpoint
74
- auth common.AuthMethod
69
+ type MockClient struct {}
70
+
71
+ type MockFetchPackSession struct {
72
+ endpoint transport.Endpoint
73
+ auth transport.AuthMethod
75
74
}
76
75
77
- func (p * MockGitUploadPackService ) Connect () error {
78
- p .connected = true
79
- return nil
76
+ func (c * MockClient ) NewFetchPackSession (ep transport.Endpoint ) (
77
+ transport.FetchPackSession , error ) {
78
+
79
+ return & MockFetchPackSession {
80
+ endpoint : ep ,
81
+ auth : nil ,
82
+ }, nil
80
83
}
81
84
82
- func (p * MockGitUploadPackService ) SetAuth (auth common.AuthMethod ) error {
83
- p .auth = auth
85
+ func (c * MockClient ) NewSendPackSession (ep transport.Endpoint ) (
86
+ transport.SendPackSession , error ) {
87
+
88
+ return nil , fmt .Errorf ("not supported" )
89
+ }
90
+
91
+ func (c * MockFetchPackSession ) SetAuth (auth transport.AuthMethod ) error {
92
+ c .auth = auth
84
93
return nil
85
94
}
86
95
87
- func (p * MockGitUploadPackService ) Info () (* common.GitUploadPackInfo , error ) {
88
- if ! p .connected {
89
- return nil , errors .New ("not connected" )
90
- }
96
+ func (c * MockFetchPackSession ) AdvertisedReferences () (
97
+ * transport.UploadPackInfo , error ) {
91
98
92
- h := fixtures .ByURL (p .endpoint .String ()).One ().Head
99
+ h := fixtures .ByURL (c .endpoint .String ()).One ().Head
93
100
94
- c := packp .NewCapabilities ()
95
- c .Decode ("6ecf0ef2c2dffb796033e5a02219af86ec6584e5 HEADmulti_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed no-done symref=HEAD:refs/heads/master agent=git/2:2.4.8~dbussink-fix-enterprise-tokens-compilation-1167-gc7006cf" )
101
+ cap := packp .NewCapabilities ()
102
+ cap .Decode ("6ecf0ef2c2dffb796033e5a02219af86ec6584e5 HEADmulti_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed no-done symref=HEAD:refs/heads/master agent=git/2:2.4.8~dbussink-fix-enterprise-tokens-compilation-1167-gc7006cf" )
96
103
97
104
ref := plumbing .ReferenceName ("refs/heads/master" )
98
105
branch := plumbing .ReferenceName ("refs/heads/branch" )
99
106
tag := plumbing .ReferenceName ("refs/tags/v1.0.0" )
100
107
101
- return & common. GitUploadPackInfo {
102
- Capabilities : c ,
108
+ return & transport. UploadPackInfo {
109
+ Capabilities : cap ,
103
110
Refs : map [plumbing.ReferenceName ]* plumbing.Reference {
104
111
plumbing .HEAD : plumbing .NewSymbolicReference (plumbing .HEAD , ref ),
105
112
ref : plumbing .NewHashReference (ref , h ),
@@ -109,12 +116,10 @@ func (p *MockGitUploadPackService) Info() (*common.GitUploadPackInfo, error) {
109
116
}, nil
110
117
}
111
118
112
- func (p * MockGitUploadPackService ) Fetch (r * common.GitUploadPackRequest ) (io.ReadCloser , error ) {
113
- if ! p .connected {
114
- return nil , errors .New ("not connected" )
115
- }
119
+ func (c * MockFetchPackSession ) FetchPack (
120
+ r * transport.UploadPackRequest ) (io.ReadCloser , error ) {
116
121
117
- f := fixtures .ByURL (p .endpoint .String ())
122
+ f := fixtures .ByURL (c .endpoint .String ())
118
123
119
124
if len (r .Wants ) == 1 {
120
125
return f .Exclude ("single-branch" ).One ().Packfile (), nil
@@ -123,8 +128,7 @@ func (p *MockGitUploadPackService) Fetch(r *common.GitUploadPackRequest) (io.Rea
123
128
return f .One ().Packfile (), nil
124
129
}
125
130
126
- func (p * MockGitUploadPackService ) Disconnect () error {
127
- p .connected = false
131
+ func (c * MockFetchPackSession ) Close () error {
128
132
return nil
129
133
}
130
134
0 commit comments