github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/store/storetest/audit_store.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package storetest 5 6 import ( 7 "testing" 8 "time" 9 10 "github.com/mattermost/mattermost-server/v5/model" 11 "github.com/mattermost/mattermost-server/v5/store" 12 "github.com/stretchr/testify/assert" 13 "github.com/stretchr/testify/require" 14 ) 15 16 func TestAuditStore(t *testing.T, ss store.Store) { 17 t.Run("", func(t *testing.T) { testAuditStore(t, ss) }) 18 } 19 20 func testAuditStore(t *testing.T, ss store.Store) { 21 audit := &model.Audit{UserId: model.NewId(), IpAddress: "ipaddress", Action: "Action"} 22 require.Nil(t, ss.Audit().Save(audit)) 23 time.Sleep(100 * time.Millisecond) 24 require.Nil(t, ss.Audit().Save(audit)) 25 time.Sleep(100 * time.Millisecond) 26 require.Nil(t, ss.Audit().Save(audit)) 27 time.Sleep(100 * time.Millisecond) 28 audit.ExtraInfo = "extra" 29 time.Sleep(100 * time.Millisecond) 30 require.Nil(t, ss.Audit().Save(audit)) 31 32 time.Sleep(100 * time.Millisecond) 33 34 audits, err := ss.Audit().Get(audit.UserId, 0, 100) 35 require.Nil(t, err) 36 37 assert.Len(t, audits, 4) 38 39 assert.Equal(t, "extra", audits[0].ExtraInfo) 40 41 audits, err = ss.Audit().Get("missing", 0, 100) 42 require.Nil(t, err) 43 assert.Empty(t, audits) 44 45 audits, err = ss.Audit().Get("", 0, 100) 46 require.Nil(t, err) 47 require.Len(t, audits, 4, "Failed to save and retrieve 4 audit logs") 48 49 require.Nil(t, ss.Audit().PermanentDeleteByUser(audit.UserId)) 50 }