Ejemplo n.º 1
0
def test_anonymous_doesnt_work():
    args = MockArgs(project='1234')

    with pytest.raises(SystemExit) as e:
        remove(args)

    expected = 'remove a file you need to provide a username and password'
    assert expected in e.value.args[0]
Ejemplo n.º 2
0
def test_anonymous_doesnt_work():
    args = MockArgs(project='1234')
    def simple_getenv(key):
        return None

    with pytest.raises(SystemExit) as e:
        with patch('osfclient.cli.os.getenv',
                   side_effect=simple_getenv) as mock_getenv:
            remove(args)

    expected = 'remove a file you need to provide a username and password'
    assert expected in e.value.args[0]
Ejemplo n.º 3
0
def test_remove_file(OSF_project):
    args = MockArgs(project='1234', username='******', target='osfstorage/a/a/a')

    def simple_getenv(key):
        if key == 'OSF_PASSWORD':
            return 'secret'

    with patch('osfclient.cli.os.getenv', side_effect=simple_getenv):
        remove(args)

    OSF_project.assert_called_once_with('1234')

    MockProject = OSF_project.return_value
    MockStorage = MockProject._storage_mock.return_value
    for f in MockStorage.files:
        if f._path_mock.return_value == '/a/a/a':
            assert call.remove() in f.mock_calls
Ejemplo n.º 4
0
def test_wrong_storage_name(OSF_project):
    args = MockArgs(project='1234', username='******', target='DOESNTEXIST/a/a/a')

    def simple_getenv(key):
        if key == 'OSF_PASSWORD':
            return 'secret'

    with patch('osfclient.cli.os.getenv', side_effect=simple_getenv):
        remove(args)

    OSF_project.assert_called_once_with('1234')

    # the mock storage is called osfstorage, so we should not call remove()
    MockProject = OSF_project.return_value
    MockStorage = MockProject._storage_mock.return_value
    for f in MockStorage.files:
        if f._path_mock.return_value == '/a/a/a':
            assert call.remove() not in f.mock_calls
Ejemplo n.º 5
0
def test_non_existant_file(OSF_project):
    args = MockArgs(project='1234', username='******',
                    target='osfstorage/DOESNTEXIST/a')

    def simple_getenv(key):
        if key == 'OSF_PASSWORD':
            return 'secret'

    with patch('osfclient.cli.os.getenv', side_effect=simple_getenv):
        remove(args)

    OSF_project.assert_called_once_with('1234')

    # check that all files in osfstorage are visited but non get deleted
    MockProject = OSF_project.return_value
    MockStorage = MockProject._storage_mock.return_value
    for f in MockStorage.files:
        assert f._path_mock.called
        assert call.remove() not in f.mock_calls