Skip to content

Commit

Permalink
Add managed-access integration test for verbatim manifests (#6098)
Browse files Browse the repository at this point in the history
  • Loading branch information
nadove-ucsc committed May 3, 2024
1 parent 78b44fc commit c849459
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions test/integration_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,9 @@
IndexExistsAndDiffersException,
IndexService,
)
from azul.json_freeze import (
freeze,
)
from azul.logging import (
configure_test_logging,
get_test_logger,
Expand Down Expand Up @@ -1572,6 +1575,29 @@ def test_compact_manifest(expected_bundles):
# Without credentials, only the public bundle should be represented
test_compact_manifest({public_bundle})

def dump_verbatim_manifest(bundles: Iterable[str]) -> set[str]:
manifest_url = furl(url=endpoint, path='/manifest/files', args={
'catalog': catalog,
'format': ManifestFormat.verbatim_jsonl.value,
'filters': json.dumps({special_fields.bundle_uuid: {'is': list(bundles)}})
})
manifest_lines = BytesIO(self._get_url_content(PUT, manifest_url)).readlines()
manifest_content = {
freeze(json.loads(replica))
for replica in manifest_lines
}
self.assertEqual(len(manifest_lines), len(manifest_content))
return manifest_content

for format in ManifestFormat.verbatim_jsonl, ManifestFormat.verbatim_pfb:
if format in metadata_plugin.manifest_formats:
with self.subTest(format=format):
unauthorized = dump_verbatim_manifest(all_bundles)
with self._service_account_credentials:
authorized = dump_verbatim_manifest(all_bundles)
private_only = dump_verbatim_manifest(managed_access_bundles)
self.assertSetEqual(private_only, authorized - unauthorized)

if ManifestFormat.curl in metadata_plugin.manifest_formats:
# Create a single-file curl manifest and verify that the OAuth2
# token is present on the command line
Expand Down

0 comments on commit c849459

Please sign in to comment.