github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/pkg/compute/bidstrategy/input_stateless_strategy_test.go (about) 1 //go:build unit || !integration 2 3 package bidstrategy 4 5 import ( 6 "context" 7 "testing" 8 9 "github.com/stretchr/testify/suite" 10 11 "github.com/stretchr/testify/require" 12 ) 13 14 type StatelessJobStrategySuite struct { 15 suite.Suite 16 statelessJob BidStrategyRequest 17 statefulJob BidStrategyRequest 18 } 19 20 func (s *StatelessJobStrategySuite) SetupSuite() { 21 s.statelessJob = getBidStrategyRequest() 22 s.statefulJob = getBidStrategyRequestWithInput() 23 } 24 25 func (s *StatelessJobStrategySuite) TestRejectStateless_StatelessJob() { 26 params := StatelessJobStrategyParams{RejectStatelessJobs: true} 27 strategy := NewStatelessJobStrategy(params) 28 29 result, err := strategy.ShouldBid(context.Background(), s.statelessJob) 30 require.NoError(s.T(), err) 31 require.False(s.T(), result.ShouldBid) 32 } 33 34 func (s *StatelessJobStrategySuite) TestRejectStateless_StatefulJob() { 35 params := StatelessJobStrategyParams{RejectStatelessJobs: true} 36 strategy := NewStatelessJobStrategy(params) 37 38 result, err := strategy.ShouldBid(context.Background(), s.statefulJob) 39 require.NoError(s.T(), err) 40 require.True(s.T(), result.ShouldBid) 41 } 42 43 func (s *StatelessJobStrategySuite) TestAcceptStateless_StatelessJob() { 44 params := StatelessJobStrategyParams{RejectStatelessJobs: false} 45 strategy := NewStatelessJobStrategy(params) 46 47 result, err := strategy.ShouldBid(context.Background(), s.statelessJob) 48 require.NoError(s.T(), err) 49 require.True(s.T(), result.ShouldBid) 50 } 51 52 func (s *StatelessJobStrategySuite) TestAcceptStateless_StatefulJob() { 53 params := StatelessJobStrategyParams{RejectStatelessJobs: false} 54 strategy := NewStatelessJobStrategy(params) 55 56 result, err := strategy.ShouldBid(context.Background(), s.statefulJob) 57 require.NoError(s.T(), err) 58 require.True(s.T(), result.ShouldBid) 59 } 60 61 func TestStatelessJobStrategySuite(t *testing.T) { 62 suite.Run(t, new(StatelessJobStrategySuite)) 63 }