diff --git a/consul/state/state_store_test.go b/consul/state/state_store_test.go index d9e38a0eb3..8546164b74 100644 --- a/consul/state/state_store_test.go +++ b/consul/state/state_store_test.go @@ -476,6 +476,34 @@ func TestStateStore_EnsureCheck(t *testing.T) { } } +func TestStateStore_EnsureCheck_defaultStatus(t *testing.T) { + s := testStateStore(t) + + // Register a node + testRegisterNode(t, s, 1, "node1") + + // Create and register a check with no health status + check := &structs.HealthCheck{ + Node: "node1", + CheckID: "check1", + Status: "", + } + if err := s.EnsureCheck(2, check); err != nil { + t.Fatalf("err: %s", err) + } + + // Get the check again + _, result, err := s.NodeChecks("node1") + if err != nil { + t.Fatalf("err: %s", err) + } + + // Check that the status was set to the proper default + if len(result) != 1 || result[0].Status != structs.HealthCritical { + t.Fatalf("bad: %#v", result) + } +} + func TestStateStore_ServiceChecks(t *testing.T) { s := testStateStore(t) @@ -1182,14 +1210,20 @@ func TestStateStore_KVSDeleteTree(t *testing.T) { func TestStateStore_SessionCreate(t *testing.T) { s := testStateStore(t) + // GetSession returns nil if the session doesn't exist + sess, err := s.GetSession("session1") + if sess != nil || err != nil { + t.Fatalf("expected (nil, nil), got: (%#v, %#v)", sess, err) + } + // Registering without a session ID is disallowed - err := s.SessionCreate(1, &structs.Session{}) + err = s.SessionCreate(1, &structs.Session{}) if err != ErrMissingSessionID { t.Fatalf("expected %#v, got: %#v", ErrMissingSessionID, err) } // Invalid session behavior throws error - sess := &structs.Session{ + sess = &structs.Session{ ID: "foo", Behavior: "nope", }