aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/http/upload_pack_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plumbing/transport/http/upload_pack_test.go')
-rw-r--r--plumbing/transport/http/upload_pack_test.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/plumbing/transport/http/upload_pack_test.go b/plumbing/transport/http/upload_pack_test.go
index 6fae443..f9710ab 100644
--- a/plumbing/transport/http/upload_pack_test.go
+++ b/plumbing/transport/http/upload_pack_test.go
@@ -1,8 +1,10 @@
package http
import (
+ "context"
"fmt"
"io/ioutil"
+ "net/url"
"os"
"path/filepath"
@@ -103,3 +105,32 @@ func (s *UploadPackSuite) TestAdvertisedReferencesRedirectSchema(c *C) {
url := session.(*upSession).endpoint.String()
c.Assert(url, Equals, "https://github.com/git-fixtures/basic")
}
+
+func (s *UploadPackSuite) TestAdvertisedReferencesContext(c *C) {
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ endpoint, _ := transport.NewEndpoint("http://github.com/git-fixtures/basic")
+
+ session, err := s.Client.NewUploadPackSession(endpoint, s.EmptyAuth)
+ c.Assert(err, IsNil)
+
+ info, err := session.AdvertisedReferencesContext(ctx)
+ c.Assert(err, IsNil)
+ c.Assert(info, NotNil)
+
+ url := session.(*upSession).endpoint.String()
+ c.Assert(url, Equals, "https://github.com/git-fixtures/basic")
+}
+
+func (s *UploadPackSuite) TestAdvertisedReferencesContextCanceled(c *C) {
+ ctx, cancel := context.WithCancel(context.Background())
+ cancel()
+ endpoint, _ := transport.NewEndpoint("http://github.com/git-fixtures/basic")
+
+ session, err := s.Client.NewUploadPackSession(endpoint, s.EmptyAuth)
+ c.Assert(err, IsNil)
+
+ info, err := session.AdvertisedReferencesContext(ctx)
+ c.Assert(err, DeepEquals, &url.Error{Op: "Get", URL: "http://github.com/git-fixtures/basic/info/refs?service=git-upload-pack", Err: context.Canceled})
+ c.Assert(info, IsNil)
+}