streamwriter_test.go 921 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package proxy
  2. import (
  3. "context"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. "google.golang.org/grpc/metadata"
  7. v1 "github.com/docker/api/containers/v1"
  8. )
  9. type logServer struct {
  10. logs []byte
  11. }
  12. func (ls *logServer) Send(response *v1.LogsResponse) error {
  13. ls.logs = response.Logs
  14. return nil
  15. }
  16. func (ls *logServer) SetHeader(metadata.MD) error {
  17. return nil
  18. }
  19. func (ls *logServer) SendHeader(metadata.MD) error {
  20. return nil
  21. }
  22. func (ls *logServer) SetTrailer(metadata.MD) {
  23. }
  24. func (ls *logServer) Context() context.Context {
  25. return nil
  26. }
  27. func (ls *logServer) SendMsg(m interface{}) error {
  28. return nil
  29. }
  30. func (ls *logServer) RecvMsg(m interface{}) error {
  31. return nil
  32. }
  33. func TestStreamWriter(t *testing.T) {
  34. ls := &logServer{}
  35. sw := newStreamWriter(ls)
  36. in := []byte{104, 101, 108, 108, 111}
  37. l, err := sw.Write(in)
  38. assert.Nil(t, err)
  39. assert.Equal(t, len(in), l)
  40. assert.Equal(t, in, ls.logs)
  41. }