go-ssb-room/internal/signinwithssb/simple_test.go

45 lines
955 B
Go
Raw Normal View History

// SPDX-License-Identifier: MIT
package signinwithssb
import (
"bytes"
"testing"
"github.com/stretchr/testify/assert"
2021-03-26 08:47:52 +00:00
"github.com/stretchr/testify/require"
refs "go.mindeco.de/ssb-refs"
)
2021-03-26 16:58:03 +00:00
func TestPayloadString(t *testing.T) {
server := refs.FeedRef{ID: bytes.Repeat([]byte{1}, 32), Algo: "test"}
client := refs.FeedRef{ID: bytes.Repeat([]byte{2}, 32), Algo: "test"}
2021-03-26 16:58:03 +00:00
var req ClientPayload
req.ServerID = server
req.ClientID = client
req.ServerChallenge = "fooo"
req.ClientChallenge = "barr"
want := "=http-auth-sign-in:@AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=.test:@AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=.test:fooo:barr"
got := req.createMessage()
assert.Equal(t, want, string(got))
}
2021-03-26 08:47:52 +00:00
func TestGenerateAndDecode(t *testing.T) {
r := require.New(t)
b, err := DecodeChallengeString(GenerateChallenge())
r.NoError(err)
r.Len(b, challengeLength)
b, err = DecodeChallengeString("toshort")
r.Error(err)
r.Nil(b)
}