def test_identify_compression(self, tmpdir): # prepare mock obj config_mock = mock.Mock() config_mock.compression = "bzip2" # check custom compression method creation comp_manager = CompressionManager(config_mock, None) assert comp_manager.get_default_compressor() is not None bz2_tmp_file = tmpdir.join("test_file") # "test" in bz2 compression bz2_tmp_file.write( base64.b64decode( b"QlpoOTFBWSZTWczDcdQAAAJBgAAQAgAMACAAIZpoM00Zl4u5IpwoSGZhuOoA" ), mode="wb", ) compression_bz2 = comp_manager.identify_compression( bz2_tmp_file.strpath) assert compression_bz2 == "bzip2" zip_tmp_file = tmpdir.join("test_file") # "test" in bz2 compression zip_tmp_file.write( base64.b64decode(b"H4sIAF0ssFIAAytJLS7hAgDGNbk7BQAAAA=="), mode="wb") # check custom compression method creation compression_zip = comp_manager.identify_compression( zip_tmp_file.strpath) assert compression_zip == "gzip"
def test_bzip2(self, tmpdir): config_mock = mock.Mock() compression_manager = CompressionManager(config_mock, tmpdir.strpath) compressor = PyBZip2Compressor(config=config_mock, compression="pybzip2") src = tmpdir.join("sourcefile") src.write("content") compressor.compress(src.strpath, BZIP2_FILE % tmpdir.strpath) assert os.path.exists(BZIP2_FILE % tmpdir.strpath) compression_zip = compression_manager.identify_compression( BZIP2_FILE % tmpdir.strpath, ) assert compression_zip == "bzip2" compressor.decompress( BZIP2_FILE % tmpdir.strpath, BZIP2_FILE_UNCOMPRESSED % tmpdir.strpath, ) f = open(BZIP2_FILE_UNCOMPRESSED % tmpdir.strpath).read() assert f == "content"