aboutsummaryrefslogtreecommitdiffstats
path: root/formats/packp/ulreq/encoder_test.go
diff options
context:
space:
mode:
authorMáximo Cuadros <mcuadros@gmail.com>2016-11-08 23:46:38 +0100
committerGitHub <noreply@github.com>2016-11-08 23:46:38 +0100
commitac095bb12c4d29722b60ba9f20590fa7cfa6bc7d (patch)
tree223f36f336ba3414b1e45cac8af6c4744a5d7ef6 /formats/packp/ulreq/encoder_test.go
parente523701393598f4fa241dd407af9ff8925507a1a (diff)
downloadgo-git-ac095bb12c4d29722b60ba9f20590fa7cfa6bc7d.tar.gz
new plumbing package (#118)
* plumbing: now core was renamed to core, and formats and clients moved inside
Diffstat (limited to 'formats/packp/ulreq/encoder_test.go')
-rw-r--r--formats/packp/ulreq/encoder_test.go268
1 files changed, 0 insertions, 268 deletions
diff --git a/formats/packp/ulreq/encoder_test.go b/formats/packp/ulreq/encoder_test.go
deleted file mode 100644
index 56a8c2a..0000000
--- a/formats/packp/ulreq/encoder_test.go
+++ /dev/null
@@ -1,268 +0,0 @@
-package ulreq
-
-import (
- "bytes"
- "time"
-
- "gopkg.in/src-d/go-git.v4/core"
- "gopkg.in/src-d/go-git.v4/formats/packp/pktline"
-
- . "gopkg.in/check.v1"
-)
-
-type SuiteEncoder struct{}
-
-var _ = Suite(&SuiteEncoder{})
-
-// returns a byte slice with the pkt-lines for the given payloads.
-func pktlines(c *C, payloads ...string) []byte {
- var buf bytes.Buffer
- e := pktline.NewEncoder(&buf)
-
- err := e.EncodeString(payloads...)
- c.Assert(err, IsNil, Commentf("building pktlines for %v\n", payloads))
-
- return buf.Bytes()
-}
-
-func testEncode(c *C, ur *UlReq, expectedPayloads []string) {
- var buf bytes.Buffer
- e := NewEncoder(&buf)
-
- err := e.Encode(ur)
- c.Assert(err, IsNil)
- obtained := buf.Bytes()
-
- expected := pktlines(c, expectedPayloads...)
-
- comment := Commentf("\nobtained = %s\nexpected = %s\n", string(obtained), string(expected))
-
- c.Assert(obtained, DeepEquals, expected, comment)
-}
-
-func testEncodeError(c *C, ur *UlReq, expectedErrorRegEx string) {
- var buf bytes.Buffer
- e := NewEncoder(&buf)
-
- err := e.Encode(ur)
- c.Assert(err, ErrorMatches, expectedErrorRegEx)
-}
-
-func (s *SuiteEncoder) TestZeroValue(c *C) {
- ur := New()
- expectedErrorRegEx := ".*empty wants.*"
-
- testEncodeError(c, ur, expectedErrorRegEx)
-}
-
-func (s *SuiteEncoder) TestOneWant(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
-
- expected := []string{
- "want 1111111111111111111111111111111111111111\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestOneWantWithCapabilities(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- ur.Capabilities.Add("sysref", "HEAD:/refs/heads/master")
- ur.Capabilities.Add("multi_ack")
- ur.Capabilities.Add("thin-pack")
- ur.Capabilities.Add("side-band")
- ur.Capabilities.Add("ofs-delta")
-
- expected := []string{
- "want 1111111111111111111111111111111111111111 multi_ack ofs-delta side-band sysref=HEAD:/refs/heads/master thin-pack\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestWants(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("4444444444444444444444444444444444444444"))
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- ur.Wants = append(ur.Wants, core.NewHash("3333333333333333333333333333333333333333"))
- ur.Wants = append(ur.Wants, core.NewHash("2222222222222222222222222222222222222222"))
- ur.Wants = append(ur.Wants, core.NewHash("5555555555555555555555555555555555555555"))
-
- expected := []string{
- "want 1111111111111111111111111111111111111111\n",
- "want 2222222222222222222222222222222222222222\n",
- "want 3333333333333333333333333333333333333333\n",
- "want 4444444444444444444444444444444444444444\n",
- "want 5555555555555555555555555555555555555555\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestWantsWithCapabilities(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("4444444444444444444444444444444444444444"))
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- ur.Wants = append(ur.Wants, core.NewHash("3333333333333333333333333333333333333333"))
- ur.Wants = append(ur.Wants, core.NewHash("2222222222222222222222222222222222222222"))
- ur.Wants = append(ur.Wants, core.NewHash("5555555555555555555555555555555555555555"))
-
- ur.Capabilities.Add("sysref", "HEAD:/refs/heads/master")
- ur.Capabilities.Add("multi_ack")
- ur.Capabilities.Add("thin-pack")
- ur.Capabilities.Add("side-band")
- ur.Capabilities.Add("ofs-delta")
-
- expected := []string{
- "want 1111111111111111111111111111111111111111 multi_ack ofs-delta side-band sysref=HEAD:/refs/heads/master thin-pack\n",
- "want 2222222222222222222222222222222222222222\n",
- "want 3333333333333333333333333333333333333333\n",
- "want 4444444444444444444444444444444444444444\n",
- "want 5555555555555555555555555555555555555555\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestShallow(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- ur.Capabilities.Add("multi_ack")
- ur.Shallows = append(ur.Shallows, core.NewHash("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"))
-
- expected := []string{
- "want 1111111111111111111111111111111111111111 multi_ack\n",
- "shallow aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestManyShallows(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- ur.Capabilities.Add("multi_ack")
- ur.Shallows = append(ur.Shallows, core.NewHash("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"))
- ur.Shallows = append(ur.Shallows, core.NewHash("dddddddddddddddddddddddddddddddddddddddd"))
- ur.Shallows = append(ur.Shallows, core.NewHash("cccccccccccccccccccccccccccccccccccccccc"))
- ur.Shallows = append(ur.Shallows, core.NewHash("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"))
-
- expected := []string{
- "want 1111111111111111111111111111111111111111 multi_ack\n",
- "shallow aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n",
- "shallow bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\n",
- "shallow cccccccccccccccccccccccccccccccccccccccc\n",
- "shallow dddddddddddddddddddddddddddddddddddddddd\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestDepthCommits(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- ur.Depth = DepthCommits(1234)
-
- expected := []string{
- "want 1111111111111111111111111111111111111111\n",
- "deepen 1234\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestDepthSinceUTC(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- since := time.Date(2015, time.January, 2, 3, 4, 5, 0, time.UTC)
- ur.Depth = DepthSince(since)
-
- expected := []string{
- "want 1111111111111111111111111111111111111111\n",
- "deepen-since 1420167845\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestDepthSinceNonUTC(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- berlin, err := time.LoadLocation("Europe/Berlin")
- c.Assert(err, IsNil)
- since := time.Date(2015, time.January, 2, 3, 4, 5, 0, berlin)
- // since value is 2015-01-02 03:04:05 +0100 UTC (Europe/Berlin) or
- // 2015-01-02 02:04:05 +0000 UTC, which is 1420164245 Unix seconds.
- ur.Depth = DepthSince(since)
-
- expected := []string{
- "want 1111111111111111111111111111111111111111\n",
- "deepen-since 1420164245\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestDepthReference(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- ur.Depth = DepthReference("refs/heads/feature-foo")
-
- expected := []string{
- "want 1111111111111111111111111111111111111111\n",
- "deepen-not refs/heads/feature-foo\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}
-
-func (s *SuiteEncoder) TestAll(c *C) {
- ur := New()
- ur.Wants = append(ur.Wants, core.NewHash("4444444444444444444444444444444444444444"))
- ur.Wants = append(ur.Wants, core.NewHash("1111111111111111111111111111111111111111"))
- ur.Wants = append(ur.Wants, core.NewHash("3333333333333333333333333333333333333333"))
- ur.Wants = append(ur.Wants, core.NewHash("2222222222222222222222222222222222222222"))
- ur.Wants = append(ur.Wants, core.NewHash("5555555555555555555555555555555555555555"))
-
- ur.Capabilities.Add("sysref", "HEAD:/refs/heads/master")
- ur.Capabilities.Add("multi_ack")
- ur.Capabilities.Add("thin-pack")
- ur.Capabilities.Add("side-band")
- ur.Capabilities.Add("ofs-delta")
-
- ur.Shallows = append(ur.Shallows, core.NewHash("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"))
- ur.Shallows = append(ur.Shallows, core.NewHash("dddddddddddddddddddddddddddddddddddddddd"))
- ur.Shallows = append(ur.Shallows, core.NewHash("cccccccccccccccccccccccccccccccccccccccc"))
- ur.Shallows = append(ur.Shallows, core.NewHash("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"))
-
- since := time.Date(2015, time.January, 2, 3, 4, 5, 0, time.UTC)
- ur.Depth = DepthSince(since)
-
- expected := []string{
- "want 1111111111111111111111111111111111111111 multi_ack ofs-delta side-band sysref=HEAD:/refs/heads/master thin-pack\n",
- "want 2222222222222222222222222222222222222222\n",
- "want 3333333333333333333333333333333333333333\n",
- "want 4444444444444444444444444444444444444444\n",
- "want 5555555555555555555555555555555555555555\n",
- "shallow aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n",
- "shallow bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\n",
- "shallow cccccccccccccccccccccccccccccccccccccccc\n",
- "shallow dddddddddddddddddddddddddddddddddddddddd\n",
- "deepen-since 1420167845\n",
- pktline.FlushString,
- }
-
- testEncode(c, ur, expected)
-}