Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions api/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ dev = [
"responses>=0.22.0,<0.23.0",
"pre-commit>=4.0.1,<5.0.0",
"pytest-mock>=3.10.0,<3.11.0",
"pytest-lazy-fixture>=0.6.3,<0.7.0",
"pytest-lazy-fixtures>=1.4.0,<2.0.0",
"moto>=4.1.3,<4.2.0",
# TODO: move to https://github.com/adamchainz/time-machine
"pytest-freezegun>=0.4.2,<0.5.0",
Expand Down Expand Up @@ -344,7 +344,6 @@ override-dependencies = [
"pytest-cov==4.1.0",
"pytest-django==4.8.0",
"pytest-freezegun==0.4.2",
"pytest-lazy-fixture==0.6.3",
"pytest-mock==3.10.0",
"pytest-responses==0.5.1",
"pytest-structlog==1.1",
Expand Down
8 changes: 4 additions & 4 deletions api/tests/integration/core/test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from django.db.models import Model
from djoser.utils import decode_uid # type: ignore[import-untyped]
from pytest_django.fixtures import SettingsWrapper
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf

from organisations.models import (
Organisation,
Expand Down Expand Up @@ -131,9 +131,9 @@ def test_bootstrap__cli_overrides_provided__creates_expected_entities(
@pytest.mark.parametrize(
"existing_data",
[
lazy_fixture("admin_user"),
lazy_fixture("organisation"),
lazy_fixture("project"),
lf("admin_user"),
lf("organisation"),
lf("project"),
],
)
def test_bootstrap__used_instance__skip_expected(
Expand Down
4 changes: 2 additions & 2 deletions api/tests/integration/core/test_user_rate_throttle.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

import pytest
from django.urls import reverse
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from pytest_mock import MockerFixture
from rest_framework import status
from rest_framework.test import APIClient


@pytest.mark.parametrize(
"client",
[(lazy_fixture("admin_master_api_key_client")), (lazy_fixture("admin_client"))],
[(lf("admin_master_api_key_client")), (lf("admin_client"))],
)
def test_user_throttle__admin_endpoint_exceeds_rate_limit__returns_too_many_requests(
client: APIClient, project: int, mocker: MockerFixture, reset_cache: None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from django.urls import reverse
from mypy_boto3_dynamodb.service_resource import Table
from mypy_boto3_dynamodb.type_defs import TableAttributeValueTypeDef
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from pytest_mock import MockerFixture
from rest_framework import status
from rest_framework.exceptions import NotFound
Expand Down Expand Up @@ -727,9 +727,7 @@ def test_edge_identities_create_featurestate__invalid_mv_allocation__returns_400
assert "multivariate_feature_state_values" in response.json()


@pytest.mark.parametrize(
"lazy_feature", [(lazy_fixture("feature")), (lazy_fixture("feature_name"))]
)
@pytest.mark.parametrize("lazy_feature", [(lf("feature")), (lf("feature_name"))])
def test_edge_identities_with_identifier_create_featurestate__valid_data__creates_override( # type: ignore[no-untyped-def]
dynamodb_wrapper_v2,
admin_client,
Expand Down Expand Up @@ -793,9 +791,7 @@ def test_edge_identities_with_identifier_create_featurestate__valid_data__create
assert actual_feature_state["featurestate_uuid"] is not None


@pytest.mark.parametrize(
"lazy_feature", [(lazy_fixture("feature")), (lazy_fixture("feature_name"))]
)
@pytest.mark.parametrize("lazy_feature", [(lf("feature")), (lf("feature_name"))])
def test_edge_identities_with_identifier_delete_featurestate__valid_feature__removes_override( # type: ignore[no-untyped-def]
dynamodb_wrapper_v2,
admin_client,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

import pytest
from django.urls import reverse
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from rest_framework import status
from rest_framework.test import APIClient

Expand Down Expand Up @@ -377,22 +377,22 @@ def transient_identifier(
"identifier_data,expected_identifier",
[
pytest.param(
lazy_fixture("existing_identity_identifier_data"),
lazy_fixture("identity_identifier"),
lf("existing_identity_identifier_data"),
lf("identity_identifier"),
id="existing-identifier",
),
pytest.param({"identifier": "unseen"}, "unseen", id="new-identifier"),
pytest.param(
{"identifier": ""},
lazy_fixture("transient_identifier"),
lf("transient_identifier"),
id="blank-identifier",
),
pytest.param(
{"identifier": None},
lazy_fixture("transient_identifier"),
lf("transient_identifier"),
id="null-identifier",
),
pytest.param({}, lazy_fixture("transient_identifier"), id="missing-identifier"),
pytest.param({}, lf("transient_identifier"), id="missing-identifier"),
],
)
def test_get_feature_states_for_identity__segment_matching_traits__returns_segment_override(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import pytest
from django.urls import reverse
from pytest_django.fixtures import DjangoAssertNumQueries
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from rest_framework import status
from rest_framework.test import APIClient

Expand All @@ -16,7 +16,7 @@

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_clone_environment__feature_states_with_value__clones_values( # type: ignore[no-untyped-def]
client: APIClient,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

import pytest
from django.urls import reverse
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from rest_framework import status


@pytest.mark.parametrize(
"client",
[(lazy_fixture("admin_master_api_key_client")), (lazy_fixture("admin_client"))],
[(lf("admin_master_api_key_client")), (lf("admin_client"))],
)
def test_update_feature_state_value__new_value_provided__updates_value( # type: ignore[no-untyped-def]
client, environment, environment_api_key, feature, feature_state
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

import pytest
from django.urls import reverse
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from rest_framework import status


@pytest.mark.parametrize(
"client",
[(lazy_fixture("admin_master_api_key_client")), (lazy_fixture("admin_client"))],
[(lf("admin_master_api_key_client")), (lf("admin_client"))],
)
def test_create_feature_state__identity_override__returns_201( # type: ignore[no-untyped-def]
client, environment, identity, feature
Expand All @@ -34,7 +34,7 @@ def test_create_feature_state__identity_override__returns_201( # type: ignore[n

@pytest.mark.parametrize(
"client",
[(lazy_fixture("admin_master_api_key_client")), (lazy_fixture("admin_client"))],
[(lf("admin_master_api_key_client")), (lf("admin_client"))],
)
def test_create_feature_state__identity_with_identifier__returns_201( # type: ignore[no-untyped-def]
client, environment, identity, feature, identity_identifier
Expand All @@ -60,7 +60,7 @@ def test_create_feature_state__identity_with_identifier__returns_201( # type: i

@pytest.mark.parametrize(
"client",
[(lazy_fixture("admin_master_api_key_client")), (lazy_fixture("admin_client"))],
[(lf("admin_master_api_key_client")), (lf("admin_client"))],
)
def test_list_feature_states__filter_by_environment__returns_environment_states( # type: ignore[no-untyped-def]
client, environment, feature
Expand All @@ -82,7 +82,7 @@ def test_list_feature_states__filter_by_environment__returns_environment_states(

@pytest.mark.parametrize(
"client",
[(lazy_fixture("admin_master_api_key_client")), (lazy_fixture("admin_client"))],
[(lf("admin_master_api_key_client")), (lf("admin_client"))],
)
def test_update_feature_state__new_value__returns_updated_value( # type: ignore[no-untyped-def]
client, environment, feature_state, feature, identity
Expand All @@ -109,7 +109,7 @@ def test_update_feature_state__new_value__returns_updated_value( # type: ignore

@pytest.mark.parametrize(
"client",
[(lazy_fixture("admin_master_api_key_client")), (lazy_fixture("admin_client"))],
[(lf("admin_master_api_key_client")), (lf("admin_client"))],
)
def test_update_feature_state__identity_with_identifier__returns_updated_value( # type: ignore[no-untyped-def]
client, environment, identity_featurestate, feature, identity, identity_identifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import responses
from django.urls import reverse
from freezegun import freeze_time
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from pytest_mock import MockerFixture
from rest_framework import status
from rest_framework.test import APIClient
Expand Down Expand Up @@ -147,7 +147,7 @@ def test_update_segment_override__via_api__webhook_payload_has_correct_previous_

@pytest.mark.parametrize(
"webhook",
[lazy_fixture("environment_webhook"), lazy_fixture("organisation_webhook")],
[lf("environment_webhook"), lf("organisation_webhook")],
)
@responses.activate
def test_update_multivariate_percentage__percentage_changed__webhook_payload_includes_multivariate_values(
Expand Down Expand Up @@ -243,7 +243,7 @@ def test_update_multivariate_percentage__percentage_changed__webhook_payload_inc

@pytest.mark.parametrize(
"webhook",
[lazy_fixture("environment_webhook"), lazy_fixture("organisation_webhook")],
[lf("environment_webhook"), lf("organisation_webhook")],
)
@responses.activate
def test_update_feature_live__legacy_versioning__webhook_payload_has_correct_previous_and_new_states(
Expand Down Expand Up @@ -283,7 +283,7 @@ def test_update_feature_live__legacy_versioning__webhook_payload_has_correct_pre

@pytest.mark.parametrize(
"webhook",
[lazy_fixture("environment_webhook"), lazy_fixture("organisation_webhook")],
[lf("environment_webhook"), lf("organisation_webhook")],
)
@responses.activate
def test_update_feature_scheduled__legacy_versioning__webhook_payload_has_correct_previous_and_new_states(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import pytest
from django.urls import reverse
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from rest_framework import status
from rest_framework.test import APIClient

Expand All @@ -15,7 +15,7 @@

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_create_mv_option__valid_data__returns_created( # type: ignore[no-untyped-def]
client, project, mv_option_50_percent, feature
Expand Down Expand Up @@ -305,8 +305,8 @@ def test_update_mv_option__duplicate_sibling_key__returns_bad_request(
@pytest.mark.parametrize(
"client, feature_id",
[
(lazy_fixture("admin_client"), "undefined"),
(lazy_fixture("admin_client"), "89809"),
(lf("admin_client"), "undefined"),
(lf("admin_client"), "89809"),
],
)
def test_create_mv_option__invalid_feature_id__returns_not_found( # type: ignore[no-untyped-def]
Expand Down Expand Up @@ -368,7 +368,7 @@ def test_create_mv_option__user_not_project_member__returns_forbidden(project):

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_list_mv_options__option_exists__returns_option( # type: ignore[no-untyped-def]
project, mv_option_50_percent, client, feature
Expand All @@ -391,7 +391,7 @@ def test_list_mv_options__option_exists__returns_option( # type: ignore[no-unty

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_create_mv_option__total_allocation_exceeds_100__returns_bad_request( # type: ignore[no-untyped-def]
project, mv_option_50_percent, client, feature
Expand Down Expand Up @@ -422,7 +422,7 @@ def test_create_mv_option__total_allocation_exceeds_100__returns_bad_request( #

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_update_mv_option__valid_allocation__returns_updated_option( # type: ignore[no-untyped-def]
project, mv_option_50_percent, client, feature
Expand Down Expand Up @@ -453,7 +453,7 @@ def test_update_mv_option__valid_allocation__returns_updated_option( # type: ig

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_update_mv_option__total_allocation_exceeds_100__returns_bad_request( # type: ignore[no-untyped-def]
project, mv_option_50_percent, client, feature
Expand Down Expand Up @@ -504,7 +504,7 @@ def test_update_mv_option__total_allocation_exceeds_100__returns_bad_request( #

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_delete_mv_option__option_exists__returns_no_content( # type: ignore[no-untyped-def]
project, mv_option_50_percent, client, feature
Expand Down Expand Up @@ -538,7 +538,7 @@ def test_delete_mv_option__option_exists__returns_no_content( # type: ignore[no

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_update_feature_state__two_mv_options_at_50_percent__returns_ok( # type: ignore[no-untyped-def]
project, environment, environment_api_key, client, feature
Expand Down Expand Up @@ -635,7 +635,7 @@ def test_update_feature_state__two_mv_options_at_50_percent__returns_ok( # type

@pytest.mark.parametrize(
"client",
[lazy_fixture("admin_master_api_key_client"), lazy_fixture("admin_client")],
[lf("admin_master_api_key_client"), lf("admin_client")],
)
def test_update_feature_state__swap_variation_weights__returns_ok( # type: ignore[no-untyped-def]
project, environment, environment_api_key, client, feature
Expand Down
4 changes: 2 additions & 2 deletions api/tests/unit/api/test_unit_api.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pytest
from django.urls import reverse
from pytest_lazyfixture import lazy_fixture # type: ignore[import-untyped]
from pytest_lazy_fixtures import lf
from rest_framework import status
from rest_framework.test import APIClient

Expand All @@ -15,7 +15,7 @@
)
@pytest.mark.parametrize(
"client",
(lazy_fixture("api_client"), lazy_fixture("admin_client")),
(lf("api_client"), lf("admin_client")),
)
def test_swagger_docs_generation__valid_url__returns_ok(
url: str, client: APIClient
Expand Down
Loading
Loading