@ -8,7 +8,7 @@ import (
"github.com/smallstep/nosql/database"
)
type Mock database DB struct {
type Mock NoSQL DB struct {
err error
ret1 , ret2 interface { }
get func ( bucket , key [ ] byte ) ( [ ] byte , error )
@ -22,7 +22,7 @@ type MockdatabaseDB struct {
update func ( tx * database . Tx ) error
}
func ( m * Mock database DB) Get ( bucket , key [ ] byte ) ( [ ] byte , error ) {
func ( m * Mock NoSQL DB) Get ( bucket , key [ ] byte ) ( [ ] byte , error ) {
if m . get != nil {
return m . get ( bucket , key )
}
@ -32,56 +32,56 @@ func (m *MockdatabaseDB) Get(bucket, key []byte) ([]byte, error) {
return m . ret1 . ( [ ] byte ) , m . err
}
func ( m * Mock database DB) Set ( bucket , key , value [ ] byte ) error {
func ( m * Mock NoSQL DB) Set ( bucket , key , value [ ] byte ) error {
if m . set != nil {
return m . set ( bucket , key , value )
}
return m . err
}
func ( m * Mock database DB) Open ( dataSourceName string , opt ... database . Option ) error {
func ( m * Mock NoSQL DB) Open ( dataSourceName string , opt ... database . Option ) error {
if m . open != nil {
return m . open ( dataSourceName , opt ... )
}
return m . err
}
func ( m * Mock database DB) Close ( ) error {
func ( m * Mock NoSQL DB) Close ( ) error {
if m . close != nil {
return m . close ( )
}
return m . err
}
func ( m * Mock database DB) CreateTable ( bucket [ ] byte ) error {
func ( m * Mock NoSQL DB) CreateTable ( bucket [ ] byte ) error {
if m . createTable != nil {
return m . createTable ( bucket )
}
return m . err
}
func ( m * Mock database DB) DeleteTable ( bucket [ ] byte ) error {
func ( m * Mock NoSQL DB) DeleteTable ( bucket [ ] byte ) error {
if m . deleteTable != nil {
return m . deleteTable ( bucket )
}
return m . err
}
func ( m * Mock database DB) Del ( bucket , key [ ] byte ) error {
func ( m * Mock NoSQL DB) Del ( bucket , key [ ] byte ) error {
if m . del != nil {
return m . del ( bucket , key )
}
return m . err
}
func ( m * Mock database DB) List ( bucket [ ] byte ) ( [ ] * database . Entry , error ) {
func ( m * Mock NoSQL DB) List ( bucket [ ] byte ) ( [ ] * database . Entry , error ) {
if m . list != nil {
return m . list ( bucket )
}
return m . ret1 . ( [ ] * database . Entry ) , m . err
}
func ( m * Mock database DB) Update ( tx * database . Tx ) error {
func ( m * Mock NoSQL DB) Update ( tx * database . Tx ) error {
if m . update != nil {
return m . update ( tx )
}
@ -100,16 +100,16 @@ func TestIsRevoked(t *testing.T) {
} ,
"false/ErrNotFound" : {
key : "sn" ,
db : & DB { & Mock database DB{ err : database . ErrNotFound , ret1 : nil } } ,
db : & DB { & Mock NoSQL DB{ err : database . ErrNotFound , ret1 : nil } , true } ,
} ,
"error/checking bucket" : {
key : "sn" ,
db : & DB { & Mock database DB{ err : errors . New ( "force" ) , ret1 : nil } } ,
db : & DB { & Mock NoSQL DB{ err : errors . New ( "force" ) , ret1 : nil } , true } ,
err : errors . New ( "error checking revocation bucket: force" ) ,
} ,
"true" : {
key : "sn" ,
db : & DB { & Mock database DB{ ret1 : [ ] byte ( "value" ) } } ,
db : & DB { & Mock NoSQL DB{ ret1 : [ ] byte ( "value" ) } , true } ,
isRevoked : true ,
} ,
}
@ -136,44 +136,44 @@ func TestRevoke(t *testing.T) {
} {
"error/force isRevoked" : {
rci : & RevokedCertificateInfo { Serial : "sn" } ,
db : & DB { & Mock database DB{
db : & DB { & Mock NoSQL DB{
get : func ( bucket [ ] byte , sn [ ] byte ) ( [ ] byte , error ) {
return nil , errors . New ( "force IsRevoked" )
} ,
} },
} , true },
err : errors . New ( "error checking revocation bucket: force IsRevoked" ) ,
} ,
"error/was already revoked" : {
rci : & RevokedCertificateInfo { Serial : "sn" } ,
db : & DB { & Mock database DB{
db : & DB { & Mock NoSQL DB{
get : func ( bucket [ ] byte , sn [ ] byte ) ( [ ] byte , error ) {
return nil , nil
} ,
} },
} , true },
err : ErrAlreadyExists ,
} ,
"error/database set" : {
rci : & RevokedCertificateInfo { Serial : "sn" } ,
db : & DB { & Mock database DB{
db : & DB { & Mock NoSQL DB{
get : func ( bucket [ ] byte , sn [ ] byte ) ( [ ] byte , error ) {
return nil , database . ErrNotFound
} ,
set : func ( bucket [ ] byte , key [ ] byte , value [ ] byte ) error {
return errors . New ( "force" )
} ,
} },
} , true },
err : errors . New ( "database Set error: force" ) ,
} ,
"ok" : {
rci : & RevokedCertificateInfo { Serial : "sn" } ,
db : & DB { & Mock database DB{
db : & DB { & Mock NoSQL DB{
get : func ( bucket [ ] byte , sn [ ] byte ) ( [ ] byte , error ) {
return nil , database . ErrNotFound
} ,
set : func ( bucket [ ] byte , key [ ] byte , value [ ] byte ) error {
return nil
} ,
} },
} , true },
} ,
}
for name , tc := range tests {