MM-32693: Use master when emoji_layer is invalidated (#16951)

We add a map which tracks invalidations to the emoji caches
and use master whenever a fresh item is fetched from DB.

https://mattermost.atlassian.net/browse/MM-32693

```release-note
NONE
```

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Agniva De Sarker
2021-02-26 22:17:51 +05:30
коммит произвёл GitHub
родитель 33c8b0ad73
Коммит 6dcbad049c
14 изменённых файлов: 169 добавлений и 84 удалений

Просмотреть файл

@@ -3853,7 +3853,7 @@ func TestImportImportEmoji(t *testing.T) {
err := th.App.importEmoji(&data, true)
assert.NotNil(t, err, "Invalid emoji should have failed dry run")
emoji, nErr := th.App.Srv().Store.Emoji().GetByName(*data.Name, true)
emoji, nErr := th.App.Srv().Store.Emoji().GetByName(context.Background(), *data.Name, true)
assert.Nil(t, emoji, "Emoji should not have been imported")
assert.Error(t, nErr)
@@ -3873,7 +3873,7 @@ func TestImportImportEmoji(t *testing.T) {
err = th.App.importEmoji(&data, false)
assert.Nil(t, err, "Valid emoji should have succeeded apply mode")
emoji, nErr = th.App.Srv().Store.Emoji().GetByName(*data.Name, true)
emoji, nErr = th.App.Srv().Store.Emoji().GetByName(context.Background(), *data.Name, true)
assert.NotNil(t, emoji, "Emoji should have been imported")
assert.NoError(t, nErr, "Emoji should have been imported without any error")