mirror of https://github.com/docker/docs.git
storage/memory's UpdateMany should fail if versions are not higher
Signed-off-by: Ying Li <ying.li@docker.com>
This commit is contained in:
parent
b188f1ba7f
commit
3aeae90290
|
@ -66,7 +66,9 @@ func (st *MemStorage) UpdateCurrent(gun string, update MetaUpdate) error {
|
||||||
// UpdateMany updates multiple TUF records
|
// UpdateMany updates multiple TUF records
|
||||||
func (st *MemStorage) UpdateMany(gun string, updates []MetaUpdate) error {
|
func (st *MemStorage) UpdateMany(gun string, updates []MetaUpdate) error {
|
||||||
for _, u := range updates {
|
for _, u := range updates {
|
||||||
st.UpdateCurrent(gun, u)
|
if err := st.UpdateCurrent(gun, u); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,28 @@ func TestUpdateCurrent(t *testing.T) {
|
||||||
require.Equal(t, []byte("test"), v.data, "Data was incorrect")
|
require.Equal(t, []byte("test"), v.data, "Data was incorrect")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUpdateMany(t *testing.T) {
|
||||||
|
s := NewMemStorage()
|
||||||
|
require.NoError(t, s.UpdateMany("gun", []MetaUpdate{
|
||||||
|
{"role1", 1, []byte("test1")},
|
||||||
|
{"role2", 1, []byte("test2")},
|
||||||
|
}))
|
||||||
|
|
||||||
|
_, d, err := s.GetCurrent("gun", "role1")
|
||||||
|
require.Nil(t, err, "Expected error to be nil")
|
||||||
|
require.Equal(t, []byte("test1"), d, "Data was incorrect")
|
||||||
|
|
||||||
|
_, d, err = s.GetCurrent("gun", "role2")
|
||||||
|
require.Nil(t, err, "Expected error to be nil")
|
||||||
|
require.Equal(t, []byte("test2"), d, "Data was incorrect")
|
||||||
|
|
||||||
|
// updating even one with an equal version fails
|
||||||
|
require.IsType(t, &ErrOldVersion{}, s.UpdateMany("gun", []MetaUpdate{
|
||||||
|
{"role1", 1, []byte("test1")},
|
||||||
|
{"role2", 2, []byte("test2")},
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
func TestGetCurrent(t *testing.T) {
|
func TestGetCurrent(t *testing.T) {
|
||||||
s := NewMemStorage()
|
s := NewMemStorage()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue