runtime_test.go 819 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package plugin_entities
  2. import (
  3. "testing"
  4. "time"
  5. )
  6. func TestRuntimeStateHash(t *testing.T) {
  7. state := PluginRuntimeState{
  8. Restarts: 0,
  9. Status: PLUGIN_RUNTIME_STATUS_PENDING,
  10. ActiveAt: &[]time.Time{time.Now()}[0],
  11. StoppedAt: &[]time.Time{time.Now()}[0],
  12. Verified: true,
  13. }
  14. hash, err := state.Hash()
  15. if err != nil {
  16. t.Errorf("hash failed: %v", err)
  17. return
  18. }
  19. if hash == 0 {
  20. t.Errorf("hash is 0")
  21. return
  22. }
  23. hash2, err := state.Hash()
  24. if err != nil {
  25. t.Errorf("hash failed: %v", err)
  26. return
  27. }
  28. if hash != hash2 {
  29. t.Errorf("hash is not the same: %d, %d", hash, hash2)
  30. return
  31. }
  32. state.Restarts++
  33. hash3, err := state.Hash()
  34. if err != nil {
  35. t.Errorf("hash failed: %v", err)
  36. return
  37. }
  38. if hash == hash3 {
  39. t.Errorf("hash is the same: %d, %d", hash, hash3)
  40. return
  41. }
  42. }