From e143dea301cdbd2e373f60a27587eaffb6173c4b Mon Sep 17 00:00:00 2001 From: Markus Unterwaditzer Date: Thu, 11 Jul 2019 15:48:05 +0200 Subject: [PATCH] fix: Skip test that requires semaphore if no semaphore is available --- tests/conftest.py | 6 +++--- tests/integrations/aws_lambda/test_aws.py | 4 ++-- tests/test_serializer.py | 16 +++++++++++----- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index cf690932d7..162eb4c881 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -101,7 +101,7 @@ def _capture_internal_warnings(): @pytest.fixture -def monkeypatch_test_transport(monkeypatch, assert_semaphore_acceptance): +def monkeypatch_test_transport(monkeypatch, semaphore_normalize): def check_event(event): def check_string_keys(map): for key, value in iteritems(map): @@ -110,7 +110,7 @@ def check_string_keys(map): check_string_keys(value) check_string_keys(event) - assert_semaphore_acceptance(event) + semaphore_normalize(event) def inner(client): monkeypatch.setattr(client, "transport", TestTransport(check_event)) @@ -139,7 +139,7 @@ def inner(obj): @pytest.fixture -def assert_semaphore_acceptance(tmpdir): +def semaphore_normalize(tmpdir): def inner(event): if not SEMAPHORE: return diff --git a/tests/integrations/aws_lambda/test_aws.py b/tests/integrations/aws_lambda/test_aws.py index ca0176d10d..1f443ab2a6 100644 --- a/tests/integrations/aws_lambda/test_aws.py +++ b/tests/integrations/aws_lambda/test_aws.py @@ -59,7 +59,7 @@ def lambda_client(): @pytest.fixture(params=["python3.6", "python3.7", "python2.7"]) -def run_lambda_function(tmpdir, lambda_client, request, assert_semaphore_acceptance): +def run_lambda_function(tmpdir, lambda_client, request, semaphore_normalize): def inner(code, payload): runtime = request.param tmpdir.ensure_dir("lambda_tmp").remove() @@ -111,7 +111,7 @@ def delete_function(): continue line = line[len(b"EVENT: ") :] events.append(json.loads(line.decode("utf-8"))) - assert_semaphore_acceptance(events[-1]) + semaphore_normalize(events[-1]) return events, response diff --git a/tests/test_serializer.py b/tests/test_serializer.py index 719f24babc..ce8276b3a0 100644 --- a/tests/test_serializer.py +++ b/tests/test_serializer.py @@ -1,19 +1,25 @@ from datetime import datetime -from hypothesis import given, assume, example +from hypothesis import given, example import hypothesis.strategies as st +import pytest + from sentry_sdk.serializer import Serializer -@given(dt=st.datetimes(timezones=st.just(None))) +@given( + dt=st.datetimes(min_value=datetime(2000, 1, 1, 0, 0, 0), timezones=st.just(None)) +) @example(dt=datetime(2001, 1, 1, 0, 0, 0, 999500)) -def test_datetime_precision(dt, assert_semaphore_acceptance): - assume(dt.year > 2000) +def test_datetime_precision(dt, semaphore_normalize): serializer = Serializer() event = serializer.serialize_event({"timestamp": dt}) - normalized = assert_semaphore_acceptance(event) + normalized = semaphore_normalize(event) + + if normalized is None: + pytest.skip("no semaphore available") dt2 = datetime.utcfromtimestamp(normalized["timestamp"])