mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-23 22:17:14 +02:00
databroker: fix in-memory backend deadlock (#3300)
This commit is contained in:
parent
f73c5c615f
commit
2e1366c417
2 changed files with 32 additions and 18 deletions
pkg/storage/inmemory
|
@ -28,22 +28,36 @@ func TestBackend(t *testing.T) {
|
|||
})
|
||||
t.Run("get record", func(t *testing.T) {
|
||||
data := new(anypb.Any)
|
||||
sv, err := backend.Put(ctx, []*databroker.Record{{
|
||||
Type: "TYPE",
|
||||
Id: "abcd",
|
||||
Data: data,
|
||||
}})
|
||||
sv, err := backend.Put(ctx, []*databroker.Record{
|
||||
{
|
||||
Type: "TYPE",
|
||||
Id: "a",
|
||||
Data: data,
|
||||
},
|
||||
{
|
||||
Type: "TYPE",
|
||||
Id: "b",
|
||||
Data: data,
|
||||
},
|
||||
{
|
||||
Type: "TYPE",
|
||||
Id: "c",
|
||||
Data: data,
|
||||
},
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, backend.serverVersion, sv)
|
||||
record, err := backend.Get(ctx, "TYPE", "abcd")
|
||||
require.NoError(t, err)
|
||||
if assert.NotNil(t, record) {
|
||||
assert.Equal(t, data, record.Data)
|
||||
assert.Nil(t, record.DeletedAt)
|
||||
assert.Equal(t, "abcd", record.Id)
|
||||
assert.NotNil(t, record.ModifiedAt)
|
||||
assert.Equal(t, "TYPE", record.Type)
|
||||
assert.Equal(t, uint64(1), record.Version)
|
||||
for i, id := range []string{"a", "b", "c"} {
|
||||
record, err := backend.Get(ctx, "TYPE", id)
|
||||
require.NoError(t, err)
|
||||
if assert.NotNil(t, record) {
|
||||
assert.Equal(t, data, record.Data)
|
||||
assert.Nil(t, record.DeletedAt)
|
||||
assert.Equal(t, id, record.Id)
|
||||
assert.NotNil(t, record.ModifiedAt)
|
||||
assert.Equal(t, "TYPE", record.Type)
|
||||
assert.Equal(t, uint64(i+1), record.Version)
|
||||
}
|
||||
}
|
||||
})
|
||||
t.Run("delete record", func(t *testing.T) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue