Ejemplo n.º 1
0
def test_ls_path_to_folder(monkeypatch, initial_pwd_root):
    path = 'folder1'
    named_path1 = ['/', 'folder1']
    id_path1 = ['root', 'folder1id']
    named_path2 = ['/', 'folder1', 'img.jpg']
    id_path2 = ['root', 'folder1id', 'imgjpgid1']
    named_path3 = ['/', 'folder1', 'folder2']
    id_path3 = ['root', 'folder1id', 'folder2id']
    contents_by_name = [
        [gditem.GDItem.folder(named_path1, id_path1)],
    ]
    contents_by_folder = [[
        gditem.GDItem(named_path2, id_path2, 'image/jpeg'),
        gditem.GDItem.folder(named_path3, id_path3)
    ]]
    expected_items = [
        gditem.GDItem(named_path2, id_path2, 'image/jpeg'),
        gditem.GDItem.folder(named_path3, id_path3)
    ]
    fake_get_items_by_name = utiltests.build_mock_get(contents_by_name)
    fake_get_items_by_folder = utiltests.build_mock_get(contents_by_folder)
    monkeypatch.setattr(gdcore, 'get_items_by_name', fake_get_items_by_name)
    monkeypatch.setattr(gdcore, 'get_items_by_folder',
                        fake_get_items_by_folder)
    items = gdcli_ls.get_files(path)
    assert items == expected_items
Ejemplo n.º 2
0
def test_ls_two_folders_with_same_name(monkeypatch, initial_pwd_root):
    path = 'thefolder'
    named_path1 = ['/', 'theitem']
    id_path1 = ['root', 'theitemid1']
    id_path2 = ['root', 'theitemid2']
    named_path3 = ['/', 'theitem', 'img1.jpg']
    id_path3 = ['root', 'theitemid1', 'img1jpgid']
    named_path4 = ['/', 'theitem', 'img2.jpg']
    id_path4 = ['root', 'theitemid2', 'img2jpgid']
    contents_by_name = [
        [
            gditem.GDItem.folder(named_path1, id_path1),
            gditem.GDItem.folder(named_path1, id_path2),
        ],
    ]
    contents_by_folder = [
        [gditem.GDItem(named_path3, id_path3, 'image/jpeg')],
        [gditem.GDItem(named_path4, id_path4, 'image/jpeg')],
    ]
    expected_items = [
        gditem.GDItem(named_path3, id_path3, 'image/jpeg'),
        gditem.GDItem(named_path4, id_path4, 'image/jpeg'),
    ]
    fake_get_items_by_name = utiltests.build_mock_get(contents_by_name)
    fake_get_items_by_folder = utiltests.build_mock_get(contents_by_folder)
    monkeypatch.setattr(gdcore, 'get_items_by_name', fake_get_items_by_name)
    monkeypatch.setattr(gdcore, 'get_items_by_folder',
                        fake_get_items_by_folder)
    items = gdcli_ls.get_files(path)
    assert set(items) == set(expected_items)
Ejemplo n.º 3
0
def test_ls_absolute_path_to_non_folder_file(monkeypatch, initial_pwd_root):
    path = '/img.jpg'
    named_path1 = ['/', 'img.jpg']
    id_path1 = ['root', 'imgjpgid']
    contents_by_name = [[gditem.GDItem(named_path1, id_path1, 'image/jpeg')]]
    expected_items = [gditem.GDItem(named_path1, id_path1, 'image/jpeg')]
    fake_get_items_by_name = utiltests.build_mock_get(contents_by_name)
    monkeypatch.setattr(gdcore, 'get_items_by_name', fake_get_items_by_name)
    items = gdcli_ls.get_files(path)
    assert items == expected_items
Ejemplo n.º 4
0
def assert_expected_results(contents, path, expected_items, monkeypatch):
    """ given the contents to be return by the GD API and
        the path to query and
        the expected items to be found, it
        asserts that the items found in GD for this path are the expected ones
    """
    fake_get_items_by_name = utiltests.build_mock_get(contents)
    monkeypatch.setattr(gdcore, 'get_items_by_name', fake_get_items_by_name)

    items = gdpath.items_from_path(path)
    assert items == expected_items
