diff --git a/setup.py b/setup.py index 03cbc01..9cc2200 100644 --- a/setup.py +++ b/setup.py @@ -37,15 +37,16 @@ setup( 'eth-abi==1.2.0', # TODO: This has to be removed when "ModuleNotFoundError: No module named 'eth_utils.toolz'" is fixed at eth-abi 'python-dateutil==2.7.0', - 'click==6.7', + 'click==7.0', 'ethereum-dasm==0.1.4' ], extras_require={ 'streaming': [ - 'google-cloud-pubsub==0.37.2' + 'google-cloud-pubsub==0.39.1' ], 'dev': [ - 'pytest~=3.2.0', + 'pytest~=4.3.0', + 'pytest-timeout~=1.3.3' ] }, entry_points={ diff --git a/tests/ethereumetl/service/test_eth_service.py b/tests/ethereumetl/service/test_eth_service.py index 97f12d4..b576dad 100644 --- a/tests/ethereumetl/service/test_eth_service.py +++ b/tests/ethereumetl/service/test_eth_service.py @@ -30,13 +30,12 @@ from ethereumetl.service.graph_operations import OutOfBoundsError from tests.helpers import skip_if_slow_tests_disabled -@skip_if_slow_tests_disabled @pytest.mark.parametrize("date,expected_start_block,expected_end_block", [ - ('2015-07-30', 0, 6911), - ('2015-07-31', 6912, 13774), - ('2017-01-01', 2912407, 2918517), - ('2017-01-02', 2918518, 2924575), - ('2018-06-10', 5761663, 5767303) + skip_if_slow_tests_disabled(['2015-07-30', 0, 6911]), + skip_if_slow_tests_disabled(['2015-07-31', 6912, 13774]), + skip_if_slow_tests_disabled(['2017-01-01', 2912407, 2918517]), + skip_if_slow_tests_disabled(['2017-01-02', 2918518, 2924575]), + skip_if_slow_tests_disabled(['2018-06-10', 5761663, 5767303]) ]) def test_get_block_range_for_date(date, expected_start_block, expected_end_block): eth_service = get_new_eth_service() @@ -45,10 +44,9 @@ def test_get_block_range_for_date(date, expected_start_block, expected_end_block assert blocks == (expected_start_block, expected_end_block) -@skip_if_slow_tests_disabled @pytest.mark.parametrize("date", [ - '2015-07-29', - '2030-01-01' + skip_if_slow_tests_disabled(['2015-07-29']), + skip_if_slow_tests_disabled(['2030-01-01']) ]) def test_get_block_range_for_date_fail(date): eth_service = get_new_eth_service() @@ -57,10 +55,9 @@ def test_get_block_range_for_date_fail(date): eth_service.get_block_range_for_date(parsed_date) -@skip_if_slow_tests_disabled @pytest.mark.parametrize("start_timestamp,end_timestamp,expected_start_block,expected_end_block", [ - (1438270128, 1438270128, 10, 10), - (1438270128, 1438270129, 10, 10) + skip_if_slow_tests_disabled([1438270128, 1438270128, 10, 10]), + skip_if_slow_tests_disabled([1438270128, 1438270129, 10, 10]) ]) def test_get_block_range_for_timestamps(start_timestamp, end_timestamp, expected_start_block, expected_end_block): eth_service = get_new_eth_service() @@ -68,9 +65,8 @@ def test_get_block_range_for_timestamps(start_timestamp, end_timestamp, expected assert blocks == (expected_start_block, expected_end_block) -@skip_if_slow_tests_disabled @pytest.mark.parametrize("start_timestamp,end_timestamp", [ - (1438270129, 1438270131) + skip_if_slow_tests_disabled([1438270129, 1438270131]) ]) def test_get_block_range_for_timestamps_fail(start_timestamp, end_timestamp): eth_service = get_new_eth_service() diff --git a/tests/helpers.py b/tests/helpers.py index 6ecb982..2d38aca 100644 --- a/tests/helpers.py +++ b/tests/helpers.py @@ -55,4 +55,7 @@ def read_file(path): run_slow_tests_variable = os.environ.get('ETHEREUM_ETL_RUN_SLOW_TESTS', 'False') run_slow_tests = run_slow_tests_variable.lower() in ['1', 'true', 'yes'] -skip_if_slow_tests_disabled = pytest.mark.skipif(not run_slow_tests, reason='Skipping slow running tests') + + +def skip_if_slow_tests_disabled(data): + return pytest.param(*data, marks=pytest.mark.skipif(not run_slow_tests, reason='Skipping slow running tests'))