(t *testing.T)
| 459 | } |
| 460 | |
| 461 | func TestBasicLifecycler_ChangeState(t *testing.T) { |
| 462 | ctx := context.Background() |
| 463 | cfg := prepareBasicLifecyclerConfig() |
| 464 | lifecycler, delegate, store, err := prepareBasicLifecycler(t, cfg) |
| 465 | require.NoError(t, err) |
| 466 | defer services.StopAndAwaitTerminated(ctx, lifecycler) //nolint:errcheck |
| 467 | |
| 468 | delegate.onRegister = func(_ *BasicLifecycler, _ Desc, _ bool, _ string, _ InstanceDesc) (InstanceState, Tokens) { |
| 469 | return JOINING, Tokens{1, 2, 3, 4, 5} |
| 470 | } |
| 471 | |
| 472 | require.NoError(t, services.StartAndAwaitRunning(ctx, lifecycler)) |
| 473 | assert.Equal(t, JOINING, lifecycler.GetState()) |
| 474 | |
| 475 | for _, state := range []InstanceState{ACTIVE, LEAVING} { |
| 476 | assert.NoError(t, lifecycler.ChangeState(ctx, state)) |
| 477 | assert.Equal(t, state, lifecycler.GetState()) |
| 478 | |
| 479 | // Assert on the instance state read from the ring. |
| 480 | desc, ok := getInstanceFromStore(t, store, testInstanceID) |
| 481 | assert.True(t, ok) |
| 482 | assert.Equal(t, state, desc.GetState()) |
| 483 | } |
| 484 | } |
| 485 | |
| 486 | func TestBasicLifecycler_ChangeReadOnlyState(t *testing.T) { |
| 487 | ctx := context.Background() |
nothing calls this directly
no test coverage detected