blob: 8e67de09ddb2654020268c76dc4bb0ff17adaf61 [file] [log] [blame]
package swarming
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
"go.chromium.org/luci/common/api/swarming/swarming/v1"
"go.skia.org/infra/go/now"
infra_swarming "go.skia.org/infra/go/swarming"
"go.skia.org/infra/go/swarming/mocks"
"go.skia.org/infra/go/testutils"
"go.skia.org/infra/go/testutils/unittest"
)
func TestGetPendingTasks_LimitsSearchRange(t *testing.T) {
unittest.SmallTest(t)
const testPool = "TEST_POOL"
fakeNow := time.Date(2022, 04, 3, 2, 1, 0, 0, time.UTC)
assertStartBeforeNow := func(args mock.Arguments) {
actualStartTime := args.Get(1).(time.Time)
assert.True(t, actualStartTime.Before(fakeNow))
}
msc := &mocks.ApiClient{}
msc.On("ListTaskResults", testutils.AnyContext, mock.Anything, fakeNow,
[]string{"pool:TEST_POOL"}, infra_swarming.TASK_STATE_PENDING, false).
Run(assertStartBeforeNow).
Return([]*swarming.SwarmingRpcsTaskResult{}, nil)
ste := &SwarmingTaskExecutor{
swarming: msc,
}
results, err := ste.GetPendingTasks(now.TimeTravelingContext(fakeNow), testPool)
require.NoError(t, err)
assert.Empty(t, results)
}