enhanced_test.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package response
  2. import (
  3. "testing"
  4. )
  5. func TestClass(t *testing.T) {
  6. if ClassPermanentFailure != 5 {
  7. t.Error("ClassPermanentFailure is not 5")
  8. }
  9. if ClassTransientFailure != 4 {
  10. t.Error("ClassTransientFailure is not 4")
  11. }
  12. if ClassSuccess != 2 {
  13. t.Error("ClassSuccess is not 2")
  14. }
  15. }
  16. func TestGetBasicStatusCode(t *testing.T) {
  17. // Known status code
  18. a := getBasicStatusCode(EnhancedStatusCode{2, OtherOrUndefinedProtocolStatus})
  19. if a != 250 {
  20. t.Errorf("getBasicStatusCode. Int \"%d\" not expected.", a)
  21. }
  22. // Unknown status code
  23. b := getBasicStatusCode(EnhancedStatusCode{2, OtherStatus})
  24. if b != 200 {
  25. t.Errorf("getBasicStatusCode. Int \"%d\" not expected.", b)
  26. }
  27. }
  28. // TestString for the String function
  29. func TestCustomString(t *testing.T) {
  30. // Basic testing
  31. resp := &Response{
  32. EnhancedCode: OtherStatus,
  33. BasicCode: 200,
  34. Class: ClassSuccess,
  35. Comment: "Test",
  36. }
  37. if resp.String() != "200 2.0.0 Test" {
  38. t.Errorf("CustomString failed. String \"%s\" not expected.", resp)
  39. }
  40. // Default String
  41. resp2 := &Response{
  42. EnhancedCode: OtherStatus,
  43. Class: ClassSuccess,
  44. }
  45. if resp2.String() != "200 2.0.0 OK" {
  46. t.Errorf("String failed. String \"%s\" not expected.", resp2)
  47. }
  48. }
  49. func TestBuildEnhancedResponseFromDefaultStatus(t *testing.T) {
  50. //a := buildEnhancedResponseFromDefaultStatus(ClassPermanentFailure, InvalidCommand)
  51. a := EnhancedStatusCode{ClassPermanentFailure, InvalidCommand}.String()
  52. if a != "5.5.1" {
  53. t.Errorf("buildEnhancedResponseFromDefaultStatus failed. String \"%s\" not expected.", a)
  54. }
  55. }