File: C:/Users/fred/anaconda3/Lib/site-packages/anaconda_project/internal/cli/test/test_unarchive.py
# -*- coding: utf-8 -*-
# -----------------------------------------------------------------------------
# Copyright (c) 2016, Anaconda, Inc. All rights reserved.
#
# Licensed under the terms of the BSD 3-Clause License.
# The full license is in the file LICENSE.txt, distributed with this software.
# -----------------------------------------------------------------------------
from __future__ import absolute_import, print_function
from anaconda_project.internal.cli.main import _parse_args_and_run_subcommand
from anaconda_project.internal.simple_status import SimpleStatus
def test_unarchive_command(capsys, monkeypatch):
def mock_unarchive(filename, project_dir, parent_dir=None, frontend=None):
assert frontend is not None
frontend.info("a")
frontend.info("b")
return SimpleStatus(success=True, description="DESC")
monkeypatch.setattr('anaconda_project.project_ops.unarchive', mock_unarchive)
code = _parse_args_and_run_subcommand(['anaconda-project', 'unarchive', 'foo.tar.gz', 'bar'])
assert code == 0
out, err = capsys.readouterr()
assert 'a\nb\nDESC\n' == out
assert '' == err
def test_unarchive_command_error(capsys, monkeypatch):
def mock_unarchive(filename, project_dir, parent_dir=None, frontend=None):
assert frontend is not None
frontend.info("a")
frontend.info("b")
frontend.error("c")
frontend.error("d")
return SimpleStatus(success=False, description="DESC", errors=['c', 'd'])
monkeypatch.setattr('anaconda_project.project_ops.unarchive', mock_unarchive)
code = _parse_args_and_run_subcommand(['anaconda-project', 'unarchive', 'foo.tar.gz', 'bar'])
assert code == 1
out, err = capsys.readouterr()
assert 'a\nb\n' == out
assert 'c\nd\nDESC\n' == err