dummies_test.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package internal
  2. import (
  3. "io"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. "gopkg.in/src-d/go-git.v4/plumbing"
  7. )
  8. func TestCreateDummyBlob(t *testing.T) {
  9. dummy, err := CreateDummyBlob(plumbing.NewHash("334cde09da4afcb74f8d2b3e6fd6cce61228b485"))
  10. assert.Nil(t, err)
  11. assert.Equal(t, dummy.Hash.String(), "334cde09da4afcb74f8d2b3e6fd6cce61228b485")
  12. assert.Equal(t, dummy.Size, int64(0))
  13. reader, err := dummy.Reader()
  14. assert.Nil(t, err)
  15. buffer := make([]byte, 1)
  16. buffer[0] = 0xff
  17. n, err := reader.Read(buffer)
  18. assert.Equal(t, err, io.EOF)
  19. assert.Equal(t, n, 0)
  20. assert.Equal(t, buffer[0], byte(0xff))
  21. reader.Close()
  22. }
  23. func TestCreateDummyBlobFails(t *testing.T) {
  24. dummy, err := CreateDummyBlob(plumbing.NewHash("334cde09da4afcb74f8d2b3e6fd6cce61228b485"), true)
  25. assert.Nil(t, err)
  26. reader, err := dummy.Reader()
  27. assert.Nil(t, reader)
  28. assert.NotNil(t, err)
  29. assert.Panics(t, func() {
  30. CreateDummyBlob(plumbing.NewHash("334cde09da4afcb74f8d2b3e6fd6cce61228b485"), true, true)
  31. })
  32. }
  33. func TestNotUsedDummyStuff(t *testing.T) {
  34. dio := dummyIO{}
  35. n, err := dio.Write([]byte{})
  36. assert.Nil(t, err)
  37. assert.Equal(t, n, 0)
  38. obj := dummyEncodedObject{}
  39. obj.SetSize(int64(100))
  40. obj.SetType(plumbing.CommitObject)
  41. writer, err := obj.Writer()
  42. assert.Nil(t, err)
  43. assert.NotNil(t, writer)
  44. }