msfabricpysdkcore 0.1.8__py3-none-any.whl → 0.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- msfabricpysdkcore/adminapi.py +178 -12
- msfabricpysdkcore/coreapi.py +1479 -99
- msfabricpysdkcore/item.py +45 -6
- msfabricpysdkcore/job_instance.py +2 -1
- msfabricpysdkcore/otheritems.py +159 -10
- msfabricpysdkcore/tests/__init__.py +0 -0
- msfabricpysdkcore/tests/test_admin_apis.py +174 -0
- msfabricpysdkcore/tests/test_connection.py +111 -0
- msfabricpysdkcore/tests/test_datapipelines.py +45 -0
- msfabricpysdkcore/tests/test_deployment_pipeline.py +63 -0
- msfabricpysdkcore/tests/test_domains.py +126 -0
- msfabricpysdkcore/tests/test_environments.py +114 -0
- msfabricpysdkcore/tests/test_evenhouses.py +56 -0
- msfabricpysdkcore/tests/test_evenstreams.py +52 -0
- msfabricpysdkcore/tests/test_external_data_shares.py +51 -0
- msfabricpysdkcore/tests/test_fabric_azure_client.py +80 -0
- msfabricpysdkcore/tests/test_gateways.py +99 -0
- msfabricpysdkcore/tests/test_git.py +66 -0
- msfabricpysdkcore/tests/test_graphqlapi.py +44 -0
- msfabricpysdkcore/tests/test_items.py +97 -0
- msfabricpysdkcore/tests/test_jobs.py +96 -0
- msfabricpysdkcore/tests/test_kql_dashboards.py +63 -0
- msfabricpysdkcore/tests/test_kql_queryset.py +64 -0
- msfabricpysdkcore/tests/test_kqldatabases.py +56 -0
- msfabricpysdkcore/tests/test_lakehouse.py +93 -0
- msfabricpysdkcore/tests/test_managed_private_endpoints.py +61 -0
- msfabricpysdkcore/tests/test_mirroreddatabases.py +80 -0
- msfabricpysdkcore/tests/test_ml_experiments.py +47 -0
- msfabricpysdkcore/tests/test_ml_models.py +47 -0
- msfabricpysdkcore/tests/test_mounted_adf.py +64 -0
- msfabricpysdkcore/tests/test_notebooks.py +57 -0
- msfabricpysdkcore/tests/test_one_lake_data_access_security.py +63 -0
- msfabricpysdkcore/tests/test_other_items.py +45 -0
- msfabricpysdkcore/tests/test_reflex.py +57 -0
- msfabricpysdkcore/tests/test_reports.py +56 -0
- msfabricpysdkcore/tests/test_semantic_model.py +56 -0
- msfabricpysdkcore/tests/test_shortcuts.py +60 -0
- msfabricpysdkcore/tests/test_spark.py +91 -0
- msfabricpysdkcore/tests/test_sparkjobdefinition.py +55 -0
- msfabricpysdkcore/tests/test_sqldatabases.py +45 -0
- msfabricpysdkcore/tests/test_warehouses.py +50 -0
- msfabricpysdkcore/tests/test_workspaces_capacities.py +159 -0
- msfabricpysdkcore/workspace.py +295 -16
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.2.dist-info}/METADATA +261 -16
- msfabricpysdkcore-0.2.2.dist-info/RECORD +65 -0
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.2.dist-info}/WHEEL +1 -1
- msfabricpysdkcore-0.1.8.dist-info/RECORD +0 -28
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.2.dist-info}/LICENSE +0 -0
- {msfabricpysdkcore-0.1.8.dist-info → msfabricpysdkcore-0.2.2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,60 @@
|
|
1
|
+
import unittest
|
2
|
+
from msfabricpysdkcore.coreapi import FabricClientCore
|
3
|
+
from datetime import datetime
|
4
|
+
from dotenv import load_dotenv
|
5
|
+
|
6
|
+
load_dotenv()
|
7
|
+
|
8
|
+
class TestFabricClientCore(unittest.TestCase):
|
9
|
+
|
10
|
+
def __init__(self, *args, **kwargs):
|
11
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
12
|
+
#load_dotenv()
|
13
|
+
self.fc = FabricClientCore()
|
14
|
+
self.workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
15
|
+
|
16
|
+
self.lakehouse_target = "148ef579-4a5d-4048-8a48-0a703c5e3a1a"
|
17
|
+
self.lakehouse_shortcut = "9d1e8b07-2fea-4fc5-872c-fb586d085149"
|
18
|
+
|
19
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
20
|
+
self.shortcutname = "shortcut" + datetime_str
|
21
|
+
self.path_target = "Files/to_share"
|
22
|
+
self.path_shortcut = "Files/shortcutfolder"
|
23
|
+
|
24
|
+
self.target = {'oneLake': {'itemId': self.lakehouse_target,
|
25
|
+
'path': self.path_target,
|
26
|
+
'workspaceId': self.workspace_id}}
|
27
|
+
|
28
|
+
def test_shortcut_end_to_end(self):
|
29
|
+
|
30
|
+
item = self.fc.create_shortcut(workspace_id=self.workspace_id,
|
31
|
+
item_id=self.lakehouse_shortcut,
|
32
|
+
path=self.path_shortcut,
|
33
|
+
name=self.shortcutname,
|
34
|
+
target=self.target)
|
35
|
+
self.assertEqual(item.name, self.shortcutname)
|
36
|
+
self.assertEqual(item.path, self.path_shortcut)
|
37
|
+
self.assertIn("oneLake", item.target)
|
38
|
+
|
39
|
+
item = self.fc.get_shortcut(workspace_id=self.workspace_id,
|
40
|
+
item_id=self.lakehouse_shortcut,
|
41
|
+
path=self.path_shortcut,
|
42
|
+
name=self.shortcutname)
|
43
|
+
self.assertEqual(item.name, self.shortcutname)
|
44
|
+
self.assertEqual(item.path, self.path_shortcut)
|
45
|
+
self.assertIn("oneLake", item.target)
|
46
|
+
|
47
|
+
shortcuts = self.fc.list_shortcuts(workspace_id=self.workspace_id,
|
48
|
+
item_id=self.lakehouse_shortcut, parent_path="Files")
|
49
|
+
self.assertGreater(len(shortcuts), 0)
|
50
|
+
|
51
|
+
|
52
|
+
status_code = self.fc.delete_shortcut(workspace_id=self.workspace_id,
|
53
|
+
item_id=self.lakehouse_shortcut,
|
54
|
+
path=self.path_shortcut,
|
55
|
+
name=self.shortcutname)
|
56
|
+
|
57
|
+
self.assertAlmostEqual(status_code, 200)
|
58
|
+
|
59
|
+
if __name__ == "__main__":
|
60
|
+
unittest.main()
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import unittest
|
2
|
+
from msfabricpysdkcore.coreapi import FabricClientCore
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
from datetime import datetime
|
5
|
+
|
6
|
+
load_dotenv()
|
7
|
+
|
8
|
+
|
9
|
+
class TestFabricClientCore(unittest.TestCase):
|
10
|
+
|
11
|
+
def __init__(self, *args, **kwargs):
|
12
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
13
|
+
#load_dotenv()
|
14
|
+
self.fc = FabricClientCore()
|
15
|
+
|
16
|
+
|
17
|
+
def test_spark_workspace_custom_pools(self):
|
18
|
+
fc = self.fc
|
19
|
+
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
20
|
+
pool_name = "pool" + datetime.now().strftime("%Y%m%d%H%M%S")
|
21
|
+
# List
|
22
|
+
|
23
|
+
pools = fc.list_workspace_custom_pools(workspace_id=workspace_id)
|
24
|
+
self.assertGreater(len(pools), 0)
|
25
|
+
|
26
|
+
pools = fc.list_workspace_custom_pools(workspace_id=workspace_id)
|
27
|
+
|
28
|
+
self.assertIn("pool1", [p.name for p in pools])
|
29
|
+
pool1 = [p for p in pools if p.name == "pool1"][0]
|
30
|
+
|
31
|
+
# Get
|
32
|
+
|
33
|
+
pool1_clone = fc.get_workspace_custom_pool(workspace_id=workspace_id, pool_id=pool1.id)
|
34
|
+
self.assertEqual(pool1_clone.id, pool1.id)
|
35
|
+
# Create
|
36
|
+
|
37
|
+
pool2 = fc.create_workspace_custom_pool(workspace_id=workspace_id,
|
38
|
+
name=pool_name,
|
39
|
+
node_family="MemoryOptimized",
|
40
|
+
node_size="Small",
|
41
|
+
auto_scale = {"enabled": True, "minNodeCount": 1, "maxNodeCount": 2},
|
42
|
+
dynamic_executor_allocation = {"enabled": True, "minExecutors": 1, "maxExecutors": 1})
|
43
|
+
|
44
|
+
self.assertEqual(pool2.name, pool_name)
|
45
|
+
self.assertEqual(pool2.node_family, "MemoryOptimized")
|
46
|
+
|
47
|
+
# Update
|
48
|
+
|
49
|
+
pool2 = fc.update_workspace_custom_pool(workspace_id=workspace_id, pool_id=pool2.id,
|
50
|
+
auto_scale = {"enabled": True, "minNodeCount": 1, "maxNodeCount": 7},
|
51
|
+
return_item=True)
|
52
|
+
|
53
|
+
self.assertEqual(pool2.auto_scale["maxNodeCount"], 7)
|
54
|
+
pool2_clone = fc.get_workspace_custom_pool(workspace_id=workspace_id, pool_id=pool2.id)
|
55
|
+
self.assertEqual(pool2_clone.auto_scale["maxNodeCount"], 7)
|
56
|
+
|
57
|
+
# Delete
|
58
|
+
status_code = fc.delete_workspace_custom_pool(workspace_id=workspace_id, pool_id=pool2.id)
|
59
|
+
self.assertEqual(status_code, 200)
|
60
|
+
|
61
|
+
pools = fc.list_workspace_custom_pools(workspace_id=workspace_id)
|
62
|
+
self.assertNotIn(pool_name, [p.name for p in pools])
|
63
|
+
|
64
|
+
def test_workspace_settings(self):
|
65
|
+
fc = self.fc
|
66
|
+
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
67
|
+
|
68
|
+
# Get
|
69
|
+
|
70
|
+
settings = fc.get_spark_settings(workspace_id)
|
71
|
+
self.assertIn("automaticLog", settings)
|
72
|
+
|
73
|
+
|
74
|
+
orig_setting = settings["automaticLog"]["enabled"]
|
75
|
+
settings["automaticLog"]["enabled"] = not settings["automaticLog"]["enabled"]
|
76
|
+
|
77
|
+
# Update
|
78
|
+
settings = fc.update_spark_settings(workspace_id, automatic_log=settings["automaticLog"])
|
79
|
+
new_setting = settings["automaticLog"]["enabled"]
|
80
|
+
self.assertNotEqual(orig_setting, new_setting)
|
81
|
+
self.assertTrue(orig_setting or new_setting)
|
82
|
+
self.assertFalse(orig_setting and new_setting)
|
83
|
+
|
84
|
+
settings = fc.get_spark_settings(workspace_id)
|
85
|
+
checked_setting = settings["automaticLog"]["enabled"]
|
86
|
+
self.assertEqual(checked_setting, new_setting)
|
87
|
+
|
88
|
+
|
89
|
+
if __name__ == "__main__":
|
90
|
+
unittest.main()
|
91
|
+
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import unittest
|
2
|
+
from datetime import datetime
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
from msfabricpysdkcore.coreapi import FabricClientCore
|
5
|
+
|
6
|
+
load_dotenv()
|
7
|
+
|
8
|
+
class TestFabricClientCore(unittest.TestCase):
|
9
|
+
|
10
|
+
def __init__(self, *args, **kwargs):
|
11
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
12
|
+
self.fc = FabricClientCore()
|
13
|
+
|
14
|
+
def test_spark_job_definitions(self):
|
15
|
+
|
16
|
+
fc = self.fc
|
17
|
+
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
18
|
+
|
19
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
20
|
+
spark_job_definition_name = f"sjd{datetime_str}"
|
21
|
+
|
22
|
+
spark_job_definition_w_content = fc.get_spark_job_definition(workspace_id, spark_job_definition_name="helloworld")
|
23
|
+
|
24
|
+
result = fc.run_on_demand_spark_job_definition(workspace_id=workspace_id,
|
25
|
+
spark_job_definition_id=spark_job_definition_w_content.id,
|
26
|
+
job_type="sparkjob")
|
27
|
+
self.assertIsNotNone(result)
|
28
|
+
self.assertEqual(result.job_type, "sparkjob")
|
29
|
+
definition = fc.get_spark_job_definition_definition(workspace_id, spark_job_definition_w_content.id)
|
30
|
+
|
31
|
+
self.assertIsNotNone(definition)
|
32
|
+
self.assertIn("definition", definition)
|
33
|
+
definition = definition["definition"]
|
34
|
+
|
35
|
+
spark_job_definition = fc.create_spark_job_definition(workspace_id, display_name=spark_job_definition_name)
|
36
|
+
fc.update_spark_job_definition_definition(workspace_id, spark_job_definition.id, definition=definition)
|
37
|
+
spark_job_definition = fc.get_spark_job_definition(workspace_id, spark_job_definition_id=spark_job_definition.id)
|
38
|
+
self.assertEqual(spark_job_definition.display_name, spark_job_definition_name)
|
39
|
+
self.assertIsNotNone(spark_job_definition.definition)
|
40
|
+
|
41
|
+
spark_job_definitions = fc.list_spark_job_definitions(workspace_id)
|
42
|
+
spark_job_definition_names = [sjd.display_name for sjd in spark_job_definitions]
|
43
|
+
self.assertGreater(len(spark_job_definitions), 0)
|
44
|
+
self.assertIn(spark_job_definition_name, spark_job_definition_names)
|
45
|
+
|
46
|
+
sjd = fc.get_spark_job_definition(workspace_id, spark_job_definition_name=spark_job_definition_name)
|
47
|
+
self.assertIsNotNone(sjd.id)
|
48
|
+
self.assertEqual(sjd.display_name, spark_job_definition_name)
|
49
|
+
|
50
|
+
sjd = fc.update_spark_job_definition(workspace_id, sjd.id, display_name=f"{spark_job_definition_name}2", return_item=True)
|
51
|
+
sjd = fc.get_spark_job_definition(workspace_id, spark_job_definition_id=sjd.id)
|
52
|
+
self.assertEqual(sjd.display_name, f"{spark_job_definition_name}2")
|
53
|
+
|
54
|
+
status_code = fc.delete_spark_job_definition(workspace_id, sjd.id)
|
55
|
+
self.assertEqual(status_code, 200)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import unittest
|
2
|
+
from datetime import datetime
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
from time import sleep
|
5
|
+
from msfabricpysdkcore.coreapi import FabricClientCore
|
6
|
+
|
7
|
+
load_dotenv()
|
8
|
+
|
9
|
+
# class TestFabricClientCore(unittest.TestCase):
|
10
|
+
|
11
|
+
class TestFabricClientCore(unittest.TestCase):
|
12
|
+
|
13
|
+
def __init__(self, *args, **kwargs):
|
14
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
15
|
+
#load_dotenv()
|
16
|
+
self.fc = FabricClientCore()
|
17
|
+
|
18
|
+
|
19
|
+
def test_sql_databases(self):
|
20
|
+
|
21
|
+
fc = self.fc
|
22
|
+
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
23
|
+
|
24
|
+
# datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
25
|
+
|
26
|
+
# sql_db = fc.create_sql_database(workspace_id, display_name="sqldb" + datetime_str)
|
27
|
+
# self.assertEqual(sql_db.display_name, "sqldb" + datetime_str)
|
28
|
+
|
29
|
+
# sql_dbs = fc.list_sql_databases(workspace_id)
|
30
|
+
# sql_db_names = [db.display_name for db in sql_dbs]
|
31
|
+
# self.assertGreater(len(sql_dbs), 0)
|
32
|
+
# self.assertIn("sqldb" + datetime_str, sql_db_names)
|
33
|
+
|
34
|
+
# db = fc.get_sql_database(workspace_id, sql_database_name="sqldb" + datetime_str)
|
35
|
+
# self.assertIsNotNone(db.id)
|
36
|
+
# self.assertEqual(db.display_name, "sqldb" + datetime_str)
|
37
|
+
|
38
|
+
# db2 = fc.update_sql_database(workspace_id, db.id, display_name=f"sqldb{datetime_str}2", return_item=True)
|
39
|
+
|
40
|
+
# db = fc.get_sql_database(workspace_id, sql_database_id=db.id)
|
41
|
+
# self.assertEqual(db.display_name, f"sqldb{datetime_str}2")
|
42
|
+
|
43
|
+
# status_code = fc.delete_sql_database(workspace_id, db.id)
|
44
|
+
# self.assertEqual(status_code, 200)
|
45
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import unittest
|
2
|
+
from datetime import datetime
|
3
|
+
from dotenv import load_dotenv
|
4
|
+
from time import sleep
|
5
|
+
from msfabricpysdkcore.coreapi import FabricClientCore
|
6
|
+
|
7
|
+
load_dotenv()
|
8
|
+
|
9
|
+
class TestFabricClientCore(unittest.TestCase):
|
10
|
+
|
11
|
+
def __init__(self, *args, **kwargs):
|
12
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
13
|
+
#load_dotenv()
|
14
|
+
self.fc = FabricClientCore()
|
15
|
+
|
16
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
17
|
+
self.item_name = "testitem" + datetime_str
|
18
|
+
self.item_type = "Notebook"
|
19
|
+
|
20
|
+
|
21
|
+
def test_warehouses(self):
|
22
|
+
|
23
|
+
fc = self.fc
|
24
|
+
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
25
|
+
|
26
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
27
|
+
warehouse1 = f"wh{datetime_str}"
|
28
|
+
warehouse = fc.create_warehouse(workspace_id, display_name=warehouse1)
|
29
|
+
self.assertIsNotNone(warehouse.id)
|
30
|
+
|
31
|
+
warehouses = fc.list_warehouses(workspace_id)
|
32
|
+
warehouse_names = [wh.display_name for wh in warehouses]
|
33
|
+
self.assertGreater(len(warehouses), 0)
|
34
|
+
self.assertIn(warehouse1, warehouse_names)
|
35
|
+
|
36
|
+
warehouse = fc.get_warehouse(workspace_id, warehouse_name=warehouse1)
|
37
|
+
self.assertIsNotNone(warehouse.id)
|
38
|
+
self.assertEqual(warehouse.display_name, warehouse1)
|
39
|
+
|
40
|
+
warehouse2 = fc.update_warehouse(workspace_id, warehouse.id, display_name=f"{warehouse1}2", return_item=True)
|
41
|
+
warehouse = fc.get_warehouse(workspace_id, warehouse_id=warehouse.id)
|
42
|
+
self.assertEqual(warehouse.display_name, f"{warehouse1}2")
|
43
|
+
self.assertEqual(warehouse.id, warehouse2.id)
|
44
|
+
|
45
|
+
status_code = fc.delete_warehouse(workspace_id, warehouse.id)
|
46
|
+
self.assertEqual(status_code, 200)
|
47
|
+
|
48
|
+
|
49
|
+
if __name__ == "__main__":
|
50
|
+
unittest.main()
|
@@ -0,0 +1,159 @@
|
|
1
|
+
import unittest
|
2
|
+
from dotenv import load_dotenv
|
3
|
+
from datetime import datetime
|
4
|
+
from msfabricpysdkcore.coreapi import FabricClientCore
|
5
|
+
|
6
|
+
load_dotenv()
|
7
|
+
|
8
|
+
class TestFabricClientCore(unittest.TestCase):
|
9
|
+
|
10
|
+
def __init__(self, *args, **kwargs):
|
11
|
+
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
12
|
+
self.fc = FabricClientCore()
|
13
|
+
|
14
|
+
|
15
|
+
def test_end_to_end_workspace(self):
|
16
|
+
fc = self.fc
|
17
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
18
|
+
display_name = "testws" + datetime_str
|
19
|
+
|
20
|
+
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
21
|
+
workspace_name_new = "newws" + datetime_str
|
22
|
+
ws_created = fc.create_workspace(display_name=display_name,
|
23
|
+
description="test workspace",
|
24
|
+
exists_ok=False)
|
25
|
+
# Add assertions here to verify the result
|
26
|
+
self.assertEqual(ws_created.display_name, display_name)
|
27
|
+
workspace_id = ws_created.id
|
28
|
+
ws = fc.get_workspace_by_id(id = workspace_id)
|
29
|
+
self.assertEqual(ws.display_name, display_name)
|
30
|
+
self.assertEqual(ws.description, "test workspace")
|
31
|
+
|
32
|
+
# def test_assign_to_capacity(self):
|
33
|
+
|
34
|
+
result_status_code = fc.assign_to_capacity(workspace_id=ws.id,
|
35
|
+
capacity_id="840a6c1e-5289-4094-bbc8-716daabaeeba")
|
36
|
+
self.assertEqual(result_status_code, 202)
|
37
|
+
|
38
|
+
|
39
|
+
# def test_list_workspaces(self):
|
40
|
+
|
41
|
+
result = fc.list_workspaces()
|
42
|
+
display_names = [ws.display_name for ws in result]
|
43
|
+
self.assertIn(display_name, display_names)
|
44
|
+
|
45
|
+
for ws in result:
|
46
|
+
if ws.display_name == display_name:
|
47
|
+
self.assertEqual(ws.capacity_id, "840a6c1e-5289-4094-bbc8-716daabaeeba")
|
48
|
+
|
49
|
+
|
50
|
+
# def test_get_workspace_by_name(self):
|
51
|
+
|
52
|
+
workspace_name = display_name
|
53
|
+
ws = fc.get_workspace_by_name(name = workspace_name)
|
54
|
+
self.assertEqual(ws.display_name, display_name)
|
55
|
+
|
56
|
+
# def test_get_workspace_by_id(self):
|
57
|
+
ws = fc.get_workspace_by_id(id = workspace_id)
|
58
|
+
self.assertEqual(display_name, ws.display_name)
|
59
|
+
|
60
|
+
|
61
|
+
# def test_get_workspace(self):
|
62
|
+
result = fc.get_workspace_by_id(id = workspace_id)
|
63
|
+
self.assertEqual(result.display_name, display_name)
|
64
|
+
|
65
|
+
# def test_add_role_assignment(self):
|
66
|
+
result_status = fc.add_workspace_role_assignment(workspace_id = ws.id,
|
67
|
+
principal = {"id" : "755f273c-98f8-408c-a886-691794938bd8",
|
68
|
+
"type" : "ServicePrincipal"},
|
69
|
+
role = 'Member')
|
70
|
+
|
71
|
+
self.assertEqual(result_status, 201)
|
72
|
+
|
73
|
+
# def test_get_workspace_role_assignments(self):
|
74
|
+
result = fc.list_workspace_role_assignments(workspace_id = ws.id)
|
75
|
+
self.assertTrue(len(result) == 2)
|
76
|
+
for user in result:
|
77
|
+
if user["principal"]["displayName"] == "fabrictestuser":
|
78
|
+
self.assertEqual(user["role"], "Member")
|
79
|
+
|
80
|
+
# Get get_workspace_role_assignment
|
81
|
+
|
82
|
+
result = fc.get_workspace_role_assignment(workspace_id = ws.id,
|
83
|
+
workspace_role_assignment_id = "755f273c-98f8-408c-a886-691794938bd8")
|
84
|
+
|
85
|
+
self.assertEqual(result["role"], "Member")
|
86
|
+
|
87
|
+
# def test_update_workspace_role_assignment(self):
|
88
|
+
|
89
|
+
result_status_code = fc.update_workspace_role_assignment(workspace_id = ws.id,
|
90
|
+
role = "Contributor",
|
91
|
+
workspace_role_assignment_id= "755f273c-98f8-408c-a886-691794938bd8")
|
92
|
+
|
93
|
+
self.assertEqual(result_status_code, 200)
|
94
|
+
|
95
|
+
result = fc.list_workspace_role_assignments(workspace_id = ws.id)
|
96
|
+
self.assertTrue(len(result) == 2)
|
97
|
+
for user in result:
|
98
|
+
if user["principal"]["displayName"] == "fabrictestuser":
|
99
|
+
self.assertTrue(user["role"] == "Contributor")
|
100
|
+
|
101
|
+
# def test_delete_role_assignment(self):
|
102
|
+
result_status_code = fc.delete_workspace_role_assignment(workspace_id = ws.id,
|
103
|
+
workspace_role_assignment_id = "755f273c-98f8-408c-a886-691794938bd8")
|
104
|
+
self.assertEqual(result_status_code, 200)
|
105
|
+
|
106
|
+
# def test_get_workspace_role_assignments(self):
|
107
|
+
result = fc.list_workspace_role_assignments(workspace_id = ws.id)
|
108
|
+
self.assertTrue(len(result) == 1)
|
109
|
+
user = result[0]
|
110
|
+
# self.assertTrue(user["principal"]["displayName"] == "fabricapi")
|
111
|
+
self.assertTrue(user["role"] == "Admin")
|
112
|
+
|
113
|
+
# def test_update_workspace(self):
|
114
|
+
ws_updated = fc.update_workspace(workspace_id=ws.id,
|
115
|
+
display_name=workspace_name_new,
|
116
|
+
description="new description")
|
117
|
+
self.assertEqual(ws_updated.display_name, workspace_name_new)
|
118
|
+
self.assertEqual(ws_updated.description, "new description")
|
119
|
+
ws = fc.get_workspace_by_id(id = ws.id)
|
120
|
+
self.assertEqual(ws.display_name, workspace_name_new)
|
121
|
+
self.assertEqual(ws.description, "new description")
|
122
|
+
|
123
|
+
# def test_unassign_from_capacity(self):
|
124
|
+
|
125
|
+
result_status_code = fc.unassign_from_capacity(workspace_id=ws.id)
|
126
|
+
self.assertEqual(result_status_code, 202)
|
127
|
+
ws = fc.get_workspace_by_id(ws.id)
|
128
|
+
self.assertEqual(ws.capacity_id, None)
|
129
|
+
|
130
|
+
# result = fc.provision_identity(workspace_id=ws.id)
|
131
|
+
# self.assertIsNotNone(result["applicationId"])
|
132
|
+
# fc.deprovision_identity(workspace_id=ws.id)
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
# def test_delete_workspace(self):
|
137
|
+
result_status = fc.delete_workspace(display_name=workspace_name_new)
|
138
|
+
self.assertEqual(result_status, 200)
|
139
|
+
|
140
|
+
def test_list_capacities(self):
|
141
|
+
result = self.fc.list_capacities()
|
142
|
+
self.assertTrue(len(result) > 0)
|
143
|
+
cap_ids = [cap.id for cap in result]
|
144
|
+
self.assertIn("c861242b-c4ac-4e3a-9a21-13f65d9b17b2", cap_ids)
|
145
|
+
|
146
|
+
def test_get_capacity(self):
|
147
|
+
capacity = self.fc.get_capacity(capacity_id = "c861242b-c4ac-4e3a-9a21-13f65d9b17b2")
|
148
|
+
self.assertEqual(capacity.id, "c861242b-c4ac-4e3a-9a21-13f65d9b17b2")
|
149
|
+
|
150
|
+
cap = self.fc.get_capacity(capacity_name= capacity.display_name)
|
151
|
+
|
152
|
+
self.assertEqual(capacity.id, cap.id)
|
153
|
+
self.assertIsNotNone(cap.state)
|
154
|
+
self.assertIsNotNone(cap.sku)
|
155
|
+
self.assertIsNotNone(cap.region)
|
156
|
+
|
157
|
+
|
158
|
+
if __name__ == "__main__":
|
159
|
+
unittest.main()
|