def test_create_jessie_image(capsys): print(os.getcwd()) with workspace(): edi_exec = os.path.join(get_project_root(), 'bin', 'edi') project_name = 'pytest-{}'.format(get_random_string(6)) config_command = [edi_exec, 'config', 'init', project_name, 'debian-jessie-amd64'] run(config_command) # run as non root parser = edi._setup_command_line_interface() cli_args = parser.parse_args(['image', 'create', '{}-develop.yml'.format(project_name)]) Create().run_cli(cli_args) out, err = capsys.readouterr() print(out) assert not err lxc_compression_algo = get_server_image_compression_algorithm() lxc_export_extension = get_file_extension_from_image_compression_algorithm(lxc_compression_algo) images = [ os.path.join(get_artifact_dir(), '{}-develop_edicommand_image_bootstrap_di.tar.gz'.format(project_name)), os.path.join(get_artifact_dir(), '{}-develop_edicommand_image_lxc_di.tar.gz'.format(project_name)), os.path.join(get_artifact_dir(), '{}-develop_edicommand_lxc_export{}'.format(project_name, lxc_export_extension)), os.path.join(get_artifact_dir(), '{}-develop.result'.format(project_name)), ] for image in images: assert os.path.isfile(image) image_store_items = [ "{}-develop_edicommand_lxc_import_di".format(project_name), "{}-develop_edicommand_lxc_publish".format(project_name) ] lxc_image_list_cmd = ['lxc', 'image', 'list'] result = run(lxc_image_list_cmd, stdout=subprocess.PIPE) for image_store_item in image_store_items: assert image_store_item in result.stdout parser = edi._setup_command_line_interface() cli_args = parser.parse_args(['image', 'create', '--clean', '{}-develop.yml'.format(project_name)]) Create().run_cli(cli_args) parser = edi._setup_command_line_interface() cli_args = parser.parse_args(['image', 'create', '--recursive-clean', '8', '{}-develop.yml'.format(project_name)]) Create().run_cli(cli_args) for image in images: assert not os.path.isfile(image) result = run(lxc_image_list_cmd, stdout=subprocess.PIPE) for image_store_item in image_store_items: assert image_store_item not in result.stdout
def test_get_file_extension_from_image_compression_algorithm_failure(): with pytest.raises(FatalError) as e: get_file_extension_from_image_compression_algorithm('42') assert 'compression algorithm' in str(e) assert '42' in str(e)
def test_get_file_extension_from_image_compression_algorithm( algorithm, expected_extension): extension = get_file_extension_from_image_compression_algorithm(algorithm) assert extension == expected_extension
def _result(self): algorithm = get_server_image_compression_algorithm() extension = get_file_extension_from_image_compression_algorithm(algorithm) archive = "{}{}".format(self._result_base_name(), extension) return os.path.join(self.config.get_workdir(), archive)