log_test.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package migrate
  2. import (
  3. "reflect"
  4. "testing"
  5. "time"
  6. )
  7. func TestNewCommand(t *testing.T) {
  8. entries, err := ReadLogFile("fixtures/cmdlog")
  9. if err != nil {
  10. t.Errorf("read log file error: %v", err)
  11. }
  12. tests := []interface{}{
  13. &JoinCommand{2, 2, "1.local", "http://127.0.0.1:7001", "http://127.0.0.1:4001"},
  14. &SetClusterConfigCommand{&ClusterConfig{9, 1800.0, 5.0}},
  15. &NOPCommand{},
  16. &RemoveCommand{"alice"},
  17. &CompareAndDeleteCommand{"foo", "baz", 9},
  18. &CompareAndSwapCommand{"foo", "bar", time.Unix(0, 0), "baz", 9},
  19. &CreateCommand{"foo", "bar", time.Unix(0, 0), true, true},
  20. &DeleteCommand{"foo", true, true},
  21. &SetCommand{"foo", "bar", time.Unix(0, 0), true},
  22. &SyncCommand{time.Unix(0, 0)},
  23. &UpdateCommand{"foo", "bar", time.Unix(0, 0)},
  24. &DefaultLeaveCommand{"alice"},
  25. &DefaultJoinCommand{"alice", ""},
  26. }
  27. for i, e := range entries {
  28. cmd, err := NewCommand(e.GetCommandName(), e.GetCommand())
  29. if err != nil {
  30. t.Errorf("#%d: %v", i, err)
  31. continue
  32. }
  33. if !reflect.DeepEqual(cmd, tests[i]) {
  34. t.Errorf("#%d: cmd = %+v, want %+v", i, cmd, tests[i])
  35. }
  36. }
  37. }