func (s *UpdReqSuite) TestNewReferenceUpdateRequestFromCapabilities(c *C) { cap := capability.NewList() cap.Set(capability.Sideband) cap.Set(capability.Sideband64k) cap.Set(capability.Quiet) cap.Set(capability.ReportStatus) cap.Set(capability.DeleteRefs) cap.Set(capability.PushCert, "foo") cap.Set(capability.Atomic) cap.Set(capability.Agent, "foo") r := NewReferenceUpdateRequestFromCapabilities(cap) c.Assert(r.Capabilities.String(), Equals, "agent=go-git/4.x report-status", ) cap = capability.NewList() cap.Set(capability.Agent, "foo") r = NewReferenceUpdateRequestFromCapabilities(cap) c.Assert(r.Capabilities.String(), Equals, "agent=go-git/4.x") cap = capability.NewList() r = NewReferenceUpdateRequestFromCapabilities(cap) c.Assert(r.Capabilities.String(), Equals, "") }
func (s *UploadPackRequestSuite) TestNewUploadPackRequestFromCapabilities(c *C) { cap := capability.NewList() cap.Set(capability.Agent, "foo") r := NewUploadPackRequestFromCapabilities(cap) c.Assert(r.Capabilities.String(), Equals, "agent=go-git/4.x") }
func (s *SuiteCommon) TestFilterUnsupportedCapabilities(c *C) { l := capability.NewList() l.Set(capability.MultiACK) FilterUnsupportedCapabilities(l) c.Assert(l.Supports(capability.MultiACK), Equals, false) }
// NewUploadRequest returns a pointer to a new UploadRequest value, ready to be // used. It has no capabilities, wants or shallows and an infinite depth. Please // note that to encode an upload-request it has to have at least one wanted hash. func NewUploadRequest() *UploadRequest { return &UploadRequest{ Capabilities: capability.NewList(), Wants: []plumbing.Hash{}, Shallows: []plumbing.Hash{}, Depth: DepthCommits(0), } }
// NewAdvRefs returns a pointer to a new AdvRefs value, ready to be used. func NewAdvRefs() *AdvRefs { return &AdvRefs{ Prefix: [][]byte{}, Capabilities: capability.NewList(), References: make(map[string]plumbing.Hash), Peeled: make(map[string]plumbing.Hash), Shallows: []plumbing.Hash{}, } }
func (s *AdvRefsEncodeSuite) TestAll(c *C) { hash := plumbing.NewHash("6ecf0ef2c2dffb796033e5a02219af86ec6584e5") capabilities := capability.NewList() capabilities.Add(capability.MultiACK) capabilities.Add(capability.OFSDelta) capabilities.Add(capability.SymRef, "HEAD:/refs/heads/master") references := map[string]plumbing.Hash{ "refs/heads/master": plumbing.NewHash("a6930aaee06755d1bdcfd943fbf614e4d92bb0c7"), "refs/tags/v2.6.12-tree": plumbing.NewHash("1111111111111111111111111111111111111111"), "refs/tags/v2.7.13-tree": plumbing.NewHash("3333333333333333333333333333333333333333"), "refs/tags/v2.6.13-tree": plumbing.NewHash("2222222222222222222222222222222222222222"), "refs/tags/v2.6.11-tree": plumbing.NewHash("5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c"), } peeled := map[string]plumbing.Hash{ "refs/tags/v2.7.13-tree": plumbing.NewHash("4444444444444444444444444444444444444444"), "refs/tags/v2.6.12-tree": plumbing.NewHash("5555555555555555555555555555555555555555"), } shallows := []plumbing.Hash{ plumbing.NewHash("1111111111111111111111111111111111111111"), plumbing.NewHash("4444444444444444444444444444444444444444"), plumbing.NewHash("3333333333333333333333333333333333333333"), plumbing.NewHash("2222222222222222222222222222222222222222"), } ar := &AdvRefs{ Head: &hash, Capabilities: capabilities, References: references, Peeled: peeled, Shallows: shallows, } expected := pktlines(c, "6ecf0ef2c2dffb796033e5a02219af86ec6584e5 HEAD\x00multi_ack ofs-delta symref=HEAD:/refs/heads/master\n", "a6930aaee06755d1bdcfd943fbf614e4d92bb0c7 refs/heads/master\n", "5dc01c595e6c6ec9ccda4f6f69c131c0dd945f8c refs/tags/v2.6.11-tree\n", "1111111111111111111111111111111111111111 refs/tags/v2.6.12-tree\n", "5555555555555555555555555555555555555555 refs/tags/v2.6.12-tree^{}\n", "2222222222222222222222222222222222222222 refs/tags/v2.6.13-tree\n", "3333333333333333333333333333333333333333 refs/tags/v2.7.13-tree\n", "4444444444444444444444444444444444444444 refs/tags/v2.7.13-tree^{}\n", "shallow 1111111111111111111111111111111111111111\n", "shallow 2222222222222222222222222222222222222222\n", "shallow 3333333333333333333333333333333333333333\n", "shallow 4444444444444444444444444444444444444444\n", pktline.FlushString, ) testEncode(c, ar, expected) }
func (s *UlReqSuite) TestNewUploadRequestFromCapabilities(c *C) { cap := capability.NewList() cap.Set(capability.Sideband) cap.Set(capability.Sideband64k) cap.Set(capability.MultiACK) cap.Set(capability.MultiACKDetailed) cap.Set(capability.ThinPack) cap.Set(capability.OFSDelta) cap.Set(capability.Agent, "foo") r := NewUploadRequestFromCapabilities(cap) c.Assert(r.Capabilities.String(), Equals, "multi_ack_detailed side-band-64k thin-pack ofs-delta agent=go-git/4.x", ) }
func (s *AdvRefsEncodeSuite) TestCapsNoHead(c *C) { capabilities := capability.NewList() capabilities.Add(capability.MultiACK) capabilities.Add(capability.OFSDelta) capabilities.Add(capability.SymRef, "HEAD:/refs/heads/master") ar := &AdvRefs{ Capabilities: capabilities, } expected := pktlines(c, "0000000000000000000000000000000000000000 capabilities^{}\x00multi_ack ofs-delta symref=HEAD:/refs/heads/master\n", pktline.FlushString, ) testEncode(c, ar, expected) }
func (s *AdvRefsEncodeSuite) TestCapsWithHead(c *C) { hash := plumbing.NewHash("6ecf0ef2c2dffb796033e5a02219af86ec6584e5") capabilities := capability.NewList() capabilities.Add(capability.MultiACK) capabilities.Add(capability.OFSDelta) capabilities.Add(capability.SymRef, "HEAD:/refs/heads/master") ar := &AdvRefs{ Head: &hash, Capabilities: capabilities, } expected := pktlines(c, "6ecf0ef2c2dffb796033e5a02219af86ec6584e5 HEAD\x00multi_ack ofs-delta symref=HEAD:/refs/heads/master\n", pktline.FlushString, ) testEncode(c, ar, expected) }
// New returns a pointer to a new ReferenceUpdateRequest value. func NewReferenceUpdateRequest() *ReferenceUpdateRequest { return &ReferenceUpdateRequest{ Capabilities: capability.NewList(), Commands: nil, } }