2021-03-24 17:31:37 +00:00
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2021-03-17 09:46:05 +00:00
|
|
|
package signinwithssb
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
2021-03-26 08:47:52 +00:00
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
2021-03-17 09:46:05 +00:00
|
|
|
refs "go.mindeco.de/ssb-refs"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestClientRequestString(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"}
|
|
|
|
|
|
|
|
var req ClientRequest
|
|
|
|
|
|
|
|
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)
|
|
|
|
}
|