class TestPowerBiSession(TestCase): """Will perform a unit test for the `PowerBiClient` object.""" def setUp(self) -> None: """Set up the `PowerBiClient` object.""" # Initialize the Parser. config = ConfigParser() # Read the file. config.read('config/config.ini') # Get the specified credentials. client_id = config.get('power_bi_api', 'client_id') redirect_uri = config.get('power_bi_api', 'redirect_uri') client_secret = config.get('power_bi_api', 'client_secret') # Initialize the Client. self.power_bi_client = PowerBiClient( client_id=client_id, client_secret=client_secret, scope=['https://analysis.windows.net/powerbi/api/.default'], redirect_uri=redirect_uri, credentials='config/power_bi_state.jsonc') def test_creates_instance_of_client(self): """Create an instance and make sure it's a `PowerBiClient` object""" self.assertIsInstance(self.power_bi_client, PowerBiClient) def test_creates_instance_of_session(self): """Create an instance and make sure it's a `PowerBiSession` object""" self.assertIsInstance(self.power_bi_client.power_bi_session, PowerBiSession) def test_creates_instance_of_auth(self): """Create an instance and make sure it's a `PowerBiAuth` object""" self.assertIsInstance(self.power_bi_client.power_bi_auth_client, PowerBiAuth) def test_creates_instance_of_apps(self): """Create an instance and make sure it's a `Apps` object""" self.assertIsInstance(self.power_bi_client.apps(), Apps) def test_creates_instance_of_dashboards(self): """Create an instance and make sure it's a `Dashboards` object""" self.assertIsInstance(self.power_bi_client.dashboards(), Dashboards) def test_creates_instance_of_groups(self): """Create an instance and make sure it's a `Groups` object""" self.assertIsInstance(self.power_bi_client.groups(), Groups) def test_creates_instance_of_users(self): """Create an instance and make sure it's a `Users` object""" self.assertIsInstance(self.power_bi_client.users(), Users) def test_creates_instance_of_template_apps(self): """Create an instance and make sure it's a `TemplateApps` object""" self.assertIsInstance(self.power_bi_client.template_apps(), TemplateApps) def test_creates_instance_of_dataflow_storage_account(self): """Create an instance and make sure it's a `DataflowStorageAccount` object""" self.assertIsInstance(self.power_bi_client.dataflow_storage_account(), DataflowStorageAccount) def test_creates_instance_of_push_datasets(self): """Create an instance and make sure it's a `PushDatasets` object""" self.assertIsInstance(self.power_bi_client.push_datasets(), PushDatasets) def test_creates_instance_of_available_features(self): """Create an instance and make sure it's a `AvailableFeatures` object""" self.assertIsInstance(self.power_bi_client.available_features(), AvailableFeatures) def test_creates_instance_of_capacities(self): """Create an instance and make sure it's a `Capacities` object""" self.assertIsInstance(self.power_bi_client.capactities(), Capacities) def test_creates_instance_of_reports(self): """Create an instance and make sure it's a `Capacities` object""" self.assertIsInstance(self.power_bi_client.reports(), Reports) def test_creates_instance_of_pipelines(self): """Create an instance and make sure it's a `Pipelines` object""" self.assertIsInstance(self.power_bi_client.pipelines(), Pipelines) def tearDown(self) -> None: """Teardown the `PowerBiClient` object.""" del self.power_bi_client
# Get the specified credentials. client_id = config.get('power_bi_api', 'client_id') redirect_uri = config.get('power_bi_api', 'redirect_uri') client_secret = config.get('power_bi_api', 'client_secret') # Initialize the Client. power_bi_client = PowerBiClient( client_id=client_id, client_secret=client_secret, scope=['https://analysis.windows.net/powerbi/api/.default'], redirect_uri=redirect_uri, credentials='config/power_bi_state.jsonc') # Initialize the `PushDatasets` service. push_datasets_service = power_bi_client.push_datasets() # Grab the tables from a Dataset. pprint( push_datasets_service.get_tables( dataset_id='8ea21119-fb8f-4592-b2b8-141b824a2b7e')) # Grab the tables from a Dataset. pprint( push_datasets_service.get_group_tables( group_id='f78705a2-bead-4a5c-ba57-166794b05c78', dataset_id='8ea21119-fb8f-4592-b2b8-141b824a2b7e')) # Create a new Table Object. table_sales = Table(name='sales_table')