utils_test.go 1012 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package sarama
  2. import "testing"
  3. func TestVersionCompare(t *testing.T) {
  4. if V0_8_2_0.IsAtLeast(V0_8_2_1) {
  5. t.Error("0.8.2.0 >= 0.8.2.1")
  6. }
  7. if !V0_8_2_1.IsAtLeast(V0_8_2_0) {
  8. t.Error("! 0.8.2.1 >= 0.8.2.0")
  9. }
  10. if !V0_8_2_0.IsAtLeast(V0_8_2_0) {
  11. t.Error("! 0.8.2.0 >= 0.8.2.0")
  12. }
  13. if !V0_9_0_0.IsAtLeast(V0_8_2_1) {
  14. t.Error("! 0.9.0.0 >= 0.8.2.1")
  15. }
  16. if V0_8_2_1.IsAtLeast(V0_10_0_0) {
  17. t.Error("0.8.2.1 >= 0.10.0.0")
  18. }
  19. }
  20. func TestVersionParsing(t *testing.T) {
  21. validVersions := []string{"0.8.2.0", "0.8.2.1", "0.9.0.0", "0.10.2.0", "1.0.0"}
  22. for _, s := range validVersions {
  23. v, err := ParseKafkaVersion(s)
  24. if err != nil {
  25. t.Errorf("could not parse valid version %s: %s", s, err)
  26. }
  27. if v.String() != s {
  28. t.Errorf("version %s != %s", v.String(), s)
  29. }
  30. }
  31. invalidVersions := []string{"0.8.2-4", "0.8.20", "1.19.0.0", "1.0.x"}
  32. for _, s := range invalidVersions {
  33. if _, err := ParseKafkaVersion(s); err == nil {
  34. t.Errorf("invalid version %s parsed without error", s)
  35. }
  36. }
  37. }