Ejemplo n.º 5
0
def test_path_non_existing_absolute_item_from_non_root(monkeypatch,
                                                       initial_pwd_non_root):
    path = '/nonexistentfile'
    contents = [[]]
    fake_get_items_by_name = utiltests.build_mock_get(
        contents,
        expected_args=('nonexistentfile', ),
        expected_kwargs={'folder': gditem.GDItem.root()})
    monkeypatch.setattr(gdcore, 'get_items_by_name', fake_get_items_by_name)
    items = gdpath.items_from_path(path)
    assert not items
Ejemplo n.º 6
0
def test_path_slash_existent_folder_from_root(monkeypatch, initial_pwd_root):
    path = '/folder1'
    named_path = ['/', 'folder1']
    id_path = ['root', 'folder1id']
    contents = [[gditem.GDItem.folder(named_path, id_path)]]
    fake_get_items_by_name = utiltests.build_mock_get(contents)
    monkeypatch.setattr(gdcore, 'get_items_by_name', fake_get_items_by_name)
    expected_item = gditem.GDItem.folder(['/', 'folder1'],
                                         ['root', 'folder1id'])
    items = gdpath.items_from_path(path)
    assert len(items) == 1
    assert items[0] == expected_item
Ejemplo n.º 7
0
def test_path_non_existing_relative_item_from_non_root(monkeypatch,
                                                       initial_pwd_non_root):
    path = 'nonexistentfile'
    contents = [[]]
    named_path = ['/', 'folder_a', 'folder_b', 'folder_c']
    id_path = ['root', 'folder_a_id', 'folder_b_id', 'folder_c_id']
    expected_folder = gditem.GDItem.folder(named_path, id_path)
    fake_get_items_by_name = utiltests.build_mock_get(
        contents,
        expected_args=('nonexistentfile', ),
        expected_kwargs={'folder': expected_folder})
    monkeypatch.setattr(gdcore, 'get_items_by_name', fake_get_items_by_name)
    items = gdpath.items_from_path(path)
    assert not items
Ejemplo n.º 8
0
def test_ls_absolute_path_root(monkeypatch, initial_pwd_root):
    path = '/'
    named_path1 = ['/', 'folder1']
    id_path1 = ['root', 'folder1id']
    named_path2 = ['/', 'folder2']
    id_path2 = ['root', 'folder2id']
    contents_by_folder = [[
        gditem.GDItem.folder(named_path1, id_path1),
        gditem.GDItem.folder(named_path2, id_path2),
    ]]
    expected_items = [
        gditem.GDItem.folder(named_path1, id_path1),
        gditem.GDItem.folder(named_path2, id_path2),
    ]
    fake_get_items_by_folder = utiltests.build_mock_get(contents_by_folder)
    monkeypatch.setattr(gdcore, 'get_items_by_folder',
                        fake_get_items_by_folder)
    items = gdcli_ls.get_files(path)
    assert items == expected_items
Ejemplo n.º 9
0
def test_items_by_name_one_hit(monkeypatch):
    name = 'theitem'
    folder = gditem.GDItem.root()
    contents = [
        {
            'files': [{
                'name': 'theitem',
                'id': 'theitemid',
                'mimeType': 'application/vnd.google-apps.folder'
            }]
        },
    ]
    expected_items = [
        gditem.GDItem.folder(['/', 'theitem'], ['root', 'theitemid']),
    ]
    expected_query = "name='theitem' and 'root' in parents and trashed=false"
    fake_get_raw_items = utiltests.build_mock_get(
        contents, expected_args=(expected_query, ))
    monkeypatch.setattr(gdcore, '_get_raw_items', fake_get_raw_items)
    items = gdcore.get_items_by_name(name, folder)
    assert items == expected_items