add tests for service operations with user details

This commit is contained in:
Dmitry Verkhoturov
2019-12-22 22:23:37 +01:00
parent fde6f520c9
commit 997127f33e
2 changed files with 36 additions and 1 deletions
+1 -1
View File
@@ -625,7 +625,7 @@ func TestBoltDB_UserDetail(t *testing.T) {
b, teardown := prep(t)
defer teardown()
// add to entries to DB before we start
// add two entries to DB before we start
result, err := b.UserDetail(UserDetailRequest{Locator: store.Locator{SiteID: "radio-t"}, UserID: "u1", Detail: UserEmail, Update: "test@example.com"})
assert.NoError(t, err, "No error inserting entry expected")
assert.ElementsMatch(t, []UserDetailEntry{{UserID: "u1", Email: "test@example.com"}}, result)
+35
View File
@@ -774,6 +774,41 @@ func TestService_SetMetas(t *testing.T) {
assert.Equal(t, []engine.UserDetailEntry{{UserID: "user1", Email: "test@example.org"}}, val)
}
func TestService_UserDetailsOperations(t *testing.T) {
defer teardown(t)
b := DataStore{Engine: prepStoreEngine(t), EditDuration: 100 * time.Millisecond,
AdminStore: admin.NewStaticKeyStore("secret 123")}
// add single valid entry
result, err := b.SetUserEmail(store.Locator{SiteID: "radio-t"}, "u1", "test@example.com")
assert.NoError(t, err, "No error inserting entry expected")
assert.Equal(t, "test@example.com", result)
// read valid entry back
result, err = b.GetUserEmail(store.Locator{SiteID: "radio-t"}, "u1")
assert.NoError(t, err, "No error reading entry expected")
assert.Equal(t, "test@example.com", result)
// delete existing entry
err = b.DeleteUserDetail(store.Locator{SiteID: "radio-t"}, "u1", engine.UserEmail)
assert.NoError(t, err, "No error deleting entry expected")
// read deleted entry
result, err = b.GetUserEmail(store.Locator{SiteID: "radio-t"}, "u1")
assert.NoError(t, err, "No error reading entry expected")
assert.Empty(t, result)
// insert entry with invalid site_id
result, err = b.SetUserEmail(store.Locator{SiteID: "bad-site"}, "u3", "does_not_matter@example.com")
assert.Error(t, err, "Site not found")
assert.Empty(t, result)
// read entry with invalid site_id
result, err = b.GetUserEmail(store.Locator{SiteID: "bad-site"}, "u3")
assert.Error(t, err, "Site not found")
assert.Empty(t, result)
}
func TestService_IsAdmin(t *testing.T) {
defer teardown(t)
// two comments for https://radio-t.com