// Copyright 2020 the Pinniped contributors. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package state import ( "bytes" "errors" "testing" "github.com/stretchr/testify/require" ) func TestState(t *testing.T) { s, err := Generate() require.NoError(t, err) require.Len(t, s, 32) require.Len(t, s.String(), 32) require.NoError(t, s.Validate(string(s))) err = s.Validate(string(s) + "x") require.Error(t, err) require.True(t, errors.As(err, &InvalidStateError{})) require.Contains(t, err.Error(), string(s)+"x") var empty bytes.Buffer s, err = generate(&empty) require.EqualError(t, err, "could not generate random state: EOF") require.Empty(t, s) }