MM-14082 Don't print warnings when saving duplicate metadata (#10376)

* MM-14082 Don't print warnings when saving duplicate metadata

* Fix order of arguments passed to assert.Equal
Этот коммит содержится в:
Harrison Healey
2019-02-28 10:32:52 -05:00
коммит произвёл GitHub
родитель bbfcac84c9
Коммит 06261d32ba
2 изменённых файлов: 11 добавлений и 3 удалений

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

@@ -45,7 +45,7 @@ func (s SqlLinkMetadataStore) Save(metadata *model.LinkMetadata) store.StoreChan
metadata.PreSave()
err := s.GetMaster().Insert(metadata)
if err != nil {
if err != nil && !IsUniqueConstraintError(err, []string{"PRIMARY", "linkmetadata_pkey"}) {
result.Err = model.NewAppError("SqlLinkMetadataStore.Save", "store.sql_link_metadata.save.app_error", nil, "url="+metadata.URL+", "+err.Error(), http.StatusInternalServerError)
return
}

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

@@ -98,7 +98,7 @@ func testLinkMetadataStoreSave(t *testing.T, ss store.Store) {
assert.Equal(t, *metadata, *result.Data.(*model.LinkMetadata))
})
t.Run("should fail to save with duplicate URL and timestamp", func(t *testing.T) {
t.Run("should not save with duplicate URL and timestamp, but should not return an error", func(t *testing.T) {
metadata := &model.LinkMetadata{
URL: "http://example.com",
Timestamp: getNextLinkMetadataTimestamp(),
@@ -108,10 +108,18 @@ func testLinkMetadataStoreSave(t *testing.T, ss store.Store) {
result := <-ss.LinkMetadata().Save(metadata)
require.Nil(t, result.Err)
assert.Equal(t, &model.PostImage{}, result.Data.(*model.LinkMetadata).Data)
metadata.Data = &model.PostImage{Height: 10, Width: 20}
result = <-ss.LinkMetadata().Save(metadata)
require.Nil(t, result.Err)
assert.Equal(t, result.Data.(*model.LinkMetadata).Data, &model.PostImage{Height: 10, Width: 20})
assert.NotNil(t, result.Err)
// Should return the original result, not the duplicate one
result = <-ss.LinkMetadata().Get(metadata.URL, metadata.Timestamp)
require.Nil(t, result.Err)
assert.Equal(t, &model.PostImage{}, result.Data.(*model.LinkMetadata).Data)
})
}