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
1 change: 1 addition & 0 deletions lambdas/enums/feature_flags.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ class FeatureFlags(StrEnum):
UPLOAD_DOCUMENT_ITERATION_2_ENABLED = "uploadDocumentIteration2Enabled"
UPLOAD_DOCUMENT_ITERATION_3_ENABLED = "uploadDocumentIteration3Enabled"
BULK_UPLOAD_SEND_TO_REVIEW_ENABLED = "bulkUploadSendToReviewEnabled"
USER_RESTRICTION_ENABLED = "userRestrictionEnabled"
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import json

from enums.feature_flags import FeatureFlags
from services.feature_flags_service import FeatureFlagService
from utils.decorators.handle_lambda_exceptions import handle_lambda_exceptions
from utils.lambda_response import ApiGatewayResponse


@handle_lambda_exceptions
def lambda_handler(event, context):
feature_flag_service = FeatureFlagService()
feature_flag_service.validate_feature_flag(
FeatureFlags.USER_RESTRICTION_ENABLED,
)

return ApiGatewayResponse(
200,
json.dumps({"response": "hello world"}),
"POST",
).create_api_gateway_response()
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import json

from enums.feature_flags import FeatureFlags
from services.feature_flags_service import FeatureFlagService
from utils.decorators.handle_lambda_exceptions import handle_lambda_exceptions
from utils.lambda_response import ApiGatewayResponse


@handle_lambda_exceptions
def lambda_handler(event, context):
feature_flag_service = FeatureFlagService()
feature_flag_service.validate_feature_flag(
FeatureFlags.USER_RESTRICTION_ENABLED,
)

return ApiGatewayResponse(
200,
json.dumps({"response": "hello world"}),
"GET",
).create_api_gateway_response()
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import json

from enums.feature_flags import FeatureFlags
from services.feature_flags_service import FeatureFlagService
from utils.decorators.handle_lambda_exceptions import handle_lambda_exceptions
from utils.lambda_response import ApiGatewayResponse


@handle_lambda_exceptions
def lambda_handler(event, context):
feature_flag_service = FeatureFlagService()
feature_flag_service.validate_feature_flag(
FeatureFlags.USER_RESTRICTION_ENABLED,
)

return ApiGatewayResponse(
200,
json.dumps({"response": "hello world"}),
"GET",
).create_api_gateway_response()
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import json

from enums.feature_flags import FeatureFlags
from services.feature_flags_service import FeatureFlagService
from utils.decorators.handle_lambda_exceptions import handle_lambda_exceptions
from utils.lambda_response import ApiGatewayResponse


@handle_lambda_exceptions
def lambda_handler(event, context):
feature_flag_service = FeatureFlagService()
feature_flag_service.validate_feature_flag(
FeatureFlags.USER_RESTRICTION_ENABLED,
)

return ApiGatewayResponse(
200,
json.dumps({"response": "hello world"}),
"PATCH",
).create_api_gateway_response()
22 changes: 22 additions & 0 deletions lambdas/tests/unit/handlers/user_restrictions/conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import pytest

from enums.feature_flags import FeatureFlags
from services.feature_flags_service import FeatureFlagService


@pytest.fixture
def mock_user_restriction_enabled(mocker):
mock_function = mocker.patch.object(FeatureFlagService, "get_feature_flags_by_flag")
mock_feature_flag = mock_function.return_value = {
FeatureFlags.USER_RESTRICTION_ENABLED: True,
}
yield mock_feature_flag


@pytest.fixture
def mock_user_restriction_disabled(mocker):
mock_function = mocker.patch.object(FeatureFlagService, "get_feature_flags_by_flag")
mock_feature_flag = mock_function.return_value = {
FeatureFlags.USER_RESTRICTION_ENABLED: False,
}
yield mock_feature_flag
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import json

from enums.lambda_error import LambdaError
from handlers.user_restrictions.create_user_restriction_handler import lambda_handler
from tests.unit.conftest import MOCK_INTERACTION_ID
from utils.lambda_response import ApiGatewayResponse


