checking in more tests for Service.
This commit is contained in:
@@ -1,15 +1,190 @@
|
||||
package gosecret
|
||||
|
||||
import (
|
||||
`testing`
|
||||
"testing"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
var (
|
||||
collectionName uuid.UUID = uuid.New()
|
||||
collectionAlias uuid.UUID = uuid.New()
|
||||
)
|
||||
|
||||
const (
|
||||
defaultCollection string = "Login"
|
||||
testAlias string = "GOSECRET_TESTING_ALIAS"
|
||||
)
|
||||
|
||||
/*
|
||||
TestNewService tests the following internal functions/methods via nested calls:
|
||||
|
||||
NewService
|
||||
Service.GetSession
|
||||
Service.OpenSession
|
||||
NewSession
|
||||
validConnPath
|
||||
connIsValid
|
||||
pathIsValid
|
||||
Service.Close
|
||||
Session.Close
|
||||
|
||||
*/
|
||||
func TestNewService(t *testing.T) {
|
||||
|
||||
var err error
|
||||
var svc *Service
|
||||
|
||||
if _, err = NewService(); err != nil {
|
||||
if svc, err = NewService(); err != nil {
|
||||
t.Fatalf("could not get new Service via NewService: %v", err.Error())
|
||||
}
|
||||
|
||||
if err = svc.Close(); err != nil {
|
||||
t.Errorf("could not close Service.Session: %v", err.Error())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
TestService_Collections tests the following internal functions/methods via nested calls:
|
||||
|
||||
(all calls in TestNewService)
|
||||
Service.Collections
|
||||
NewCollection
|
||||
Collection.Modified
|
||||
NewErrors
|
||||
*/
|
||||
func TestService_Collections(t *testing.T) {
|
||||
|
||||
var err error
|
||||
var svc *Service
|
||||
var colls []*Collection
|
||||
|
||||
if svc, err = NewService(); err != nil {
|
||||
t.Fatalf("could not get new Service via NewService: %v", err.Error())
|
||||
}
|
||||
|
||||
if _, err = svc.Collections(); err != nil {
|
||||
t.Errorf("could not get Service.Collections: %v", err.Error())
|
||||
} else {
|
||||
t.Logf("found %v collections via Service.Collections", len(colls))
|
||||
}
|
||||
|
||||
if err = svc.Close(); err != nil {
|
||||
t.Errorf("could not close Service.Session: %v", err.Error())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
TestService_CreateAliasedCollection tests the following internal functions/methods via nested calls:
|
||||
|
||||
(all calls in TestNewService)
|
||||
Service.CreateAliasedCollection
|
||||
NewCollection
|
||||
Collection.Modified
|
||||
Collection.Delete
|
||||
Service.SetAlias
|
||||
|
||||
(By extension, Service.CreateCollection is also tested as it's a very thin wrapper
|
||||
around Service.CreateAliasedCollection).
|
||||
*/
|
||||
func TestService_CreateAliasedCollection(t *testing.T) {
|
||||
|
||||
var err error
|
||||
var svc *Service
|
||||
var collection *Collection
|
||||
|
||||
if svc, err = NewService(); err != nil {
|
||||
t.Fatalf("could not get new Service via NewService: %v", err.Error())
|
||||
}
|
||||
|
||||
if collection, err = svc.CreateAliasedCollection(collectionName.String(), collectionAlias.String()); err != nil {
|
||||
t.Errorf(
|
||||
"error when creating aliased collection '%v' with alias '%v': %v",
|
||||
collectionName.String(), collectionAlias.String(), err.Error(),
|
||||
)
|
||||
} else {
|
||||
if err = collection.Delete(); err != nil {
|
||||
t.Errorf(
|
||||
"error when deleting aliased collection '%v' with alias '%v': %v",
|
||||
collectionName.String(), collectionAlias.String(), err.Error(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if err = svc.SetAlias(testAlias, collection.Dbus.Path()); err != nil {
|
||||
t.Errorf(
|
||||
"error when setting an alias '%v' for aliased collection '%v' (original alias '%v')",
|
||||
testAlias, collectionName.String(), collectionAlias.String(),
|
||||
)
|
||||
}
|
||||
|
||||
if err = svc.Close(); err != nil {
|
||||
t.Errorf("could not close Service.Session: %v", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
TestService_GetCollection tests the following internal functions/methods via nested calls:
|
||||
|
||||
(all calls in TestService_CreateAliasedCollection)
|
||||
Service.GetCollection
|
||||
(all calls in TestService_Collections)
|
||||
Service.ReadAlias
|
||||
|
||||
*/
|
||||
func TestService_GetCollection(t *testing.T) {
|
||||
|
||||
var err error
|
||||
var svc *Service
|
||||
var coll *Collection
|
||||
|
||||
if svc, err = NewService(); err != nil {
|
||||
t.Fatalf("could not get new Service via NewService: %v", err.Error())
|
||||
}
|
||||
|
||||
if coll, err = svc.GetCollection(defaultCollection); err != nil {
|
||||
t.Errorf("failed to get collection '%v' via Service.GetCollection: %v", defaultCollection, err.Error())
|
||||
} else {
|
||||
t.Logf("got collection '%v' via reference '%v'", coll.name, defaultCollection)
|
||||
}
|
||||
|
||||
if err = svc.Close(); err != nil {
|
||||
t.Errorf("could not close Service.Session: %v", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
TestService_Secrets tests the following internal functions/methods via nested calls:
|
||||
|
||||
(all calls in TestNewService)
|
||||
(all calls in TestService_CreateAliasedCollection)
|
||||
Service.CreateCollection
|
||||
Service.SearchItems
|
||||
Service.GetSecrets
|
||||
|
||||
*/
|
||||
/* TODO: left off on this.
|
||||
func TestService_Secrets(t *testing.T) {
|
||||
|
||||
var err error
|
||||
var svc *Service
|
||||
var collection *Collection
|
||||
var itemPaths []dbus.ObjectPath
|
||||
|
||||
if svc, err = NewService(); err != nil {
|
||||
t.Fatalf("could not get new Service via NewService: %v", err.Error())
|
||||
}
|
||||
|
||||
if collection, err = svc.CreateCollection(collectionName.String()); err != nil {
|
||||
t.Errorf("could not create collection '%v': %v", collectionName.String(), err.Error())
|
||||
}
|
||||
|
||||
if err = svc.Close(); err != nil {
|
||||
t.Errorf("could not close Service.Session: %v", err.Error())
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// service.Lock & service.Unlock
|
||||
|
||||
Reference in New Issue
Block a user