import unittest from unittest.mock import Mock from slz_downloader.dsp.mixin.bulk_decompress import BulkDecompressMixin class TestBulkDecompressClient(unittest.TestCase): def setUp(self) -> None: self.client = BulkDecompressMixin() self.client._logger = Mock() self.bucket_archive = "bucket-archive" self.archive_key = "apple/sme/test_file.txt.gz" self.bucket_decompressed = "bucket-decompressed" def test_split_path_correct(self): filepath, filename, filename_decompressed = self.client._split_path(self.archive_key) self.assertEqual(filepath, "apple/sme") self.assertEqual(filename, "test_file.txt.gz") self.assertEqual(filename_decompressed, "test_file.txt") def test_split_path_raise_exc(self): self.assertRaises(NotImplementedError, self.client._split_path, "apple/sme/test_file.zip") def test_get_dest_decompr_path(self): archived, decompressed = self.client._get_dest_and_decompressed_path( self.bucket_archive, self.archive_key, self.bucket_decompressed ) self.assertEqual(archived.url, "s3://bucket-archive/apple/sme/test_file.txt.gz") self.assertEqual(decompressed.url, "s3://bucket-decompressed/apple/sme/test_file.txt")