httputils_test.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package httputils
  2. import "testing"
  3. func TestDownload(t *testing.T) {
  4. _, err := Download("http://docker.com")
  5. if err != nil {
  6. t.Fatalf("Expected error to not exist when Download(http://docker.com)")
  7. }
  8. // Expected status code = 404
  9. if _, err = Download("http://docker.com/abc1234567"); err == nil {
  10. t.Fatalf("Expected error to exist when Download(http://docker.com/abc1234567)")
  11. }
  12. }
  13. func TestNewHTTPRequestError(t *testing.T) {
  14. errorMessage := "Some error message"
  15. httpResponse, _ := Download("http://docker.com")
  16. if err := NewHTTPRequestError(errorMessage, httpResponse); err.Error() != errorMessage {
  17. t.Fatalf("Expected err to equal error Message")
  18. }
  19. }
  20. func TestParseServerHeader(t *testing.T) {
  21. if _, err := ParseServerHeader("bad header"); err != errInvalidHeader {
  22. t.Fatalf("Should fail when header can not be parsed")
  23. }
  24. if _, err := ParseServerHeader("(bad header)"); err != errInvalidHeader {
  25. t.Fatalf("Should fail when header can not be parsed")
  26. }
  27. if _, err := ParseServerHeader("(without/spaces)"); err != errInvalidHeader {
  28. t.Fatalf("Should fail when header can not be parsed")
  29. }
  30. if _, err := ParseServerHeader("(header/with space)"); err != errInvalidHeader {
  31. t.Fatalf("Expected err to not exist when ParseServerHeader(\"(header/with space)\")")
  32. }
  33. serverHeader, err := ParseServerHeader("foo/bar (baz)")
  34. if err != nil {
  35. t.Fatal(err)
  36. }
  37. if serverHeader.App != "foo" {
  38. t.Fatalf("Expected serverHeader.App to equal \"foo\", got %s", serverHeader.App)
  39. }
  40. if serverHeader.Ver != "bar" {
  41. t.Fatalf("Expected serverHeader.Ver to equal \"bar\", got %s", serverHeader.Ver)
  42. }
  43. if serverHeader.OS != "baz" {
  44. t.Fatalf("Expected serverHeader.OS to equal \"baz\", got %s", serverHeader.OS)
  45. }
  46. }