Skip to content
Snippets Groups Projects
Commit 83fa22b0 authored by Pavel Antonov's avatar Pavel Antonov :asterisk:
Browse files

Merge branch 'cherry-pick-cf99f709' into 'release/0.26'

Merge branch 'hotfix/PRXS-2697-FixItemsCache' into 'master'

See merge request perxis/perxis-go!262
parents b9e2677b 0ee06b70
No related branches found
No related tags found
No related merge requests found
......@@ -35,7 +35,7 @@ func (m cachingMiddleware) Get(ctx context.Context, spaceId, envId, collectionId
value, e := m.cache.Get(makeKey(spaceId, envId, collectionId, itemId))
if e == nil {
return value.(*service.Item), err
return value.(*service.Item).Clone(), err
}
itm, err = m.Items.Get(ctx, spaceId, envId, collectionId, itemId, options...)
if err == nil {
......@@ -43,12 +43,14 @@ func (m cachingMiddleware) Get(ctx context.Context, spaceId, envId, collectionId
if err != nil {
return nil, err
}
m.cache.Set(makeKey(itm.SpaceID, env.ID, itm.CollectionID, itm.ID), itm)
_ = m.cache.Set(makeKey(itm.SpaceID, env.ID, itm.CollectionID, itm.ID), itm)
for _, al := range env.Aliases {
m.cache.Set(makeKey(itm.SpaceID, al, itm.CollectionID, itm.ID), itm)
_ = m.cache.Set(makeKey(itm.SpaceID, al, itm.CollectionID, itm.ID), itm)
}
return itm.Clone(), err
}
return itm, err
return nil, err
}
func (m cachingMiddleware) Update(ctx context.Context, item *service.Item, options ...*service.UpdateOptions) (err error) {
......@@ -59,11 +61,11 @@ func (m cachingMiddleware) Update(ctx context.Context, item *service.Item, optio
if err != nil {
return err
}
m.cache.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
m.cachePublished.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
_ = m.cache.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
_ = m.cachePublished.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
for _, al := range env.Aliases {
m.cache.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
m.cachePublished.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
_ = m.cache.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
_ = m.cachePublished.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
}
}
return err
......@@ -77,11 +79,11 @@ func (m cachingMiddleware) Delete(ctx context.Context, del *service.Item, option
if err != nil {
return err
}
m.cache.Remove(makeKey(del.SpaceID, env.ID, del.CollectionID, del.ID))
m.cachePublished.Remove(makeKey(del.SpaceID, env.ID, del.CollectionID, del.ID))
_ = m.cache.Remove(makeKey(del.SpaceID, env.ID, del.CollectionID, del.ID))
_ = m.cachePublished.Remove(makeKey(del.SpaceID, env.ID, del.CollectionID, del.ID))
for _, al := range env.Aliases {
m.cache.Remove(makeKey(del.SpaceID, al, del.CollectionID, del.ID))
m.cachePublished.Remove(makeKey(del.SpaceID, al, del.CollectionID, del.ID))
_ = m.cache.Remove(makeKey(del.SpaceID, al, del.CollectionID, del.ID))
_ = m.cachePublished.Remove(makeKey(del.SpaceID, al, del.CollectionID, del.ID))
}
}
......@@ -96,11 +98,11 @@ func (m cachingMiddleware) Publish(ctx context.Context, item *service.Item, opti
if err != nil {
return err
}
m.cache.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
m.cachePublished.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
_ = m.cache.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
_ = m.cachePublished.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
for _, al := range env.Aliases {
m.cache.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
m.cachePublished.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
_ = m.cache.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
_ = m.cachePublished.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
}
}
return err
......@@ -114,11 +116,11 @@ func (m cachingMiddleware) Unpublish(ctx context.Context, item *service.Item, op
if err != nil {
return err
}
m.cache.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
m.cachePublished.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
_ = m.cache.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
_ = m.cachePublished.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
for _, al := range env.Aliases {
m.cache.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
m.cachePublished.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
_ = m.cache.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
_ = m.cachePublished.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
}
}
return err
......@@ -132,7 +134,7 @@ func (m cachingMiddleware) GetPublished(ctx context.Context, spaceId, envId, col
if e == nil {
value := val.(map[string]*service.Item)
if i, ok := value[opts.LocaleID]; ok {
return i, nil
return i.Clone(), nil
}
}
......@@ -148,13 +150,14 @@ func (m cachingMiddleware) GetPublished(ctx context.Context, spaceId, envId, col
value = val.(map[string]*service.Item)
}
value[opts.LocaleID] = itm
m.cachePublished.Set(makeKey(itm.SpaceID, env.ID, itm.CollectionID, itm.ID), value)
_ = m.cachePublished.Set(makeKey(itm.SpaceID, env.ID, itm.CollectionID, itm.ID), value)
for _, al := range env.Aliases {
m.cachePublished.Set(makeKey(itm.SpaceID, al, itm.CollectionID, itm.ID), value)
_ = m.cachePublished.Set(makeKey(itm.SpaceID, al, itm.CollectionID, itm.ID), value)
}
return itm.Clone(), err
}
return itm, err
return nil, err
}
func (m cachingMiddleware) Archive(ctx context.Context, item *service.Item, options ...*service.ArchiveOptions) (err error) {
......@@ -165,11 +168,11 @@ func (m cachingMiddleware) Archive(ctx context.Context, item *service.Item, opti
if err != nil {
return err
}
m.cache.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
m.cachePublished.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
_ = m.cache.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
_ = m.cachePublished.Remove(makeKey(item.SpaceID, env.ID, item.CollectionID, item.ID))
for _, al := range env.Aliases {
m.cache.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
m.cachePublished.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
_ = m.cache.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
_ = m.cachePublished.Remove(makeKey(item.SpaceID, al, item.CollectionID, item.ID))
}
}
return err
......
......@@ -47,10 +47,10 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша, при повторном запросе.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша, при повторном запросе.")
v3, err := svc.Get(ctx, spaceID, envAlias, colID, itemID)
assert.Same(t, v3, v2, "Ожидается получение объекта из кеша, при запросе того же объекта по alias окружения.")
assert.Equal(t, v3, v2, "Ожидается получение объекта из кеша, при запросе того же объекта по alias окружения.")
require.NoError(t, err)
env.AssertExpectations(t)
......@@ -71,10 +71,10 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envAlias, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша, при повторном запросе.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша, при повторном запросе.")
v3, err := svc.Get(ctx, spaceID, envID, colID, itemID)
assert.Same(t, v3, v2, "Ожидается получение объекта из кеша, при запросе того же объекта по ID окружения.")
assert.Equal(t, v3, v2, "Ожидается получение объекта из кеша, при запросе того же объекта по ID окружения.")
require.NoError(t, err)
env.AssertExpectations(t)
......@@ -95,11 +95,11 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
v3, err := svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v2, v3, "Ожидается получение объекта из кеша, при запросе того же объекта по alias окружения.")
assert.Equal(t, v2, v3, "Ожидается получение объекта из кеша, при запросе того же объекта по alias окружения.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -119,11 +119,11 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
v3, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v2, v3, "Ожидается получение объекта из кеша, при запросе того же объекта по ID окружения.")
assert.Equal(t, v2, v3, "Ожидается получение объекта из кеша, при запросе того же объекта по ID окружения.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -152,19 +152,19 @@ func TestItemsCache(t *testing.T) {
v2loc1, err := svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: loc1})
require.NoError(t, err)
assert.Same(t, v1loc1, v2loc1, "Ожидается получение объекта c локализацией loc1 из кеша.")
assert.Equal(t, v1loc1, v2loc1, "Ожидается получение объекта c локализацией loc1 из кеша.")
v2loc2, err := svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: loc2})
require.NoError(t, err)
assert.Same(t, v1loc2, v2loc2, "Ожидается получение объекта c локализацией loc2 из кеша.")
assert.Equal(t, v1loc2, v2loc2, "Ожидается получение объекта c локализацией loc2 из кеша.")
v3loc1, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: loc1})
require.NoError(t, err)
assert.Same(t, v2loc1, v3loc1, "Ожидается получение объекта c локализацией loc1 из кеша, при запросе того же объекта по ID окружения.")
assert.Equal(t, v2loc1, v3loc1, "Ожидается получение объекта c локализацией loc1 из кеша, при запросе того же объекта по ID окружения.")
v3loc2, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: loc2})
require.NoError(t, err)
assert.Same(t, v2loc2, v3loc2, "Ожидается получение объекта c локализацией loc2 из кеша, при запросе того же объекта по ID окружения.")
assert.Equal(t, v2loc2, v3loc2, "Ожидается получение объекта c локализацией loc2 из кеша, при запросе того же объекта по ID окружения.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -185,7 +185,7 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
itms.On("Update", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -198,7 +198,7 @@ func TestItemsCache(t *testing.T) {
v3, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.NotSame(t, v3, v2, "Ожидается удаление объекта из кэша после обновления и получение его заново из сервиса.")
assert.NotEqual(t, v3, v2, "Ожидается удаление объекта из кэша после обновления и получение его заново из сервиса.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -218,7 +218,7 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
itms.On("Archive", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -231,7 +231,7 @@ func TestItemsCache(t *testing.T) {
v3, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.NotSame(t, v3, v2, "Ожидается удаление объекта из кэша после архивации и получение из сервиса.")
assert.NotEqual(t, v3, v2, "Ожидается удаление объекта из кэша после архивации и получение из сервиса.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -251,7 +251,7 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
itms.On("Publish", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -263,7 +263,7 @@ func TestItemsCache(t *testing.T) {
v3, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.NotSame(t, v3, v2, "Ожидается удаление объекта из кэша после публикации и получение заново из сервиса.")
assert.NotEqual(t, v3, v2, "Ожидается удаление объекта из кэша после публикации и получение заново из сервиса.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -283,11 +283,11 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша при повторном запросе.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша при повторном запросе.")
v3, err := svc.Get(ctx, spaceID, envAlias, colID, itemID)
require.NoError(t, err)
assert.Same(t, v2, v3, "Ожидается получение объекта из кеша по alias окружения.")
assert.Equal(t, v2, v3, "Ожидается получение объекта из кеша по alias окружения.")
itms.On("Delete", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -323,7 +323,7 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
itms.On("Unpublish", mock.Anything, mock.Anything).Return(nil).Once()
......@@ -336,7 +336,7 @@ func TestItemsCache(t *testing.T) {
v3, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.NotSame(t, v3, v2, "Ожидается удаление объекта из кэша после снятия с публикации и получение заново из сервиса.")
assert.NotEqual(t, v3, v2, "Ожидается удаление объекта из кэша после снятия с публикации и получение заново из сервиса.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -356,7 +356,7 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envAlias, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша по alias окружения.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша по alias окружения.")
itms.On("Publish", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -389,7 +389,7 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envAlias, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша по alias окружения.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша по alias окружения.")
itms.On("Update", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -402,7 +402,7 @@ func TestItemsCache(t *testing.T) {
v3, err := svc.Get(ctx, spaceID, envAlias, colID, itemID)
require.NoError(t, err)
assert.NotSame(t, v3, v2, "Ожидается удаление объекта из кэша при обновлении и получение из сервиса по alias окружения.")
assert.NotEqual(t, v3, v2, "Ожидается удаление объекта из кэша при обновлении и получение из сервиса по alias окружения.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -422,7 +422,7 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envAlias, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша по alias окружения.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша по alias окружения.")
itms.On("Unpublish", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -435,7 +435,7 @@ func TestItemsCache(t *testing.T) {
v3, err := svc.Get(ctx, spaceID, envAlias, colID, itemID)
require.NoError(t, err)
assert.NotSame(t, v3, v2, "Ожидается удаление объекта из кэша после снятия с публикации и получение из сервиса по alias окружения.")
assert.NotEqual(t, v3, v2, "Ожидается удаление объекта из кэша после снятия с публикации и получение из сервиса по alias окружения.")
env.AssertExpectations(t)
itms.AssertExpectations(t)
......@@ -455,11 +455,11 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
v3, err := svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v2, v3, "Ожидается получение объекта из кеша по о alias окружения.")
assert.Equal(t, v2, v3, "Ожидается получение объекта из кеша по о alias окружения.")
itms.On("Update", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -496,11 +496,11 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
v3, err := svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v2, v3, "Ожидается получение объекта из кеша по о alias окружения.")
assert.Equal(t, v2, v3, "Ожидается получение объекта из кеша по о alias окружения.")
itms.On("Archive", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -537,11 +537,11 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
v3, err := svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v2, v3, "Ожидается получение объекта из кеша по о alias окружения.")
assert.Equal(t, v2, v3, "Ожидается получение объекта из кеша по о alias окружения.")
itms.On("Delete", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -578,11 +578,11 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
v3, err := svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v2, v3, "Ожидается получение объекта из кеша по о alias окружения.")
assert.Equal(t, v2, v3, "Ожидается получение объекта из кеша по о alias окружения.")
itms.On("Unpublish", mock.Anything, mock.Anything).Return(nil).Once()
env.On("Get", mock.Anything, spaceID, envID).Return(&environments.Environment{ID: envID, SpaceID: spaceID, Aliases: []string{envAlias}}, nil).Once()
......@@ -623,14 +623,14 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
v3, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
v4, err := svc.GetPublished(ctx, spaceID, envID, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.NoError(t, err)
assert.Same(t, v3, v4, "Ожидается получение опубликованного объекта из кеша.")
assert.Equal(t, v3, v4, "Ожидается получение опубликованного объекта из кеша.")
itms.On("Unpublish", mock.Anything, mock.Anything).Return(nil).Once()
err = svc.Unpublish(ctx, &items.Item{ID: itemID, SpaceID: spaceID, EnvID: envAlias, CollectionID: colID, State: items.StatePublished})
......@@ -643,7 +643,7 @@ func TestItemsCache(t *testing.T) {
v5, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.NotSame(t, v5, v2, "Ожидается удаление объекта из кэша и получение заново из сервиса.")
assert.NotEqual(t, v5, v2, "Ожидается удаление объекта из кэша и получение заново из сервиса.")
_, err = svc.GetPublished(ctx, spaceID, envAlias, colID, itemID, &items.GetPublishedOptions{LocaleID: locID})
require.Error(t, err)
......@@ -667,7 +667,7 @@ func TestItemsCache(t *testing.T) {
v2, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.Same(t, v1, v2, "Ожидается получение объекта из кеша.")
assert.Equal(t, v1, v2, "Ожидается получение объекта из кеша.")
time.Sleep(2 * ttl)
......@@ -677,6 +677,7 @@ func TestItemsCache(t *testing.T) {
v3, err := svc.Get(ctx, spaceID, envID, colID, itemID)
require.NoError(t, err)
assert.NotSame(t, v2, v3, "Ожидается удаление объекта из кэша и получение из сервиса.")
assert.Equal(t, v2, v3)
env.AssertExpectations(t)
itms.AssertExpectations(t)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment