github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/app/job_test.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package app 5 6 import ( 7 "testing" 8 9 "github.com/mattermost/mattermost-server/v5/model" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestGetJob(t *testing.T) { 14 th := Setup(t) 15 defer th.TearDown() 16 17 status := &model.Job{ 18 Id: model.NewId(), 19 Status: model.NewId(), 20 } 21 _, err := th.App.Srv().Store.Job().Save(status) 22 require.Nil(t, err) 23 24 defer th.App.Srv().Store.Job().Delete(status.Id) 25 26 received, err := th.App.GetJob(status.Id) 27 require.Nil(t, err) 28 require.Equal(t, status, received, "incorrect job status received") 29 } 30 31 func TestGetJobByType(t *testing.T) { 32 th := Setup(t) 33 defer th.TearDown() 34 35 jobType := model.NewId() 36 37 statuses := []*model.Job{ 38 { 39 Id: model.NewId(), 40 Type: jobType, 41 CreateAt: 1000, 42 }, 43 { 44 Id: model.NewId(), 45 Type: jobType, 46 CreateAt: 999, 47 }, 48 { 49 Id: model.NewId(), 50 Type: jobType, 51 CreateAt: 1001, 52 }, 53 } 54 55 for _, status := range statuses { 56 _, err := th.App.Srv().Store.Job().Save(status) 57 require.Nil(t, err) 58 defer th.App.Srv().Store.Job().Delete(status.Id) 59 } 60 61 received, err := th.App.GetJobsByType(jobType, 0, 2) 62 require.Nil(t, err) 63 require.Len(t, received, 2, "received wrong number of statuses") 64 require.Equal(t, statuses[2], received[0], "should've received newest job first") 65 require.Equal(t, statuses[0], received[1], "should've received second newest job second") 66 67 received, err = th.App.GetJobsByType(jobType, 2, 2) 68 require.Nil(t, err) 69 require.Len(t, received, 1, "received wrong number of statuses") 70 require.Equal(t, statuses[1], received[0], "should've received oldest job last") 71 }