mirror of https://github.com/docker/docs.git
99 lines
2.3 KiB
Go
99 lines
2.3 KiB
Go
package api_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/docker/notary/signer/api"
|
|
"github.com/docker/notary/signer/keys"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/mock"
|
|
|
|
pb "github.com/docker/notary/proto"
|
|
)
|
|
|
|
type FakeKeyDB struct {
|
|
mock.Mock
|
|
}
|
|
|
|
func (m *FakeKeyDB) CreateKey() (*pb.PublicKey, error) {
|
|
args := m.Mock.Called()
|
|
return args.Get(0).(*pb.PublicKey), args.Error(1)
|
|
}
|
|
|
|
func (m *FakeKeyDB) AddKey(key *keys.Key) error {
|
|
args := m.Mock.Called()
|
|
return args.Error(0)
|
|
}
|
|
|
|
func (m *FakeKeyDB) DeleteKey(keyID *pb.KeyID) (*pb.Void, error) {
|
|
args := m.Mock.Called(keyID.ID)
|
|
return nil, args.Error(0)
|
|
}
|
|
|
|
func (m *FakeKeyDB) KeyInfo(keyID *pb.KeyID) (*pb.PublicKey, error) {
|
|
args := m.Mock.Called(keyID.ID)
|
|
return args.Get(0).(*pb.PublicKey), args.Error(1)
|
|
}
|
|
|
|
func (m *FakeKeyDB) GetKey(keyID *pb.KeyID) (*keys.Key, error) {
|
|
args := m.Mock.Called(keyID.ID)
|
|
return args.Get(0).(*keys.Key), args.Error(1)
|
|
}
|
|
|
|
func TestDeleteKey(t *testing.T) {
|
|
fakeKeyID := "830158bb5a4af00a3f689a8f29120f0fa7f8ae57cf00ce1fede8ae8652b5181a"
|
|
|
|
m := FakeKeyDB{}
|
|
sigService := api.NewEdDSASigningService(&m)
|
|
|
|
m.On("DeleteKey", fakeKeyID).Return(nil).Once()
|
|
_, err := sigService.DeleteKey(&pb.KeyID{ID: fakeKeyID})
|
|
|
|
m.Mock.AssertExpectations(t)
|
|
assert.Nil(t, err)
|
|
}
|
|
|
|
func TestKeyInfo(t *testing.T) {
|
|
fakeKeyID := "830158bb5a4af00a3f689a8f29120f0fa7f8ae57cf00ce1fede8ae8652b5181a"
|
|
|
|
m := FakeKeyDB{}
|
|
sigService := api.NewEdDSASigningService(&m)
|
|
|
|
m.On("KeyInfo", fakeKeyID).Return(&pb.PublicKey{}, nil).Once()
|
|
_, err := sigService.KeyInfo(&pb.KeyID{ID: fakeKeyID})
|
|
|
|
m.Mock.AssertExpectations(t)
|
|
assert.Nil(t, err)
|
|
}
|
|
|
|
func TestCreateKey(t *testing.T) {
|
|
m := FakeKeyDB{}
|
|
sigService := api.NewEdDSASigningService(&m)
|
|
|
|
m.On("AddKey").Return(nil).Once()
|
|
|
|
_, err := sigService.CreateKey()
|
|
|
|
m.Mock.AssertExpectations(t)
|
|
assert.Nil(t, err)
|
|
}
|
|
|
|
func TestSigner(t *testing.T) {
|
|
fakeKeyID := "830158bb5a4af00a3f689a8f29120f0fa7f8ae57cf00ce1fede8ae8652b5181a"
|
|
m := FakeKeyDB{}
|
|
sigService := api.NewEdDSASigningService(&m)
|
|
|
|
m.On("GetKey", fakeKeyID).Return(&keys.Key{}, nil).Once()
|
|
_, err := sigService.Signer(&pb.KeyID{ID: fakeKeyID})
|
|
|
|
m.Mock.AssertExpectations(t)
|
|
assert.Nil(t, err)
|
|
}
|
|
|
|
func BenchmarkCreateKey(b *testing.B) {
|
|
sigService := api.NewEdDSASigningService(keys.NewKeyDB())
|
|
for n := 0; n < b.N; n++ {
|
|
_, _ = sigService.CreateKey()
|
|
}
|
|
}
|