|
3 | 3 |
|
4 | 4 | from boto3.dynamodb.types import Binary |
5 | 5 | from common.test_tools import AssertMetricFixture |
| 6 | +from freezegun import freeze_time |
6 | 7 | from mypy_boto3_dynamodb.service_resource import Table |
7 | 8 | from pytest_django.fixtures import SettingsWrapper |
8 | 9 | from pytest_mock import MockerFixture |
@@ -124,6 +125,49 @@ def test_environment_v2_wrapper__update_identity_overrides__put_expected( |
124 | 125 | ) |
125 | 126 |
|
126 | 127 |
|
| 128 | +@freeze_time("2023-01-01T00:00:00Z") |
| 129 | +def test_environment_v2_wrapper__update_identity_overrides__put__stores_created_date( |
| 130 | + settings: SettingsWrapper, |
| 131 | + environment: Environment, |
| 132 | + flagsmith_environments_v2_table: Table, |
| 133 | + feature: Feature, |
| 134 | + feature_state: FeatureState, |
| 135 | +) -> None: |
| 136 | + # Given |
| 137 | + settings.ENVIRONMENTS_V2_TABLE_NAME_DYNAMO = flagsmith_environments_v2_table.name |
| 138 | + wrapper = DynamoEnvironmentV2Wrapper() |
| 139 | + |
| 140 | + identity_uuid = str(uuid.uuid4()) |
| 141 | + override_document = IdentityOverrideV2.parse_obj( |
| 142 | + { |
| 143 | + "environment_id": str(environment.id), |
| 144 | + "document_key": get_environments_v2_identity_override_document_key( |
| 145 | + feature_id=feature.id, identity_uuid=identity_uuid |
| 146 | + ), |
| 147 | + "environment_api_key": environment.api_key, |
| 148 | + "feature_state": map_feature_state_to_engine(feature_state), |
| 149 | + "identifier": "identity1", |
| 150 | + "identity_uuid": identity_uuid, |
| 151 | + } |
| 152 | + ) |
| 153 | + |
| 154 | + # When |
| 155 | + wrapper.update_identity_overrides( |
| 156 | + changeset=IdentityOverridesV2Changeset( |
| 157 | + to_delete=[], |
| 158 | + to_put=[override_document], |
| 159 | + ), |
| 160 | + ) |
| 161 | + |
| 162 | + # Then |
| 163 | + results = flagsmith_environments_v2_table.scan()["Items"] |
| 164 | + assert len(results) == 1 |
| 165 | + assert results[0] == map_identity_override_to_identity_override_document( |
| 166 | + override_document, |
| 167 | + ) |
| 168 | + assert results[0]["created_date"] == "2023-01-01T00:00:00+00:00" |
| 169 | + |
| 170 | + |
127 | 171 | def test_environment_v2_wrapper__update_identity_overrides__delete_expected( |
128 | 172 | settings: SettingsWrapper, |
129 | 173 | environment: Environment, |
|
0 commit comments