Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
manasaV3 committed Oct 7, 2024
1 parent ca54b91 commit 25df3a4
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 36 deletions.
Original file line number Diff line number Diff line change
@@ -1,25 +1,21 @@
from typing import Callable

from importers.deposition import DepositionImporter
from importers.deposition_key_photo import DepositionKeyPhotoImporter
from mypy_boto3_s3 import S3Client

from common.config import DepositionImportConfig
from common.fs import FileSystemApi
from tests.s3_import.test_depositions import validate_deposition_metadata
from tests.s3_import.util import list_dir
from tests.s3_import.util import create_config, list_dir


def test_key_photo_import_http(
s3_fs: FileSystemApi,
test_output_bucket: str,
s3_client: S3Client,
create_config: Callable[[str], DepositionImportConfig],
) -> None:
output_prefix = "output"
output_path = f"{test_output_bucket}/{output_prefix}"

config = create_config("tests/fixtures/depositions/deposition1.yaml")
config = create_config(s3_fs, test_output_bucket, "depositions/deposition1.yaml")
deposition = list(DepositionImporter.finder(config))[0]
for item in DepositionKeyPhotoImporter.finder(config, deposition=deposition):
item.import_item()
Expand All @@ -40,3 +36,16 @@ def test_key_photo_import_http(
assert path.startswith(f"{deposition_path}/Images/")
assert f"{output_prefix}/{path}" in s3_files
assert len(metadata["key_photos"]) == 2


def test_no_import_deposition_key_photo(
s3_client: S3Client, s3_fs: FileSystemApi, test_output_bucket: str,
) -> None:
config = create_config(s3_fs, test_output_bucket, "depositions/deposition1.yaml")
deposition = list(DepositionImporter.finder(config))[0]
for item in DepositionKeyPhotoImporter.finder(config, deposition=deposition):
item.allow_imports = False
item.import_item()
deposition.import_metadata()
deposition_dir = f"{test_output_bucket}/output/depositions_metadata/{deposition.name}/Images"
assert list_dir(s3_client, test_output_bucket, deposition_dir) == []
37 changes: 7 additions & 30 deletions ingestion_tools/scripts/tests/s3_import/test_depositions.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,10 @@
import json
from typing import Callable

import pytest as pytest
from importers.deposition import DepositionImporter
from importers.deposition_key_photo import DepositionKeyPhotoImporter
from importers.utils import IMPORTERS
from mypy_boto3_s3 import S3Client

from common.config import DepositionImportConfig
from common.fs import FileSystemApi
from tests.s3_import.util import list_dir


@pytest.fixture
def create_config(s3_fs: FileSystemApi, test_output_bucket: str) -> Callable[[str], DepositionImportConfig]:
output_path = f"{test_output_bucket}/output"
input_bucket = "test-public-bucket"
return lambda import_config: DepositionImportConfig(s3_fs, import_config, output_path, input_bucket, IMPORTERS)
from tests.s3_import.util import create_config, list_dir


def validate_deposition_metadata(s3_fs: FileSystemApi, output_path: str) -> dict[str, str]:
Expand All @@ -32,39 +20,28 @@ def validate_deposition_metadata(s3_fs: FileSystemApi, output_path: str) -> dict
def test_import_deposition_metadata(
s3_fs: FileSystemApi,
test_output_bucket: str,
create_config: Callable[[str], DepositionImportConfig],
) -> None:
output_path = f"{test_output_bucket}/output"
config = create_config("tests/fixtures/depositions/deposition1.yaml")
config = create_config(s3_fs, test_output_bucket, "depositions/deposition1.yaml")
deposition = list(DepositionImporter.finder(config))[0]
deposition.import_metadata()
validate_deposition_metadata(s3_fs, output_path)


def test_invalid_deposition_metadata_import(
s3_fs: FileSystemApi,
test_output_bucket: str,
create_config: Callable[[str], DepositionImportConfig],
) -> None:
def test_invalid_deposition_metadata_import(s3_fs: FileSystemApi, test_output_bucket: str) -> None:
output_path = f"{test_output_bucket}/output"
config = create_config("tests/fixtures/depositions/deposition2.yaml")
config = create_config(s3_fs, test_output_bucket, "depositions/deposition2.yaml")
deposition = list(DepositionImporter.finder(config))[0]
deposition.import_metadata()
assert s3_fs.glob(f"{output_path}/depositions_metadata/10302/deposition_metadata.json") == []


def test_no_import_deposition_metadata_and_key_photo(
s3_client: S3Client,
s3_fs: FileSystemApi,
test_output_bucket: str,
create_config: Callable[[str], DepositionImportConfig],
def test_no_import_deposition_metadata(
s3_client: S3Client, s3_fs: FileSystemApi, test_output_bucket: str,
) -> None:
config = create_config("tests/fixtures/depositions/deposition1.yaml")
config = create_config(s3_fs, test_output_bucket, "depositions/deposition1.yaml")
deposition = list(DepositionImporter.finder(config))[0]
deposition.allow_imports = False
for item in DepositionKeyPhotoImporter.finder(config, deposition=deposition):
item.allow_imports = False
item.import_item()
deposition.import_metadata()
deposition_dir = f"{test_output_bucket}/output/depositions_metadata/{deposition.name}"
assert list_dir(s3_client, test_output_bucket, deposition_dir) == []

0 comments on commit 25df3a4

Please sign in to comment.