def test_lambda_handler_returns_404_feature_flag_disabled(
event,
context,
mock_user_restriction_disabled,
set_env,
):
body = {
"message": LambdaError.FeatureFlagDisabled.value["message"],
"err_code": LambdaError.FeatureFlagDisabled.value["err_code"],
"interaction_id": MOCK_INTERACTION_ID,
}

expected = ApiGatewayResponse(
status_code=404,
body=json.dumps(body),
methods="GET",
).create_api_gateway_response()

actual = lambda_handler(event, context)
assert actual == expected


def test_lambda_handler_returns_200_feature_flag_enabled(
mock_user_restriction_enabled,
set_env,
context,
event,
):
expected = ApiGatewayResponse(
200,
json.dumps({"response": "hello world"}),
"POST",
).create_api_gateway_response()

actual = lambda_handler(event, context)

assert actual == expected
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import json

from enums.lambda_error import LambdaError
from handlers.user_restrictions.get_user_information_handler import lambda_handler
from tests.unit.conftest import MOCK_INTERACTION_ID
from utils.lambda_response import ApiGatewayResponse


def test_lambda_handler_returns_404_feature_flag_disabled(
event,
context,
mock_user_restriction_disabled,
set_env,
):
body = {
"message": LambdaError.FeatureFlagDisabled.value["message"],
"err_code": LambdaError.FeatureFlagDisabled.value["err_code"],
"interaction_id": MOCK_INTERACTION_ID,
}

expected = ApiGatewayResponse(
status_code=404,
body=json.dumps(body),
methods="GET",
).create_api_gateway_response()

actual = lambda_handler(event, context)
assert actual == expected


def test_lambda_handler_returns_200_feature_flag_enabled(
mock_user_restriction_enabled,
set_env,
context,
event,
):
expected = ApiGatewayResponse(
200,
json.dumps({"response": "hello world"}),
"GET",
).create_api_gateway_response()

actual = lambda_handler(event, context)

assert actual == expected
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import json

from enums.lambda_error import LambdaError
from handlers.user_restrictions.search_user_restriction_handler import lambda_handler
from tests.unit.conftest import MOCK_INTERACTION_ID
from utils.lambda_response import ApiGatewayResponse


def test_lambda_handler_returns_404_feature_flag_disabled(
event,
context,
mock_user_restriction_disabled,
set_env,
):
body = {
"message": LambdaError.FeatureFlagDisabled.value["message"],
"err_code": LambdaError.FeatureFlagDisabled.value["err_code"],
"interaction_id": MOCK_INTERACTION_ID,
}

expected = ApiGatewayResponse(
status_code=404,
body=json.dumps(body),
methods="GET",
).create_api_gateway_response()

actual = lambda_handler(event, context)
assert actual == expected


def test_lambda_handler_returns_200_feature_flag_enabled(
mock_user_restriction_enabled,
set_env,
context,
event,
):
expected = ApiGatewayResponse(
200,
json.dumps({"response": "hello world"}),
"GET",
).create_api_gateway_response()

actual = lambda_handler(event, context)

assert actual == expected
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import json

from enums.lambda_error import LambdaError
from handlers.user_restrictions.update_status_user_restriction_handler import (
lambda_handler,
)
from tests.unit.conftest import MOCK_INTERACTION_ID
from utils.lambda_response import ApiGatewayResponse


def test_lambda_handler_returns_404_feature_flag_disabled(
event,
context,
mock_user_restriction_disabled,
set_env,
):
body = {
"message": LambdaError.FeatureFlagDisabled.value["message"],
"err_code": LambdaError.FeatureFlagDisabled.value["err_code"],
"interaction_id": MOCK_INTERACTION_ID,
}

expected = ApiGatewayResponse(
status_code=404,
body=json.dumps(body),
methods="GET",
).create_api_gateway_response()

actual = lambda_handler(event, context)
assert actual == expected


def test_lambda_handler_returns_200_feature_flag_enabled(
mock_user_restriction_enabled,
set_env,
context,
event,
):
expected = ApiGatewayResponse(
200,
json.dumps({"response": "hello world"}),
"PATCH",
).create_api_gateway_response()

actual = lambda_handler(event, context)

assert actual == expected
Loading