Ejemplo n.º 1
0
def test_history_limit(runner):
    history_limit = 5
    with mock.patch('easyci.commands.test.load_user_config') as mocked:
        mocked.return_value = {
            'tests': ['true', 'true'],
            'history_limit': history_limit,
            'collect_results': [],
        }
        for x in range(history_limit + 1):
            assert not os.system('touch {x} && git add {x}'.format(x=x))
            result = runner.invoke(cli, ['test'])
            assert result.exit_code == 0
            result = runner.invoke(cli, ['test'])
    git = GitVcs()
    evidence = os.path.join(git.private_dir(), 'passed')
    with open(evidence, 'r') as f:
        signatures = f.read().split()
        assert len(signatures) == history_limit
        assert signatures[-1] == git.get_signature()
Ejemplo n.º 2
0
def test_already_staged_or_committed(runner):
    config = {
        'tests': ['true', 'true'],
        'history_limit': 1,
        'collect_results': [],
    }
    git = GitVcs()
    signature = git.get_signature()

    # test staged
    stage_signature(git, signature)
    with mock.patch('easyci.commands.test.load_user_config') as mocked:
        mocked.return_value = config
        result = runner.invoke(cli, ['test'])
    assert result.exit_code == exit_codes.ALREADY_RUNNING
    assert 'In Progress' in result.output

    # test committed
    commit_signature(git, config, signature)
    with mock.patch('easyci.commands.test.load_user_config') as mocked:
        mocked.return_value = config
        result = runner.invoke(cli, ['test'])
    assert result.exit_code == exit_codes.SUCCESS
    assert 'OK' in result.output