예제 #1
0
def test_mirroring_custom_sync_error(false_binary):
    with tempfile.TemporaryDirectory() as repository_root:
        repository = GitRepository("git", mock(), repository_root, 'test-1', {
            'sync': false_binary
        }, None, None, None)
        ret = subprocess.run([false_binary])
        assert ret.returncode == repository.sync()
예제 #2
0
def test_mirroring_sync_invoke_original_command():
    with tempfile.TemporaryDirectory() as repository_root:
        repository = GitRepository("git", mock(), repository_root, 'test-1',
                                   None, None, None, None)
        with when(repository).reposync().thenReturn(0):
            repository.sync()
            verify(repository).reposync()
예제 #3
0
def test_mirroring_custom_incoming_error(false_binary):
    with pytest.raises(RepositoryException):
        with tempfile.TemporaryDirectory() as repository_root:
            repository = GitRepository("git", mock(), repository_root, 'test-1', {
                'incoming': false_binary
            }, None, None, None)
            repository.incoming()
예제 #4
0
def test_mirroring_custom_incoming_changes(echo_binary):
    with tempfile.TemporaryDirectory() as repository_root:
        repository = GitRepository(
            mock(), repository_root, 'test-1',
            {'incoming': [echo_binary, 'new incoming changes!']}, None, None,
            None)
        assert repository.incoming() is True
예제 #5
0
def test_mirroring_custom_sync_invoke_command(touch_binary):
    checking_file = 'sync.txt'
    with tempfile.TemporaryDirectory() as repository_root:
        repository = GitRepository("git", mock(), repository_root, 'test-1', {
            'sync': [touch_binary, checking_file]
        }, None, None, None)
        assert repository.sync() == 0
        assert checking_file in os.listdir(repository_root)
예제 #6
0
def test_mirroring_custom_incoming_invoke_command(touch_binary):
    checking_file = 'incoming.txt'
    with tempfile.TemporaryDirectory() as repository_root:
        repository = GitRepository("git", mock(), repository_root, 'test-1', {
            'incoming': [touch_binary, checking_file]
        }, None, None, None)
        assert repository.incoming() is False
        assert checking_file in os.listdir(repository_root)
예제 #7
0
def test_mirroring_custom_sync_success(true_binary):
    with tempfile.TemporaryDirectory() as repository_root:
        repository = GitRepository("git", mock(), repository_root, 'test-1', {
            'sync': true_binary
        }, None, None, None)
        assert 0 == repository.sync()
예제 #8
0
def test_mirroring_custom_incoming_no_changes(true_binary):
    with tempfile.TemporaryDirectory() as repository_root:
        repository = GitRepository("git", mock(), repository_root, 'test-1', {
            'incoming': true_binary
        }, None, None, None)
        assert repository.incoming() is False
예제 #9
0
def test_mirroring_custom_sync_error(false_binary):
    with tempfile.TemporaryDirectory() as repository_root:
        repository = GitRepository(mock(), repository_root, 'test-1',
                                   {'sync': false_binary}, None, None, None)
        assert 1 == repository.sync()