Esempio n. 1
0
def test_existing_namespace(looker_sdk, namespaces):
    sdk = looker_sdk.init31()

    def search_folders(name=None, parent_id=None):
        if name == "home":
            return [Mock(id=1)]
        else:
            return [Mock(id=2)]

    sdk.search_folders.side_effect = search_folders
    sdk.all_content_metadatas.return_value = [
        Mock(id=4, folder_id=2),
        Mock(id=100, folder_id=1),
    ]
    sdk.all_content_metadata_accesses.return_value = [Mock(id=5)]
    sdk.search_roles.return_value = [Mock(id=6)]
    sdk.role_users.return_value = [Mock(id=7)]
    sdk.search_users.return_value = [Mock(id=8)]

    # Do the thing, Julie
    generate_folders(namespaces)

    sdk.search_folders.assert_any_call(name="home")
    sdk.search_folders.assert_any_call(name="Burnham", parent_id="1")
    sdk.create_folder.assert_not_called()
    sdk.all_content_metadatas.assert_called_once_with(parent_id=1)
    sdk.update_content_metadata.assert_called_once()
    sdk.all_content_metadata_accesses.assert_called_once_with(4)
    sdk.delete_content_metadata_access.assert_called_once_with(5)
    sdk.search_roles.assert_called_once_with(name="Admin")
    sdk.role_users.assert_called_once_with(6)
    sdk.search_users.assert_called_once_with(email="*****@*****.**")

    # Called three times: for all users, for admin, and for owner
    assert len(sdk.create_content_metadata_access.call_args_list) == 3
Esempio n. 2
0
def test_wrong_number_of_namespace_folders(looker_sdk, namespaces):
    sdk = looker_sdk.init31()

    def search_folders(name=None, parent_id=None):
        if name == "home":
            return [Mock(id=1)]
        else:
            return [Mock(id=2), Mock(3)]

    sdk.search_folders.side_effect = search_folders

    with pytest.raises(click.ClickException) as exc:
        generate_folders(namespaces)
        assert "namespace folders" in str(exc.value)
Esempio n. 3
0
def test_missing_content_metadata(looker_sdk, namespaces):
    sdk = looker_sdk.init31()

    def search_folders(name=None, parent_id=None):
        if name == "home":
            return [Mock(id=1)]
        else:
            return [Mock(id=2)]

    sdk.search_folders.side_effect = search_folders
    sdk.all_content_metadatas.return_value = [
        Mock(id=4, folder_id=2),
        Mock(id=5, folder_id=2),
    ]

    with pytest.raises(click.ClickException) as exc:
        generate_folders(namespaces)
        assert "content metadata" in str(exc.value)
Esempio n. 4
0
def test_wrong_number_of_admin_roles(looker_sdk, namespaces):
    sdk = looker_sdk.init31()

    def search_folders(name=None, parent_id=None):
        if name == "home":
            return [Mock(id=1)]
        else:
            return [Mock(id=2)]

    sdk.search_folders.side_effect = search_folders
    sdk.all_content_metadatas.return_value = [
        Mock(id=4, folder_id=2),
        Mock(id=100, folder_id=1),
    ]
    sdk.all_content_metadata_accesses.return_value = [Mock(id=5)]
    sdk.search_roles.return_value = [Mock(id=6), Mock(id=100)]

    # Do the thing, Julie
    with pytest.raises(click.ClickException) as exc:
        generate_folders(namespaces)
        assert "admin roles" in str(exc.value)
Esempio n. 5
0
def test_more_than_one_email_match(looker_sdk, namespaces):
    sdk = looker_sdk.init31()

    def search_folders(name=None, parent_id=None):
        if name == "home":
            return [Mock(id=1)]
        else:
            return [Mock(id=2)]

    sdk.search_folders.side_effect = search_folders
    sdk.all_content_metadatas.return_value = [
        Mock(id=4, folder_id=2),
        Mock(id=100, folder_id=1),
    ]
    sdk.all_content_metadata_accesses.return_value = [Mock(id=5)]
    sdk.search_roles.return_value = [Mock(id=6)]
    sdk.role_users.return_value = [Mock(id=7)]
    sdk.search_users.return_value = [Mock(id=8), Mock(id=9)]

    with pytest.raises(click.ClickException) as exc:
        generate_folders(namespaces)
        assert "more than one user with email" in str(exc.value)
Esempio n. 6
0
def test_more_than_one_namespace_folder(looker_sdk, namespaces):
    sdk = looker_sdk.init31()
    sdk.search_folders.return_value = [Mock(id=2), Mock(id=3)]
    with pytest.raises(click.ClickException):
        generate_folders(namespaces)