wip: migrate to mono-repo. SPN has already been moved to spn/
This commit is contained in:
84
spn/access/token/scramble_test.go
Normal file
84
spn/access/token/scramble_test.go
Normal file
@@ -0,0 +1,84 @@
|
||||
package token
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/safing/jess/lhash"
|
||||
)
|
||||
|
||||
const ScrambleTestZone = "test-scramble"
|
||||
|
||||
func init() {
|
||||
// Combined testing config.
|
||||
|
||||
h, err := NewScrambleHandler(ScrambleOptions{
|
||||
Zone: ScrambleTestZone,
|
||||
Algorithm: lhash.SHA2_256,
|
||||
InitialTokens: []string{"2VqJ8BvDew1tUpytZhR7tuvq7ToPpW3tQtHvu3veE3iW"},
|
||||
})
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
err = RegisterScrambleHandler(h)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestScramble(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
opts := &ScrambleOptions{
|
||||
Zone: ScrambleTestZone,
|
||||
Algorithm: lhash.SHA2_256,
|
||||
}
|
||||
|
||||
// Issuer
|
||||
opts.InitialTokens = []string{"2VqJ8BvDew1tUpytZhR7tuvq7ToPpW3tQtHvu3veE3iW"}
|
||||
issuer, err := NewScrambleHandler(*opts)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// Client
|
||||
opts.InitialTokens = nil
|
||||
opts.InitialVerifiers = []string{"Cy9tz37Xq9NiXGDRU9yicjGU62GjXskE9KqUmuoddSxaE3"}
|
||||
client, err := NewScrambleHandler(*opts)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// Verifier
|
||||
verifier, err := NewScrambleHandler(*opts)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// Play through the whole use case.
|
||||
|
||||
request := client.CreateTokenRequest()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
issuedTokens, err := issuer.IssueTokens(request)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = client.ProcessIssuedTokens(issuedTokens)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
token, err := client.GetToken()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
err = verifier.Verify(token)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user