Skip to content
Merged
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 backend/src/controller/aws_apig_event_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from typing import Optional

from aws_lambda_typing.events import APIGatewayProxyEventV1

from controller.constants import SUPPLIER_SYSTEM_HEADER_NAME
from models.errors import UnauthorizedError
from utils import dict_utils
Expand Down
1 change: 1 addition & 0 deletions backend/src/controller/fhir_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from typing import Optional

from aws_lambda_typing.events import APIGatewayProxyEventV1

from controller.aws_apig_event_utils import (
get_path_parameter,
get_supplier_system_header,
Expand Down
1 change: 1 addition & 0 deletions backend/src/forwarding_batch_lambda.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from datetime import datetime

import simplejson as json

from batch.batch_filename_to_events_mapper import BatchFilenameToEventsMapper
from clients import sqs_client
from controller.fhir_batch_controller import (
Expand Down
1 change: 1 addition & 0 deletions backend/src/models/fhir_immunization.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Immunization FHIR R4B validator"""

from fhir.resources.R4B.immunization import Immunization

from models.fhir_immunization_post_validators import PostValidators
from models.fhir_immunization_pre_validators import PreValidators
from models.utils.validation_utils import get_vaccine_type
Expand Down
3 changes: 2 additions & 1 deletion backend/src/models/utils/generic_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@
BundleLink,
)
from fhir.resources.R4B.immunization import Immunization
from models.constants import Constants
from stdnum.verhoeff import validate

from models.constants import Constants


def get_contained_resource(imms: dict, resource: Literal["Patient", "Practitioner", "QuestionnaireResponse"]):
"""Extract and return the requested contained resource from the FHIR Immunization Resource JSON data"""
Expand Down
1 change: 1 addition & 0 deletions backend/src/parameter_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from urllib.parse import parse_qs, quote, urlencode

from aws_lambda_typing.events import APIGatewayProxyEventV1

from clients import redis_client
from models.constants import Constants
from models.errors import ParameterException
Expand Down
1 change: 1 addition & 0 deletions backend/src/repository/fhir_batch_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import botocore.exceptions
import simplejson as json
from boto3.dynamodb.conditions import Attr, Key

from clients import logger
from models.errors import (
IdentifierDuplicationError,
Expand Down
5 changes: 3 additions & 2 deletions backend/src/repository/fhir_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
import simplejson as json
from boto3.dynamodb.conditions import Attr, Key
from botocore.config import Config
from mypy_boto3_dynamodb.service_resource import DynamoDBServiceResource, Table
from responses import logger

from models.errors import (
IdentifierDuplicationError,
ResourceNotFoundError,
Expand All @@ -18,8 +21,6 @@
check_identifier_system_value,
get_vaccine_type,
)
from mypy_boto3_dynamodb.service_resource import DynamoDBServiceResource, Table
from responses import logger


def create_table(table_name=None, endpoint_url=None, region_name="eu-west-2"):
Expand Down
1 change: 1 addition & 0 deletions backend/src/search_imms_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

from aws_lambda_typing import context as context_
from aws_lambda_typing import events

from constants import GENERIC_SERVER_ERROR_DIAGNOSTICS_MESSAGE, MAX_RESPONSE_SIZE_BYTES
from controller.aws_apig_response_utils import create_response
from controller.fhir_controller import FhirController, make_controller
Expand Down
3 changes: 2 additions & 1 deletion backend/src/service/fhir_batch_service.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from pydantic import ValidationError

from models.errors import CustomValidationError, MandatoryError
from models.fhir_immunization import ImmunizationValidator
from pydantic import ValidationError
from repository.fhir_batch_repository import ImmunizationBatchRepository

IMMUNIZATION_VALIDATOR = ImmunizationValidator()
Expand Down
9 changes: 5 additions & 4 deletions backend/src/service/fhir_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@
from typing import Optional, Union
from uuid import uuid4

import parameter_parser
from authorisation.api_operation_code import ApiOperationCode
from authorisation.authoriser import Authoriser
from fhir.resources.R4B.bundle import (
Bundle as FhirBundle,
)
Expand All @@ -17,6 +14,11 @@
BundleLink,
)
from fhir.resources.R4B.immunization import Immunization
from pydantic import ValidationError

import parameter_parser
from authorisation.api_operation_code import ApiOperationCode
from authorisation.authoriser import Authoriser
from filter import Filter
from models.errors import (
CustomValidationError,
Expand All @@ -33,7 +35,6 @@
nhs_number_mod11_check,
)
from models.utils.validation_utils import get_vaccine_type
from pydantic import ValidationError
from repository.fhir_repository import ImmunizationRepository
from timer import timed

Expand Down
5 changes: 3 additions & 2 deletions backend/tests/controller/test_fhir_controller.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@
from unittest.mock import ANY, Mock, create_autospec, patch
from urllib.parse import urlencode

from controller.aws_apig_response_utils import create_response
from controller.fhir_controller import FhirController
from fhir.resources.R4B.bundle import Bundle
from fhir.resources.R4B.immunization import Immunization

from controller.aws_apig_response_utils import create_response
from controller.fhir_controller import FhirController
from models.errors import (
CustomValidationError,
IdentifierDuplicationError,
Expand Down
1 change: 1 addition & 0 deletions backend/tests/models/utils/test_generic_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from datetime import date, datetime

from src.models.utils.generic_utils import form_json

from testing_utils.generic_utils import format_date_types, load_json_data


Expand Down
3 changes: 2 additions & 1 deletion backend/tests/repository/test_fhir_batch_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@
import boto3
import botocore.exceptions
import simplejson as json
from moto import mock_aws

from models.errors import (
IdentifierDuplicationError,
ResourceFoundError,
ResourceNotFoundError,
UnhandledResponseError,
)
from moto import mock_aws
from repository.fhir_batch_repository import ImmunizationBatchRepository, create_table
from testing_utils.immunization_utils import create_covid_19_immunization_dict

Expand Down
1 change: 1 addition & 0 deletions backend/tests/repository/test_fhir_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import botocore.exceptions
import simplejson as json
from boto3.dynamodb.conditions import Attr, Key

from models.errors import (
IdentifierDuplicationError,
ResourceNotFoundError,
Expand Down
11 changes: 6 additions & 5 deletions backend/tests/service/test_fhir_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@
from decimal import Decimal
from unittest.mock import MagicMock, create_autospec, patch

from authorisation.api_operation_code import ApiOperationCode
from authorisation.authoriser import Authoriser
from constants import NHS_NUMBER_USED_IN_SAMPLE_DATA
from fhir.resources.R4B.bundle import Bundle as FhirBundle
from fhir.resources.R4B.bundle import BundleEntry
from fhir.resources.R4B.immunization import Immunization
from pydantic import ValidationError
from pydantic.error_wrappers import ErrorWrapper

from authorisation.api_operation_code import ApiOperationCode
from authorisation.authoriser import Authoriser
from constants import NHS_NUMBER_USED_IN_SAMPLE_DATA
from models.errors import (
CustomValidationError,
InvalidPatientId,
Expand All @@ -21,8 +24,6 @@
)
from models.fhir_immunization import ImmunizationValidator
from models.utils.generic_utils import get_contained_patient
from pydantic import ValidationError
from pydantic.error_wrappers import ErrorWrapper
from repository.fhir_repository import ImmunizationRepository
from service.fhir_service import FhirService, UpdateOutcome, get_service_url
from testing_utils.generic_utils import load_json_data
Expand Down
3 changes: 2 additions & 1 deletion backend/tests/test_forwarding_batch_lambda.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
from unittest.mock import ANY, MagicMock, patch

from boto3 import resource as boto3_resource
from moto import mock_aws

from models.errors import (
CustomValidationError,
IdentifierDuplicationError,
Expand All @@ -16,7 +18,6 @@
ResourceFoundError,
ResourceNotFoundError,
)
from moto import mock_aws
from testing_utils.test_utils_for_batch import ForwarderValues, MockFhirImmsResources

with patch.dict("os.environ", ForwarderValues.MOCK_ENVIRONMENT_DICT):
Expand Down
3 changes: 2 additions & 1 deletion backend/tests/test_immunization_post_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
from unittest.mock import patch

from jsonpath_ng.ext import parse
from models.fhir_immunization import ImmunizationValidator
from pydantic import ValidationError

from models.fhir_immunization import ImmunizationValidator
from testing_utils.generic_utils import (
load_json_data,
update_contained_resource_field,
Expand Down
1 change: 1 addition & 0 deletions backend/tests/test_immunization_pre_validator.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from unittest.mock import patch

from jsonpath_ng.ext import parse

from models.fhir_immunization import ImmunizationValidator
from models.fhir_immunization_pre_validators import PreValidators
from models.utils.generic_utils import (
Expand Down
1 change: 1 addition & 0 deletions backend/tests/test_validation_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from copy import deepcopy

from jsonpath_ng.ext import parse

from models.fhir_immunization import ImmunizationValidator
from models.obtain_field_value import ObtainFieldValue
from models.utils.generic_utils import (
Expand Down
1 change: 1 addition & 0 deletions backend/tests/testing_utils/immunization_utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
"""Immunization utils."""

from fhir.resources.R4B.immunization import Immunization

from testing_utils.generic_utils import load_json_data
from testing_utils.values_for_tests import ValidValues

Expand Down
1 change: 1 addition & 0 deletions batch_processor_filter/src/batch_audit_repository.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import boto3
from boto3.dynamodb.conditions import Key

from constants import (
AUDIT_TABLE_FILENAME_GSI,
AUDIT_TABLE_NAME,
Expand Down
1 change: 1 addition & 0 deletions batch_processor_filter/src/batch_file_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from io import BytesIO, StringIO

import boto3

from batch_file_created_event import BatchFileCreatedEvent
from constants import ACK_BUCKET_NAME, SOURCE_BUCKET_NAME

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import json

import boto3

from batch_audit_repository import BatchAuditRepository
from batch_file_created_event import BatchFileCreatedEvent
from batch_file_repository import BatchFileRepository
Expand Down
1 change: 1 addition & 0 deletions batch_processor_filter/src/lambda_handler.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import json

from aws_lambda_typing import context, events

from batch_file_created_event import BatchFileCreatedEvent
from batch_processor_filter_service import BatchProcessorFilterService
from exception_decorator import exception_decorator
Expand Down
1 change: 1 addition & 0 deletions batch_processor_filter/src/send_log_to_firehose.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import json

import boto3

from constants import REGION_NAME, SPLUNK_FIREHOSE_STREAM_NAME

firehose_client = boto3.client("firehose", region_name=REGION_NAME)
Expand Down
3 changes: 2 additions & 1 deletion batch_processor_filter/tests/test_lambda_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@

import boto3
import botocore
from moto import mock_aws

from batch_file_created_event import BatchFileCreatedEvent
from exceptions import (
EventAlreadyProcessingForSupplierAndVaccTypeError,
InvalidBatchSizeError,
)
from moto import mock_aws
from testing_utils import (
MOCK_ENVIRONMENT_DICT,
add_entry_to_mock_table,
Expand Down
1 change: 1 addition & 0 deletions batch_processor_filter/tests/testing_utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import json

from aws_lambda_typing.events.sqs import SQSMessage

from batch_file_created_event import BatchFileCreatedEvent

MOCK_ENVIRONMENT_DICT = {
Expand Down
1 change: 1 addition & 0 deletions delta_backend/src/delta.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import boto3
from boto3.dynamodb.conditions import Attr
from botocore.exceptions import ClientError

from common.mappings import ActionFlag, EventName, Operation
from converter import Converter
from log_firehose import FirehoseLogger
Expand Down
3 changes: 2 additions & 1 deletion delta_backend/tests/test_convert.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
from unittest.mock import patch

from boto3 import resource as boto3_resource
from common.mappings import ActionFlag, EventName, Operation
from moto import mock_aws

from common.mappings import ActionFlag, EventName, Operation
from utils_for_converter_tests import ErrorValuesForTests, ValuesForTests

MOCK_ENV_VARS = {
Expand Down
3 changes: 2 additions & 1 deletion delta_backend/tests/test_delta.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
import unittest
from unittest.mock import MagicMock, patch

import delta
from botocore.exceptions import ClientError

import delta
from common.mappings import ActionFlag, EventName, Operation
from delta import (
handler,
Expand Down
1 change: 1 addition & 0 deletions e2e_batch/clients.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

from boto3 import client as boto3_client
from boto3 import resource as boto3_resource

from constants import (
REGION,
ack_metadata_queue_name,
Expand Down
3 changes: 2 additions & 1 deletion e2e_batch/scenarios.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
from datetime import datetime, timezone

import pandas as pd
from vax_suppliers import OdsVax, TestPair

from clients import logger
from constants import (
ACK_BUCKET,
Expand All @@ -22,7 +24,6 @@
poll_s3_file_pattern,
validate_fatal_error,
)
from vax_suppliers import OdsVax, TestPair


class TestAction:
Expand Down
15 changes: 8 additions & 7 deletions e2e_batch/test_e2e_batch.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
import time
import unittest

from scenarios import (
TestCase,
create_test_cases,
enable_tests,
generate_csv_files,
scenarios,
)

from clients import logger
from constants import (
ACK_BUCKET,
Expand All @@ -10,13 +18,6 @@
DestinationType,
environment,
)
from scenarios import (
TestCase,
create_test_cases,
enable_tests,
generate_csv_files,
scenarios,
)
from utils import (
check_ack_file_content,
delete_file_from_s3,
Expand Down
Loading
Loading