Skip to content

Commit

Permalink
tests
Browse files Browse the repository at this point in the history
  • Loading branch information
reinkrul committed Jan 5, 2024
1 parent 13b011d commit 5c71ab5
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 1 deletion.
52 changes: 52 additions & 0 deletions discovery/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,15 @@
package discovery

import (
"github.com/nuts-foundation/go-did/did"
"github.com/nuts-foundation/go-did/vc"
"github.com/nuts-foundation/nuts-node/storage"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gorm.io/gorm"
"sync"
"testing"
"time"
)

func Test_sqlStore_exists(t *testing.T) {
Expand Down Expand Up @@ -355,6 +357,56 @@ func Test_sqlStore_search(t *testing.T) {
})
}

func Test_sqlStore_getStaleDIDRegistrations(t *testing.T) {
storageEngine := storage.NewTestStorageEngine(t)
require.NoError(t, storageEngine.Start())
t.Cleanup(func() {
_ = storageEngine.Shutdown()
})

now := time.Now()
t.Run("empty list", func(t *testing.T) {
c := setupStore(t, storageEngine.GetSQLDatabase())
serviceIDs, dids, err := c.getStaleDIDRegistrations(now)
require.NoError(t, err)
assert.Empty(t, serviceIDs)
assert.Empty(t, dids)
})
t.Run("1 entry, not stale", func(t *testing.T) {
c := setupStore(t, storageEngine.GetSQLDatabase())
require.NoError(t, c.updateDIDRegistrationTime(testServiceID, aliceDID, &now))
serviceIDs, dids, err := c.getStaleDIDRegistrations(time.Now().Add(-1 * time.Hour))
require.NoError(t, err)
assert.Empty(t, serviceIDs)
assert.Empty(t, dids)
})
t.Run("1 entry, stale", func(t *testing.T) {
c := setupStore(t, storageEngine.GetSQLDatabase())
require.NoError(t, c.updateDIDRegistrationTime(testServiceID, aliceDID, &now))
serviceIDs, dids, err := c.getStaleDIDRegistrations(time.Now().Add(time.Hour))
require.NoError(t, err)
assert.Equal(t, []string{testServiceID}, serviceIDs)
assert.Equal(t, []did.DID{aliceDID}, dids)
})
t.Run("does not return removed entry", func(t *testing.T) {
c := setupStore(t, storageEngine.GetSQLDatabase())
require.NoError(t, c.updateDIDRegistrationTime(testServiceID, aliceDID, &now))

// Assert it's there
serviceIDs, dids, err := c.getStaleDIDRegistrations(time.Now().Add(time.Hour))
require.NoError(t, err)
assert.Equal(t, []string{testServiceID}, serviceIDs)
assert.Equal(t, []did.DID{aliceDID}, dids)

// Remove it
require.NoError(t, c.updateDIDRegistrationTime(testServiceID, aliceDID, nil))
serviceIDs, dids, err = c.getStaleDIDRegistrations(time.Now().Add(time.Hour))
require.NoError(t, err)
assert.Empty(t, serviceIDs)
assert.Empty(t, dids)
})
}

func setupStore(t *testing.T, db *gorm.DB) *sqlStore {
resetStore(t, db)
defs := testDefinitions()
Expand Down
2 changes: 1 addition & 1 deletion storage/engine_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,6 @@ func Test_engine_sqlDatabase(t *testing.T) {
require.NoError(t, row.Err())
var count int
assert.NoError(t, row.Scan(&count))
assert.Equal(t, 2, count)
assert.Equal(t, 3, count)
})
}

0 comments on commit 5c71ab5

Please sign in to comment.