aboutsummaryrefslogtreecommitdiff
path: root/sth_test.go
diff options
context:
space:
mode:
authorRasmus Dahlberg <rasmus.dahlberg@kau.se>2021-02-18 19:32:07 +0100
committerRasmus Dahlberg <rasmus.dahlberg@kau.se>2021-02-18 19:32:07 +0100
commitf0a7ea609523e663d02ad832bfa669c7cbbb3f38 (patch)
treef64d1a63e6d66e3b52810e783b1d62e91256b9d5 /sth_test.go
parentf93ca569f1c892217786302e6a46682f015fda57 (diff)
reordered SthSource functions
Diffstat (limited to 'sth_test.go')
-rw-r--r--sth_test.go114
1 files changed, 57 insertions, 57 deletions
diff --git a/sth_test.go b/sth_test.go
index c174672..b77e96c 100644
--- a/sth_test.go
+++ b/sth_test.go
@@ -14,6 +14,63 @@ import (
"github.com/system-transparency/stfe/namespace/testdata"
)
+func TestNewActiveSthSource(t *testing.T) {
+ for _, table := range []struct {
+ description string
+ signer crypto.Signer
+ trsp *trillian.GetLatestSignedLogRootResponse
+ terr error
+ wantErr bool
+ wantCosi *StItem // current cosigned sth
+ wantStable *StItem // next stable sth that signatures are collected for
+ }{
+ {
+ description: "invalid trillian response",
+ signer: cttestdata.NewSignerWithFixedSig(nil, testSignature),
+ terr: fmt.Errorf("internal server error"),
+ wantErr: true,
+ },
+ {
+ description: "valid",
+ signer: cttestdata.NewSignerWithFixedSig(nil, testSignature),
+ trsp: makeLatestSignedLogRootResponse(t, testTimestamp, testTreeSize, testNodeHash),
+ wantCosi: NewCosignedTreeHeadV1(NewSignedTreeHeadV1(NewTreeHeadV1(makeTrillianLogRoot(t, testTimestamp, testTreeSize, testNodeHash)), testLogId, testSignature).SignedTreeHeadV1, nil),
+ wantStable: NewCosignedTreeHeadV1(NewSignedTreeHeadV1(NewTreeHeadV1(makeTrillianLogRoot(t, testTimestamp, testTreeSize, testNodeHash)), testLogId, testSignature).SignedTreeHeadV1, nil),
+ },
+ } {
+ func() { // run deferred functions at the end of each iteration
+ th := newTestHandler(t, table.signer, nil)
+ defer th.mockCtrl.Finish()
+ th.client.EXPECT().GetLatestSignedLogRoot(gomock.Any(), gomock.Any()).Return(table.trsp, table.terr)
+ source, err := NewActiveSthSource(th.client, th.instance.LogParameters)
+ if got, want := err != nil, table.wantErr; got != want {
+ t.Errorf("got error %v but wanted %v in test %q: %v", got, want, table.description, err)
+ }
+ if err != nil {
+ return
+ }
+
+ if got, want := source.currSth, table.wantCosi; !reflect.DeepEqual(got, want) {
+ t.Errorf("got cosigned sth %v but wanted %v in test %q", got, want, table.description)
+ }
+ if got, want := source.nextSth, table.wantStable; !reflect.DeepEqual(got, want) {
+ t.Errorf("got stable sth %v but wanted %v in test %q", got, want, table.description)
+ }
+ cosignatureFrom := make(map[string]bool)
+ for _, wit := range table.wantStable.CosignedTreeHeadV1.SignatureV1 {
+ cosignatureFrom[wit.Namespace.String()] = true
+ }
+ if got, want := source.cosignatureFrom, cosignatureFrom; !reflect.DeepEqual(got, want) {
+ if got == nil {
+ t.Errorf("got uninitialized witness map %v but wanted %v in test %q", nil, want, table.description)
+ } else {
+ t.Errorf("got witness map %v but wanted %v in test %q", got, want, table.description)
+ }
+ }
+ }()
+ }
+}
+
func TestLatest(t *testing.T) {
for _, table := range []struct {
description string
@@ -452,60 +509,3 @@ func TestRotate(t *testing.T) {
}
}
}
-
-func TestNewActiveSthSource(t *testing.T) {
- for _, table := range []struct {
- description string
- signer crypto.Signer
- trsp *trillian.GetLatestSignedLogRootResponse
- terr error
- wantErr bool
- wantCosi *StItem // current cosigned sth
- wantStable *StItem // next stable sth that signatures are collected for
- }{
- {
- description: "invalid trillian response",
- signer: cttestdata.NewSignerWithFixedSig(nil, testSignature),
- terr: fmt.Errorf("internal server error"),
- wantErr: true,
- },
- {
- description: "valid",
- signer: cttestdata.NewSignerWithFixedSig(nil, testSignature),
- trsp: makeLatestSignedLogRootResponse(t, testTimestamp, testTreeSize, testNodeHash),
- wantCosi: NewCosignedTreeHeadV1(NewSignedTreeHeadV1(NewTreeHeadV1(makeTrillianLogRoot(t, testTimestamp, testTreeSize, testNodeHash)), testLogId, testSignature).SignedTreeHeadV1, nil),
- wantStable: NewCosignedTreeHeadV1(NewSignedTreeHeadV1(NewTreeHeadV1(makeTrillianLogRoot(t, testTimestamp, testTreeSize, testNodeHash)), testLogId, testSignature).SignedTreeHeadV1, nil),
- },
- } {
- func() { // run deferred functions at the end of each iteration
- th := newTestHandler(t, table.signer, nil)
- defer th.mockCtrl.Finish()
- th.client.EXPECT().GetLatestSignedLogRoot(gomock.Any(), gomock.Any()).Return(table.trsp, table.terr)
- source, err := NewActiveSthSource(th.client, th.instance.LogParameters)
- if got, want := err != nil, table.wantErr; got != want {
- t.Errorf("got error %v but wanted %v in test %q: %v", got, want, table.description, err)
- }
- if err != nil {
- return
- }
-
- if got, want := source.currSth, table.wantCosi; !reflect.DeepEqual(got, want) {
- t.Errorf("got cosigned sth %v but wanted %v in test %q", got, want, table.description)
- }
- if got, want := source.nextSth, table.wantStable; !reflect.DeepEqual(got, want) {
- t.Errorf("got stable sth %v but wanted %v in test %q", got, want, table.description)
- }
- cosignatureFrom := make(map[string]bool)
- for _, wit := range table.wantStable.CosignedTreeHeadV1.SignatureV1 {
- cosignatureFrom[wit.Namespace.String()] = true
- }
- if got, want := source.cosignatureFrom, cosignatureFrom; !reflect.DeepEqual(got, want) {
- if got == nil {
- t.Errorf("got uninitialized witness map %v but wanted %v in test %q", nil, want, table.description)
- } else {
- t.Errorf("got witness map %v but wanted %v in test %q", got, want, table.description)
- }
- }
- }()
- }
-}