@ -11,7 +11,7 @@ import (
"testing"
"time"
. "github.com/onsi/gomega"
ga "github.com/onsi/gomega"
bolt "go.etcd.io/bbolt"
"github.com/dtm-labs/dtm/client/dtmcli/dtmimp"
@ -20,13 +20,13 @@ import (
func TestInitializeBuckets ( t * testing . T ) {
t . Run ( "normal test" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
err = initializeBuckets ( db )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
actualBuckets := [ ] [ ] byte { }
err = db . View ( func ( t * bolt . Tx ) error {
@ -35,42 +35,42 @@ func TestInitializeBuckets(t *testing.T) {
return nil
} )
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
g . Expect ( actualBuckets ) . To ( Equal ( allBuckets ) )
g . Expect ( actualBuckets ) . To ( ga . Equal ( allBuckets ) )
} )
}
func TestCleanupExpiredData ( t * testing . T ) {
t . Run ( "negative expired seconds" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
err = cleanupExpiredData ( - 1 * time . Second , db )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
} )
t . Run ( "nil global bucket" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
err = cleanupExpiredData ( time . Second , db )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
} )
t . Run ( "normal test" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
// Initialize data
err = initializeBuckets ( db )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
err = db . Update ( func ( t * bolt . Tx ) error {
doneTime := time . Now ( ) . Add ( - 10 * time . Minute )
@ -95,10 +95,10 @@ func TestCleanupExpiredData(t *testing.T) {
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
err = cleanupExpiredData ( time . Minute , db )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
actualGids := [ ] string { }
err = db . View ( func ( t * bolt . Tx ) error {
@ -108,29 +108,29 @@ func TestCleanupExpiredData(t *testing.T) {
}
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( actualGids ) . To ( Equal ( [ ] string { "gid0" } ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
g . Expect ( actualGids ) . To ( ga . Equal ( [ ] string { "gid0" } ) )
} )
}
func TestCleanupGlobalWithGids ( t * testing . T ) {
t . Run ( "nil bucket" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
err = db . Update ( func ( t * bolt . Tx ) error {
cleanupGlobalWithGids ( t , nil )
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
} )
t . Run ( "normal test" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
// Initialize data
@ -151,7 +151,7 @@ func TestCleanupGlobalWithGids(t *testing.T) {
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
err = db . Update ( func ( t * bolt . Tx ) error {
cleanupGlobalWithGids ( t , map [ string ] struct { } {
@ -160,7 +160,7 @@ func TestCleanupGlobalWithGids(t *testing.T) {
} )
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
actualGids := [ ] string { }
err = db . View ( func ( t * bolt . Tx ) error {
@ -170,29 +170,29 @@ func TestCleanupGlobalWithGids(t *testing.T) {
}
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( actualGids ) . To ( Equal ( [ ] string { "k3" } ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
g . Expect ( actualGids ) . To ( ga . Equal ( [ ] string { "k3" } ) )
} )
}
func TestCleanupBranchWithGids ( t * testing . T ) {
t . Run ( "nil bucket" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
err = db . Update ( func ( t * bolt . Tx ) error {
cleanupBranchWithGids ( t , nil )
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
} )
t . Run ( "normal test" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
// Initialize data
@ -232,7 +232,7 @@ func TestCleanupBranchWithGids(t *testing.T) {
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
err = db . Update ( func ( t * bolt . Tx ) error {
cleanupBranchWithGids ( t , map [ string ] struct { } {
@ -241,7 +241,7 @@ func TestCleanupBranchWithGids(t *testing.T) {
} )
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
actualKeys := [ ] string { }
err = db . View ( func ( t * bolt . Tx ) error {
@ -251,29 +251,29 @@ func TestCleanupBranchWithGids(t *testing.T) {
}
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( actualKeys ) . To ( Equal ( [ ] string { "a" , "gid201" , "z" } ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
g . Expect ( actualKeys ) . To ( ga . Equal ( [ ] string { "a" , "gid201" , "z" } ) )
} )
}
func TestCleanupIndexWithGids ( t * testing . T ) {
t . Run ( "nil bucket" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
err = db . Update ( func ( t * bolt . Tx ) error {
cleanupIndexWithGids ( t , nil )
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
} )
t . Run ( "normal test" , func ( t * testing . T ) {
g := NewWithT ( t )
g := ga . NewWithT ( t )
db , err := bolt . Open ( path . Join ( t . TempDir ( ) , "./test.bolt" ) , 0666 , & bolt . Options { Timeout : 1 * time . Second } )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
defer db . Close ( )
// Initialize data
@ -313,7 +313,7 @@ func TestCleanupIndexWithGids(t *testing.T) {
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
err = db . Update ( func ( t * bolt . Tx ) error {
cleanupIndexWithGids ( t , map [ string ] struct { } {
@ -322,7 +322,7 @@ func TestCleanupIndexWithGids(t *testing.T) {
} )
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
actualKeys := [ ] string { }
err = db . View ( func ( t * bolt . Tx ) error {
@ -332,7 +332,7 @@ func TestCleanupIndexWithGids(t *testing.T) {
}
return nil
} )
g . Expect ( err ) . ToNot ( HaveOccurred ( ) )
g . Expect ( actualKeys ) . To ( Equal ( [ ] string { "3-gid2" , "a" , "z" } ) )
g . Expect ( err ) . ToNot ( ga . HaveOccurred ( ) )
g . Expect ( actualKeys ) . To ( ga . Equal ( [ ] string { "3-gid2" , "a" , "z" } ) )
} )
}