def test_use(self): response = RouteResponse('id', '', Delay(), repeat=1) assert response.is_active assert response.used_count == 0 assert response.repeat == 1 response.use() assert not response.is_active assert response.used_count == 1 assert response.repeat == 1
def test_cycle_selection(self): strategy = ResponseSelectionStrategy.cycle r1 = RouteResponse('id1', '', Delay(), repeat=2) r2 = RouteResponse('id2', '', Delay(), repeat=3) assert strategy.select_response([r1, r2]) is r1 r1.use() assert strategy.select_response([r1, r2]) is r2 r2.use() assert strategy.select_response([r1, r2]) is r1 r1.use() assert strategy.select_response([r1, r2]) is r2 r2.use() assert strategy.select_response([r1, r2]) is r2 r2.use() assert strategy.select_response([r1, r2]) is None