Skip to content

Commit 9432468

Browse files
committed
one mock of DeviceTokenRepository is enough
As caught by Todd in code review. BACK-2554
1 parent 95fc133 commit 9432468

File tree

3 files changed

+23
-52
lines changed

3 files changed

+23
-52
lines changed

auth/service/api/v1/devicetokens_test.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,14 @@ var _ = Describe("Device tokens endpoints", func() {
9393

9494
It("may return multiple documents", func() {
9595
repo := &storetest.DeviceTokenRepository{
96-
Documents: []*devicetokens.Document{
97-
{
98-
DeviceToken: devicetokens.DeviceToken{},
99-
},
100-
{
101-
DeviceToken: devicetokens.DeviceToken{},
96+
Tokens: map[string][]*devicetokens.DeviceToken{
97+
test.TestUserID1: {
98+
&devicetokens.DeviceToken{},
99+
&devicetokens.DeviceToken{},
102100
},
103101
},
104102
}
103+
105104
raw := rtr.Service.AuthStore().(*storetest.Store)
106105
raw.NewDeviceTokenRepositoryImpl = repo
107106
res := test.NewMockRestResponseWriter()

auth/service/service/client_test.go

Lines changed: 11 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/tidepool-org/platform/auth/client"
1515
"github.com/tidepool-org/platform/auth/service/service"
1616
"github.com/tidepool-org/platform/auth/store"
17+
storetest "github.com/tidepool-org/platform/auth/store/test"
1718
platformclient "github.com/tidepool-org/platform/client"
1819
"github.com/tidepool-org/platform/devicetokens"
1920
logtest "github.com/tidepool-org/platform/log/test"
@@ -47,14 +48,14 @@ var _ = Describe("Client", func() {
4748
name := "test auth client"
4849
logger := logtest.NewLogger()
4950
if authStore == nil {
51+
repo := storetest.NewDeviceTokenRepository()
52+
repo.Tokens = map[string][]*devicetokens.DeviceToken{
53+
testUserID: {
54+
testDeviceToken1,
55+
}}
56+
5057
authStore = &mockAuthStore{
51-
DeviceTokenRepository: &mockDeviceTokenRepository{
52-
Tokens: map[string][]*devicetokens.DeviceToken{
53-
testUserID: {
54-
testDeviceToken1,
55-
},
56-
},
57-
},
58+
DeviceTokenRepository: repo,
5859
}
5960
}
6061
providerFactory := &mockProviderFactory{}
@@ -81,10 +82,10 @@ var _ = Describe("Client", func() {
8182
ctx := context.Background()
8283
server := NewServer()
8384
defer server.Close()
85+
repo := storetest.NewDeviceTokenRepository()
86+
repo.Error = fmt.Errorf("test error")
8487
authStore := &mockAuthStore{
85-
DeviceTokenRepository: &mockDeviceTokenRepository{
86-
Error: fmt.Errorf("test error"),
87-
},
88+
DeviceTokenRepository: repo,
8889
}
8990
serviceClient := newTestServiceClient(server.URL(), authStore)
9091

@@ -120,37 +121,3 @@ type mockProviderFactory struct{}
120121
func (f *mockProviderFactory) Get(typ string, name string) (provider.Provider, error) {
121122
return nil, nil
122123
}
123-
124-
type mockDeviceTokenRepository struct {
125-
Error error
126-
Tokens map[string][]*devicetokens.DeviceToken
127-
}
128-
129-
func (r *mockDeviceTokenRepository) GetAllByUserID(ctx context.Context, userID string) ([]*devicetokens.Document, error) {
130-
if r.Error != nil {
131-
return nil, r.Error
132-
}
133-
134-
if tokens, ok := r.Tokens[userID]; ok {
135-
docs := make([]*devicetokens.Document, 0, len(tokens))
136-
for _, token := range tokens {
137-
docs = append(docs, &devicetokens.Document{DeviceToken: *token})
138-
}
139-
return docs, nil
140-
}
141-
return nil, nil
142-
}
143-
144-
func (r *mockDeviceTokenRepository) Upsert(ctx context.Context, doc *devicetokens.Document) error {
145-
if r.Error != nil {
146-
return r.Error
147-
}
148-
return nil
149-
}
150-
151-
func (r *mockDeviceTokenRepository) EnsureIndexes() error {
152-
if r.Error != nil {
153-
return r.Error
154-
}
155-
return nil
156-
}

auth/store/test/device_token_repository.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
type DeviceTokenRepository struct {
1111
*authTest.DeviceTokenAccessor
1212
Documents []*devicetokens.Document
13+
Tokens map[string][]*devicetokens.DeviceToken
1314
Error error
1415
}
1516

@@ -27,8 +28,12 @@ func (r *DeviceTokenRepository) GetAllByUserID(ctx context.Context, userID strin
2728
if r.Error != nil {
2829
return nil, r.Error
2930
}
30-
if len(r.Documents) > 0 {
31-
return r.Documents, nil
31+
if tokens, ok := r.Tokens[userID]; ok {
32+
docs := make([]*devicetokens.Document, 0, len(tokens))
33+
for _, token := range tokens {
34+
docs = append(docs, &devicetokens.Document{DeviceToken: *token})
35+
}
36+
return docs, nil
3237
}
3338
return nil, nil
3439
}

0 commit comments

Comments
 (0)