package state import ( "testing" "github.com/stretchr/testify/suite" ) func TestStateSuite(t *testing.T) { suite.Run(t, new(StateSuite)) } type StateSuite struct { suite.Suite } func (suite *StateSuite) TestSerializeAndDeserialize() { expectedState := testState() serializedState, err := expectedState.Serialize() suite.NoError(err) actualState, err := Deserialize(serializedState) suite.NoError(err) suite.Equal(expectedState, actualState) } func (suite *StateSuite) TestDeserializeNoEksConnectorConfig() { expectedState := testState() expectedState.ActivationId = "" serializedState, err := expectedState.Serialize() suite.NoError(err) delete(serializedState, EksConnectorConfig) suite.Empty(serializedState[EksConnectorConfig]) actualState, err := Deserialize(serializedState) suite.NoError(err) suite.Empty(actualState.ActivationId) suite.Equal(expectedState, actualState) } func testState() *State { return &State{ ActivationId: "f4423803-dd4a-4994-8fcd-b7d6105b3c43", FingerPrint: "49e29d36-9096-4fe4-bb65-0357e67cdc70", InstanceID: "eks_c:my-cluster_e13b1367a2b4", PrivateKey: "a3ViZXJuZXRlcyBpcyBhd2Vzb21l", PrivateKeyType: "plaintext", PrivateKeyCreatedDate: "2021-10-05 05:27:47.693369915 +0000 UTC", Region: "mars-east-1", } }