...

Source file src/github.com/theupdateframework/go-tuf/internal/signer/sort_test.go

Documentation: github.com/theupdateframework/go-tuf/internal/signer

     1  package signer_test
     2  
     3  import (
     4  	"encoding/json"
     5  	"sort"
     6  	"testing"
     7  
     8  	"github.com/theupdateframework/go-tuf/data"
     9  	"github.com/theupdateframework/go-tuf/internal/signer"
    10  	"github.com/theupdateframework/go-tuf/pkg/keys"
    11  )
    12  
    13  type mockSigner struct {
    14  	value json.RawMessage
    15  }
    16  
    17  func (s *mockSigner) MarshalPrivateKey() (*data.PrivateKey, error) {
    18  	panic("not implemented")
    19  }
    20  
    21  func (s *mockSigner) UnmarshalPrivateKey(key *data.PrivateKey) error {
    22  	panic("not implemented")
    23  }
    24  
    25  func (s *mockSigner) PublicData() *data.PublicKey {
    26  	return &data.PublicKey{
    27  		Type:       "mock",
    28  		Scheme:     "mock",
    29  		Algorithms: []data.HashAlgorithm{"mock"},
    30  		Value:      s.value,
    31  	}
    32  }
    33  func (s *mockSigner) SignMessage(message []byte) ([]byte, error) {
    34  	panic("not implemented")
    35  }
    36  
    37  func TestSignerSortByIDs(t *testing.T) {
    38  	s1 := &mockSigner{
    39  		value: json.RawMessage(`{"mock": 1}`),
    40  	}
    41  	s2 := &mockSigner{
    42  		value: json.RawMessage(`{"mock": 2}`),
    43  	}
    44  	s3 := &mockSigner{
    45  		value: json.RawMessage(`{"mock": 3}`),
    46  	}
    47  	s4 := &mockSigner{
    48  		value: json.RawMessage(`{"mock": 4}`),
    49  	}
    50  	s5 := &mockSigner{
    51  		value: json.RawMessage(`{"mock": 5}`),
    52  	}
    53  
    54  	s := []keys.Signer{
    55  		s1, s2, s3, s4, s5,
    56  	}
    57  
    58  	sort.Sort(signer.ByIDs(s))
    59  
    60  	signerIDs := []string{}
    61  
    62  	for i, signer := range s {
    63  		ids := signer.PublicData().IDs()
    64  		if len(ids) != 1 {
    65  			t.Errorf("Signer %v IDs %v should have length 1", i, ids)
    66  		}
    67  		signerIDs = append(signerIDs, ids[0])
    68  	}
    69  
    70  	if !sort.StringsAreSorted(signerIDs) {
    71  		t.Errorf("Signers incorrectly sorted: %+v", signerIDs)
    72  	}
    73  }
    74  

View as plain text