def test_get_dashboard_view__admin_can_access(self): # arrange dashboard_to_access = create_dashboard_to_db( owners=[], slices=[create_slice_to_db()], published=False) self.login("admin") # act response = self.get_dashboard_view_response(dashboard_to_access) # assert self.assert200(response)
def _create_sample_dashboards_with_owner_access(self): username = random_str() new_role = f"role_{random_str()}" owner = self.create_user_with_roles(username, [new_role], should_create_roles=True) database = create_database_to_db() table = create_datasource_table_to_db(db_id=database.id, owners=[owner]) first_dash = create_dashboard_to_db( owners=[owner], slices=[create_slice_to_db(datasource_id=table.id)]) second_dash = create_dashboard_to_db( owners=[owner], slices=[create_slice_to_db(datasource_id=table.id)]) owned_dashboards = [first_dash, second_dash] not_owned_dashboards = [ create_dashboard_to_db( slices=[create_slice_to_db(datasource_id=table.id)], published=True) ] self.login(username) return not_owned_dashboards, owned_dashboards
def test_get_dashboards_api__admin_get_all_dashboards(self): # arrange create_dashboard_to_db(owners=[], slices=[create_slice_to_db()], published=False) dashboard_counts = count_dashboards() self.login("admin") # act response = self.get_dashboards_api_response() # assert self.assert_dashboards_api_response(response, dashboard_counts)
def test_get_dashboard_view__owner_can_access(self): # arrange username = random_str() new_role = f"role_{random_str()}" owner = self.create_user_with_roles(username, [new_role], should_create_roles=True) dashboard_to_access = create_dashboard_to_db( owners=[owner], slices=[create_slice_to_db()], published=False) self.login(username) # act response = self.get_dashboard_view_response(dashboard_to_access) # assert self.assert200(response)
def test_get_dashboard_view__public_user_access_with_dashboard_permission( self): # arrange dashboard_to_access = create_dashboard_to_db( published=True, slices=[create_slice_to_db()]) grant_access_to_dashboard(dashboard_to_access, "Public") self.logout() # act response = self.get_dashboard_view_response(dashboard_to_access) # assert self.assert200(response) # post revoke_access_to_dashboard(dashboard_to_access, "Public")