dummies.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package hercules
  2. import (
  3. "io"
  4. "gopkg.in/src-d/go-git.v4/plumbing"
  5. "gopkg.in/src-d/go-git.v4/plumbing/object"
  6. )
  7. type dummyIO struct {
  8. }
  9. func (dummyIO) Read(p []byte) (int, error) {
  10. return 0, io.EOF
  11. }
  12. func (dummyIO) Write(p []byte) (int, error) {
  13. return len(p), nil
  14. }
  15. func (dummyIO) Close() error {
  16. return nil
  17. }
  18. type dummyEncodedObject struct {
  19. FakeHash plumbing.Hash
  20. }
  21. func (obj dummyEncodedObject) Hash() plumbing.Hash {
  22. return obj.FakeHash
  23. }
  24. func (obj dummyEncodedObject) Type() plumbing.ObjectType {
  25. return plumbing.BlobObject
  26. }
  27. func (obj dummyEncodedObject) SetType(plumbing.ObjectType) {
  28. }
  29. func (obj dummyEncodedObject) Size() int64 {
  30. return 0
  31. }
  32. func (obj dummyEncodedObject) SetSize(int64) {
  33. }
  34. func (obj dummyEncodedObject) Reader() (io.ReadCloser, error) {
  35. return dummyIO{}, nil
  36. }
  37. func (obj dummyEncodedObject) Writer() (io.WriteCloser, error) {
  38. return dummyIO{}, nil
  39. }
  40. func createDummyBlob(hash *plumbing.Hash) (*object.Blob, error) {
  41. return object.DecodeBlob(dummyEncodedObject{*hash})
  42. }