Example #1
0
def __delete_entries_and_groups(project_ids):
    entry_name_pattern = '(?P<entry_group_name>.+?)/entries/(.+?)'

    query = f'system=tableau'

    scope = types.SearchCatalogRequest.Scope()
    scope.include_project_ids.extend(project_ids)

    # TODO Replace "search entries" by "list entries by group"
    #  when/if it becomes available.
    search_results = [
        result for result in datacatalog.search_catalog(
            scope=scope, query=query, order_by='relevance', page_size=1000)
    ]

    entry_group_names = []
    for result in search_results:
        try:
            datacatalog.delete_entry(result.relative_resource_name)
            print('Entry deleted: {}'.format(result.relative_resource_name))
            entry_group_name = re.match(
                pattern=entry_name_pattern,
                string=result.relative_resource_name).group('entry_group_name')
            entry_group_names.append(entry_group_name)
        except:
            print('Exception deleting entry')

    # Delete any pre-existing Entry Groups.
    for entry_group_name in set(entry_group_names):
        try:
            datacatalog.delete_entry_group(entry_group_name)
            print('--> Entry Group deleted: {}'.format(entry_group_name))
        except:
            print('Exception deleting entry group')
    def test_tableau_entries_should_not_exist_after_cleanup(self):
        query = 'system=tableau'

        scope = types.SearchCatalogRequest.Scope()
        scope.include_project_ids.append(
            os.environ['TABLEAU2DC_DATACATALOG_PROJECT_ID'])

        search_results = [
            result for result in datacatalog.search_catalog(
                scope=scope, query=query, order_by='relevance', page_size=1000)
        ]
        self.assertEqual(len(search_results), 0)
    def test_looker_entries_should_exist_after_connector_execution(self):
        query = 'system=tableau'

        scope = types.SearchCatalogRequest.Scope()
        scope.include_project_ids.append(
            os.environ['LOOKER2DC_DATACATALOG_PROJECT_ID'])

        search_results = [
            result for result in datacatalog.search_catalog(
                scope=scope, query=query, order_by='relevance', page_size=1000)
        ]
        self.assertGreater(len(search_results), 0)