add tests for service operations with user details
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user