54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
// SPDX-FileCopyrightText: 2021 The NGI Pointer Secure-Scuttlebutt Team of 2020/2021
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package signinwithssb
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
refs "github.com/ssbc/go-ssb-refs"
|
|
)
|
|
|
|
func TestPayloadString(t *testing.T) {
|
|
|
|
server, err := refs.NewFeedRefFromBytes(bytes.Repeat([]byte{1}, 32), refs.RefAlgoFeedSSB1)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
client, err := refs.NewFeedRefFromBytes(bytes.Repeat([]byte{2}, 32), refs.RefAlgoFeedSSB1)
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
|
|
var req ClientPayload
|
|
|
|
req.ServerID = server
|
|
req.ClientID = client
|
|
|
|
req.ServerChallenge = "fooo"
|
|
req.ClientChallenge = "barr"
|
|
|
|
want := "=http-auth-sign-in:@AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=.ed25519:@AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI=.ed25519:fooo:barr"
|
|
|
|
got := req.createMessage()
|
|
assert.Equal(t, want, string(got))
|
|
}
|
|
|
|
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)
|
|
}
|