from configparser import ConfigParser from powerbi.client import PowerBiClient # 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. 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 `Users` service. users_service = power_bi_client.users() # Refresh Users Permissions. pprint( users_service.refresh_user_permissions() )
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