msfabricpysdkcore 0.0.9__py3-none-any.whl → 0.0.11__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.
Files changed (33) hide show
  1. msfabricpysdkcore/admin_item.py +7 -0
  2. msfabricpysdkcore/admin_workspace.py +20 -1
  3. msfabricpysdkcore/adminapi.py +133 -7
  4. msfabricpysdkcore/auth.py +9 -6
  5. msfabricpysdkcore/client.py +5 -4
  6. msfabricpysdkcore/coreapi.py +341 -17
  7. msfabricpysdkcore/deployment_pipeline.py +240 -0
  8. msfabricpysdkcore/environment.py +209 -0
  9. msfabricpysdkcore/item.py +12 -11
  10. msfabricpysdkcore/lakehouse.py +42 -1
  11. msfabricpysdkcore/long_running_operation.py +2 -6
  12. msfabricpysdkcore/otheritems.py +122 -3
  13. msfabricpysdkcore/spark_custom_pool.py +118 -0
  14. msfabricpysdkcore/tests/test_admin_apis.py +20 -9
  15. msfabricpysdkcore/tests/test_datapipelines.py +48 -0
  16. msfabricpysdkcore/tests/test_deployment_pipeline.py +64 -0
  17. msfabricpysdkcore/tests/test_domains.py +3 -2
  18. msfabricpysdkcore/tests/test_environments.py +65 -0
  19. msfabricpysdkcore/tests/test_evenstreams.py +44 -0
  20. msfabricpysdkcore/tests/test_git.py +3 -1
  21. msfabricpysdkcore/tests/test_items_incl_lakehouse.py +81 -109
  22. msfabricpysdkcore/tests/test_jobs.py +4 -0
  23. msfabricpysdkcore/tests/test_kqldatabases.py +48 -0
  24. msfabricpysdkcore/tests/test_shortcuts.py +3 -1
  25. msfabricpysdkcore/tests/test_spark.py +91 -0
  26. msfabricpysdkcore/tests/test_workspaces_capacities.py +6 -5
  27. msfabricpysdkcore/workspace.py +358 -32
  28. {msfabricpysdkcore-0.0.9.dist-info → msfabricpysdkcore-0.0.11.dist-info}/METADATA +82 -32
  29. msfabricpysdkcore-0.0.11.dist-info/RECORD +38 -0
  30. msfabricpysdkcore-0.0.9.dist-info/RECORD +0 -29
  31. {msfabricpysdkcore-0.0.9.dist-info → msfabricpysdkcore-0.0.11.dist-info}/LICENSE +0 -0
  32. {msfabricpysdkcore-0.0.9.dist-info → msfabricpysdkcore-0.0.11.dist-info}/WHEEL +0 -0
  33. {msfabricpysdkcore-0.0.9.dist-info → msfabricpysdkcore-0.0.11.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,48 @@
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
+ def test_kql_database(self):
17
+
18
+ fc = self.fc
19
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
20
+ evenhouse_id = "14822d45-5460-4efa-9b30-8628510a9197"
21
+
22
+ creation_payload = {"databaseType" : "ReadWrite",
23
+ "parentEventhouseItemId" : evenhouse_id}
24
+
25
+ datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
26
+ kqldb_name = "kql" + datetime_str
27
+ kqldb = fc.create_kql_database(workspace_id = workspace_id, display_name=kqldb_name,
28
+ creation_payload=creation_payload)
29
+ self.assertEqual(kqldb.display_name, kqldb_name)
30
+
31
+ kql_databases = fc.list_kql_databases(workspace_id)
32
+ kql_database_names = [kqldb.display_name for kqldb in kql_databases]
33
+ self.assertGreater(len(kql_databases), 0)
34
+ self.assertIn(kqldb_name, kql_database_names)
35
+
36
+ kqldb = fc.get_kql_database(workspace_id, kql_database_name=kqldb_name)
37
+ self.assertIsNotNone(kqldb.id)
38
+ self.assertEqual(kqldb.display_name, kqldb_name)
39
+
40
+ new_name = kqldb_name+"2"
41
+ kqldb2 = fc.update_kql_database(workspace_id, kqldb.id, display_name=new_name)
42
+
43
+ kqldb = fc.get_kql_database(workspace_id, kql_database_id=kqldb.id)
44
+ self.assertEqual(kqldb.display_name, new_name)
45
+ self.assertEqual(kqldb.id, kqldb2.id)
46
+
47
+ status_code = fc.delete_kql_database(workspace_id, kqldb.id)
48
+ self.assertEqual(status_code, 200)
@@ -1,7 +1,9 @@
1
1
  import unittest
2
2
  from msfabricpysdkcore.coreapi import FabricClientCore
3
3
  from datetime import datetime
4
- #from dotenv import load_dotenv
4
+ from dotenv import load_dotenv
5
+
6
+ load_dotenv()
5
7
 
6
8
  class TestFabricClientCore(unittest.TestCase):
7
9
 
@@ -0,0 +1,91 @@
1
+ import unittest
2
+ from msfabricpysdkcore.coreapi import FabricClientCore
3
+ from dotenv import load_dotenv
4
+
5
+ load_dotenv()
6
+
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
+ ws = self.fc.get_workspace_by_name(name="testitems")
15
+ self.workspace_id = ws.id
16
+
17
+
18
+ def test_spark_workspace_custom_pools(self):
19
+ fc = self.fc
20
+ workspace_id = self.workspace_id
21
+
22
+ # List
23
+
24
+ pools = fc.list_workspace_custom_pools(workspace_id=workspace_id)
25
+ self.assertGreater(len(pools), 0)
26
+
27
+ pools = fc.list_workspace_custom_pools(workspace_id=workspace_id)
28
+
29
+ self.assertIn("pool1", [p.name for p in pools])
30
+ pool1 = [p for p in pools if p.name == "pool1"][0]
31
+
32
+ # Get
33
+
34
+ pool1_clone = fc.get_workspace_custom_pool(workspace_id=workspace_id, pool_id=pool1.id)
35
+ self.assertEqual(pool1_clone.id, pool1.id)
36
+ # Create
37
+
38
+ pool2 = fc.create_workspace_custom_pool(workspace_id=workspace_id,
39
+ name="pool2",
40
+ node_family="MemoryOptimized",
41
+ node_size="Small",
42
+ auto_scale = {"enabled": True, "minNodeCount": 1, "maxNodeCount": 2},
43
+ dynamic_executor_allocation = {"enabled": True, "minExecutors": 1, "maxExecutors": 1})
44
+
45
+ self.assertEqual(pool2.name, "pool2")
46
+ self.assertEqual(pool2.node_family, "MemoryOptimized")
47
+
48
+ # Update
49
+
50
+ pool2 = fc.update_workspace_custom_pool(workspace_id=workspace_id, pool_id=pool2.id,
51
+ auto_scale = {"enabled": True, "minNodeCount": 1, "maxNodeCount": 7})
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("pool2", [p.name for p in pools])
63
+
64
+ def test_workspace_settings(self):
65
+ fc = self.fc
66
+ workspace_id = self.workspace_id
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
+
@@ -1,8 +1,9 @@
1
1
  import unittest
2
- #from dotenv import load_dotenv
2
+ from dotenv import load_dotenv
3
3
  from datetime import datetime
4
4
  from msfabricpysdkcore.coreapi import FabricClientCore
5
5
 
6
+ load_dotenv()
6
7
 
7
8
  class TestFabricClientCore(unittest.TestCase):
8
9
 
@@ -104,12 +105,12 @@ class TestFabricClientCore(unittest.TestCase):
104
105
 
105
106
  # def test_update_workspace(self):
106
107
  ws_updated = self.fc.update_workspace(workspace_id=ws.id,
107
- display_name="newname8912389u1293",
108
+ display_name="newn912389u8293",
108
109
  description="new description")
109
- self.assertEqual(ws_updated.display_name, "newname8912389u1293")
110
+ self.assertEqual(ws_updated.display_name, "newn912389u8293")
110
111
  self.assertEqual(ws_updated.description, "new description")
111
112
  ws = self.fc.get_workspace_by_id(id = ws.id)
112
- self.assertEqual(ws.display_name, "newname8912389u1293")
113
+ self.assertEqual(ws.display_name, "newn912389u8293")
113
114
  self.assertEqual(ws.description, "new description")
114
115
 
115
116
  # def test_unassign_from_capacity(self):
@@ -120,7 +121,7 @@ class TestFabricClientCore(unittest.TestCase):
120
121
  self.assertEqual(ws.capacity_id, None)
121
122
 
122
123
  # def test_delete_workspace(self):
123
- result_status = self.fc.delete_workspace(display_name="newname8912389u1293")
124
+ result_status = self.fc.delete_workspace(display_name="newn912389u8293")
124
125
  self.assertEqual(result_status, 200)
125
126
 
126
127
  def test_list_capacities(self):