// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 package session import ( "testing" "github.com/hashicorp/boundary/internal/db" "github.com/hashicorp/boundary/internal/iam" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestState_Clone(t *testing.T) { t.Parallel() conn, _ := db.TestSetup(t, "postgres") wrapper := db.TestWrapper(t) iamRepo := iam.TestRepo(t, conn, wrapper) t.Run("valid", func(t *testing.T) { assert := assert.New(t) s := TestDefaultSession(t, conn, wrapper, iamRepo) state := TestState(t, conn, s.PublicId, StatusActive) cp := state.Clone() assert.Equal(cp.(*State), state) }) t.Run("not-equal", func(t *testing.T) { assert := assert.New(t) s := TestDefaultSession(t, conn, wrapper, iamRepo) s2 := TestDefaultSession(t, conn, wrapper, iamRepo) state := TestState(t, conn, s.PublicId, StatusActive) state2 := TestState(t, conn, s2.PublicId, StatusActive) cp := state.Clone() assert.NotEqual(cp.(*State), state2) }) } func TestState_SetTableName(t *testing.T) { t.Parallel() defaultTableName := defaultStateTableName tests := []struct { name string setNameTo string want string }{ { name: "new-name", setNameTo: "new-name", want: "new-name", }, { name: "reset to default", setNameTo: "", want: defaultTableName, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { assert, require := assert.New(t), require.New(t) def := allocState() require.Equal(defaultTableName, def.TableName()) s := allocState() s.SetTableName(tt.setNameTo) assert.Equal(tt.want, s.TableName()) }) } }