msfabricpysdkcore 0.2.5__py3-none-any.whl → 0.2.7__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/coreapi.py +742 -32
- msfabricpysdkcore/otheritems.py +61 -1
- msfabricpysdkcore/workspace.py +161 -9
- {msfabricpysdkcore-0.2.5.dist-info → msfabricpysdkcore-0.2.7.dist-info}/METADATA +4 -2
- msfabricpysdkcore-0.2.7.dist-info/RECORD +30 -0
- msfabricpysdkcore/tests/__init__.py +0 -0
- msfabricpysdkcore/tests/test_admin_apis.py +0 -174
- msfabricpysdkcore/tests/test_admin_tags.py +0 -46
- msfabricpysdkcore/tests/test_connection.py +0 -111
- msfabricpysdkcore/tests/test_copy_jobs.py +0 -60
- msfabricpysdkcore/tests/test_dataflows.py +0 -60
- msfabricpysdkcore/tests/test_datapipelines.py +0 -60
- msfabricpysdkcore/tests/test_deployment_pipeline.py +0 -63
- msfabricpysdkcore/tests/test_deployment_pipelinev2.py +0 -135
- msfabricpysdkcore/tests/test_domains.py +0 -126
- msfabricpysdkcore/tests/test_environments.py +0 -114
- msfabricpysdkcore/tests/test_evenhouses.py +0 -56
- msfabricpysdkcore/tests/test_evenstreams.py +0 -52
- msfabricpysdkcore/tests/test_eventstream_topology.py +0 -82
- msfabricpysdkcore/tests/test_external_data_shares.py +0 -51
- msfabricpysdkcore/tests/test_fabric_azure_client.py +0 -80
- msfabricpysdkcore/tests/test_folders.py +0 -53
- msfabricpysdkcore/tests/test_gateways.py +0 -99
- msfabricpysdkcore/tests/test_git.py +0 -66
- msfabricpysdkcore/tests/test_graphqlapi.py +0 -44
- msfabricpysdkcore/tests/test_items.py +0 -97
- msfabricpysdkcore/tests/test_jobs.py +0 -96
- msfabricpysdkcore/tests/test_kql_dashboards.py +0 -63
- msfabricpysdkcore/tests/test_kql_queryset.py +0 -64
- msfabricpysdkcore/tests/test_kqldatabases.py +0 -56
- msfabricpysdkcore/tests/test_lakehouse.py +0 -93
- msfabricpysdkcore/tests/test_managed_private_endpoints.py +0 -61
- msfabricpysdkcore/tests/test_mirroreddatabases.py +0 -80
- msfabricpysdkcore/tests/test_ml_experiments.py +0 -47
- msfabricpysdkcore/tests/test_ml_models.py +0 -47
- msfabricpysdkcore/tests/test_mounted_adf.py +0 -64
- msfabricpysdkcore/tests/test_notebooks.py +0 -57
- msfabricpysdkcore/tests/test_one_lake_data_access_security.py +0 -63
- msfabricpysdkcore/tests/test_other_items.py +0 -45
- msfabricpysdkcore/tests/test_reflex.py +0 -57
- msfabricpysdkcore/tests/test_reports.py +0 -56
- msfabricpysdkcore/tests/test_semantic_model.py +0 -56
- msfabricpysdkcore/tests/test_shortcuts.py +0 -60
- msfabricpysdkcore/tests/test_spark.py +0 -91
- msfabricpysdkcore/tests/test_sparkjobdefinition.py +0 -55
- msfabricpysdkcore/tests/test_sqldatabases.py +0 -45
- msfabricpysdkcore/tests/test_tags.py +0 -28
- msfabricpysdkcore/tests/test_variable_libary.py +0 -61
- msfabricpysdkcore/tests/test_warehouses.py +0 -50
- msfabricpysdkcore/tests/test_workspaces_capacities.py +0 -159
- msfabricpysdkcore-0.2.5.dist-info/RECORD +0 -75
- {msfabricpysdkcore-0.2.5.dist-info → msfabricpysdkcore-0.2.7.dist-info}/WHEEL +0 -0
- {msfabricpysdkcore-0.2.5.dist-info → msfabricpysdkcore-0.2.7.dist-info}/licenses/LICENSE +0 -0
- {msfabricpysdkcore-0.2.5.dist-info → msfabricpysdkcore-0.2.7.dist-info}/top_level.txt +0 -0
@@ -1,114 +0,0 @@
|
|
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
|
-
self.fc = FabricClientCore()
|
14
|
-
|
15
|
-
def test_environments_crudl(self):
|
16
|
-
fc = self.fc
|
17
|
-
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
18
|
-
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
19
|
-
|
20
|
-
env_name = "env" + datetime_str
|
21
|
-
environment1 = fc.create_environment(workspace_id, display_name=env_name)
|
22
|
-
self.assertEqual(environment1.display_name, env_name)
|
23
|
-
|
24
|
-
environments = fc.list_environments(workspace_id)
|
25
|
-
environment_names = [env.display_name for env in environments]
|
26
|
-
self.assertGreater(len(environments), 0)
|
27
|
-
self.assertIn(env_name, environment_names)
|
28
|
-
|
29
|
-
env = fc.get_environment(workspace_id, environment_name=env_name)
|
30
|
-
self.assertIsNotNone(env.id)
|
31
|
-
self.assertEqual(env.display_name, env_name)
|
32
|
-
new_name = env_name + "2"
|
33
|
-
env2 = fc.update_environment(workspace_id, env.id, display_name=new_name, return_item=True)
|
34
|
-
|
35
|
-
env = fc.get_environment(workspace_id, environment_id=env.id)
|
36
|
-
self.assertEqual(env.display_name, new_name)
|
37
|
-
self.assertEqual(env.id, env2.id)
|
38
|
-
|
39
|
-
status_code = fc.delete_environment(workspace_id, env.id)
|
40
|
-
self.assertEqual(status_code, 200)
|
41
|
-
|
42
|
-
def test_environment_details(self):
|
43
|
-
fc = FabricClientCore()
|
44
|
-
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
45
|
-
environment_id = '5648be67-28fa-48b6-9d1f-3c87c3704d3c'
|
46
|
-
published_settings = fc.get_published_settings(workspace_id=workspace_id, environment_id=environment_id)
|
47
|
-
self.assertIsNotNone(published_settings)
|
48
|
-
self.assertIn("instancePool", published_settings)
|
49
|
-
self.assertIn("dynamicExecutorAllocation", published_settings)
|
50
|
-
staging_settings = fc.get_staging_settings(workspace_id=workspace_id, environment_id=environment_id)
|
51
|
-
self.assertIsNotNone(staging_settings)
|
52
|
-
self.assertIn("instancePool", staging_settings)
|
53
|
-
self.assertIn("dynamicExecutorAllocation", staging_settings)
|
54
|
-
if staging_settings["driverCores"] == 8:
|
55
|
-
driver_cores = 4
|
56
|
-
else:
|
57
|
-
driver_cores = 8
|
58
|
-
updated_settings = fc.update_staging_settings(workspace_id=workspace_id, environment_id=environment_id, driver_cores=driver_cores)
|
59
|
-
self.assertIn("instancePool", updated_settings)
|
60
|
-
self.assertIn("dynamicExecutorAllocation", updated_settings)
|
61
|
-
self.assertEqual(updated_settings["driverCores"], driver_cores)
|
62
|
-
updated_settings = fc.get_staging_settings(workspace_id=workspace_id, environment_id=environment_id)
|
63
|
-
self.assertIn("instancePool", updated_settings)
|
64
|
-
self.assertIn("dynamicExecutorAllocation", updated_settings)
|
65
|
-
self.assertEqual(updated_settings["driverCores"], driver_cores)
|
66
|
-
|
67
|
-
|
68
|
-
def test_environment_spark_libraries(self):
|
69
|
-
fc = self.fc
|
70
|
-
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
71
|
-
environment_id = '5648be67-28fa-48b6-9d1f-3c87c3704d3c'
|
72
|
-
|
73
|
-
resp = fc.get_published_libraries(workspace_id, environment_id)
|
74
|
-
self.assertIn('customLibraries', resp)
|
75
|
-
self.assertIn('wheelFiles', resp['customLibraries'])
|
76
|
-
self.assertIn('msfabricpysdkcore-0.1.1-py3-none-any.whl', resp['customLibraries']['wheelFiles'])
|
77
|
-
|
78
|
-
resp = fc.upload_staging_library(workspace_id, environment_id, 'dummy.whl')
|
79
|
-
self.assertEqual(resp.status_code, 200)
|
80
|
-
|
81
|
-
resp = fc.get_staging_libraries(workspace_id, environment_id)
|
82
|
-
|
83
|
-
self.assertIn('customLibraries', resp)
|
84
|
-
self.assertIn('wheelFiles', resp['customLibraries'])
|
85
|
-
self.assertIn('dummy.whl', resp['customLibraries']['wheelFiles'])
|
86
|
-
self.assertIn('staging.whl', resp['customLibraries']['wheelFiles'])
|
87
|
-
|
88
|
-
|
89
|
-
resp = fc.publish_environment(workspace_id, environment_id)
|
90
|
-
self.assertIn('publishDetails', resp)
|
91
|
-
self.assertIn('state', resp['publishDetails'])
|
92
|
-
self.assertEqual(resp['publishDetails']['state'].lower(), 'running')
|
93
|
-
|
94
|
-
|
95
|
-
resp = fc.cancel_publish(workspace_id, environment_id)
|
96
|
-
self.assertIn('publishDetails', resp)
|
97
|
-
self.assertIn('state', resp['publishDetails'])
|
98
|
-
self.assertEqual(resp['publishDetails']['state'].lower(), 'cancelled')
|
99
|
-
|
100
|
-
resp = fc.delete_staging_library(workspace_id, environment_id, 'dummy.whl')
|
101
|
-
self.assertEqual(resp.status_code, 200)
|
102
|
-
|
103
|
-
resp = fc.get_staging_libraries(workspace_id, environment_id)
|
104
|
-
|
105
|
-
self.assertIn('customLibraries', resp)
|
106
|
-
self.assertIn('wheelFiles', resp['customLibraries'])
|
107
|
-
self.assertNotIn('dummy.whl', resp['customLibraries']['wheelFiles'])
|
108
|
-
self.assertIn('staging.whl', resp['customLibraries']['wheelFiles'])
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
@@ -1,56 +0,0 @@
|
|
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
|
-
|
22
|
-
def test_eventhouses(self):
|
23
|
-
|
24
|
-
fc = self.fc
|
25
|
-
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
26
|
-
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
27
|
-
eventhouse_name = "evh" + datetime_str
|
28
|
-
eventhouse1 = fc.create_eventhouse(workspace_id, display_name=eventhouse_name)
|
29
|
-
self.assertEqual(eventhouse1.display_name, eventhouse_name)
|
30
|
-
|
31
|
-
eventhouses = fc.list_eventhouses(workspace_id)
|
32
|
-
eventhouse_names = [eh.display_name for eh in eventhouses]
|
33
|
-
self.assertGreater(len(eventhouses), 0)
|
34
|
-
self.assertIn(eventhouse_name, eventhouse_names)
|
35
|
-
|
36
|
-
eh = fc.get_eventhouse(workspace_id, eventhouse_name=eventhouse_name)
|
37
|
-
self.assertIsNotNone(eh.id)
|
38
|
-
self.assertEqual(eh.display_name, eventhouse_name)
|
39
|
-
new_display_name = eventhouse_name + "2"
|
40
|
-
eh2 = fc.update_eventhouse(workspace_id, eh.id, display_name=new_display_name, return_item=True)
|
41
|
-
|
42
|
-
definition = fc.get_eventhouse_definition(workspace_id, eventhouse_id=eh.id)
|
43
|
-
|
44
|
-
self.assertIn("definition", definition)
|
45
|
-
self.assertIn("parts", definition["definition"])
|
46
|
-
self.assertGreaterEqual(len(definition["definition"]["parts"]), 2)
|
47
|
-
|
48
|
-
response = fc.update_eventhouse_definition(workspace_id, eventhouse_id=eh.id, definition=definition["definition"])
|
49
|
-
self.assertIn(response.status_code, [200, 202])
|
50
|
-
|
51
|
-
eh = fc.get_eventhouse(workspace_id, eventhouse_id=eh.id)
|
52
|
-
self.assertEqual(eh.display_name, new_display_name)
|
53
|
-
self.assertEqual(eh.id, eh2.id)
|
54
|
-
|
55
|
-
status_code = fc.delete_eventhouse(workspace_id, eh.id)
|
56
|
-
self.assertEqual(status_code, 200)
|
@@ -1,52 +0,0 @@
|
|
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_eventstreams(self):
|
17
|
-
|
18
|
-
fc = self.fc
|
19
|
-
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
20
|
-
|
21
|
-
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
22
|
-
es_name = "es" + datetime_str
|
23
|
-
|
24
|
-
eventstream = fc.create_eventstream(workspace_id, display_name=es_name)
|
25
|
-
self.assertEqual(eventstream.display_name, es_name)
|
26
|
-
|
27
|
-
eventstreams = fc.list_eventstreams(workspace_id)
|
28
|
-
eventstream_names = [es.display_name for es in eventstreams]
|
29
|
-
self.assertGreater(len(eventstreams), 0)
|
30
|
-
self.assertIn(es_name, eventstream_names)
|
31
|
-
|
32
|
-
|
33
|
-
es = fc.get_eventstream(workspace_id, eventstream_name=es_name)
|
34
|
-
self.assertIsNotNone(es.id)
|
35
|
-
self.assertEqual(es.display_name, es_name)
|
36
|
-
|
37
|
-
es2 = fc.update_eventstream(workspace_id, es.id, display_name=f"{es_name}2", return_item=True)
|
38
|
-
|
39
|
-
es = fc.get_eventstream(workspace_id, eventstream_id=es.id)
|
40
|
-
self.assertEqual(es.display_name, f"{es_name}2")
|
41
|
-
self.assertEqual(es.id, es2.id)
|
42
|
-
|
43
|
-
response = fc.update_eventstream_definition(workspace_id, eventstream_id=es.id, definition=es.definition)
|
44
|
-
self.assertIn(response.status_code, [200, 202])
|
45
|
-
|
46
|
-
definition = fc.get_eventstream_definition(workspace_id, eventstream_id=es.id)
|
47
|
-
self.assertIn("definition", definition)
|
48
|
-
self.assertIn("parts", definition["definition"])
|
49
|
-
self.assertGreaterEqual(len(definition["definition"]["parts"]), 3)
|
50
|
-
|
51
|
-
status_code = fc.delete_eventstream(workspace_id, es.id)
|
52
|
-
self.assertEqual(status_code, 200)
|
@@ -1,82 +0,0 @@
|
|
1
|
-
|
2
|
-
# import unittest
|
3
|
-
# from dotenv import load_dotenv
|
4
|
-
# from msfabricpysdkcore import FabricClientCore
|
5
|
-
# from datetime import datetime
|
6
|
-
# from time import sleep
|
7
|
-
# load_dotenv()
|
8
|
-
|
9
|
-
# class TestFabricClientCore(unittest.TestCase):
|
10
|
-
|
11
|
-
# def __init__(self, *args, **kwargs):
|
12
|
-
# super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
13
|
-
|
14
|
-
# def test_eventstream_topology(self):
|
15
|
-
|
16
|
-
# fcc = FabricClientCore()
|
17
|
-
|
18
|
-
# workspace_id = "05bc5baa-ef02-4a31-ab20-158a478151d3"
|
19
|
-
|
20
|
-
# item_id = "94f4b54b-980b-43f9-8b67-ded8028cf1b9"
|
21
|
-
# custom_destination_id = "acd90d61-2792-4494-9f17-c822f2fb984d"
|
22
|
-
# custom_source_id = "9f382928-7d42-43f9-b02b-1b1352ad3ecd"
|
23
|
-
# source_id = "e58db369-e473-40f4-bedd-022b60540b17"
|
24
|
-
# destination_id = "2446e6cf-98c9-45cb-a102-78d2ca3eb257"
|
25
|
-
|
26
|
-
|
27
|
-
# topology = fcc.get_eventstream_topology(workspace_id, item_id)
|
28
|
-
# self.assertIsNotNone(topology)
|
29
|
-
# self.assertIn("sources", topology)
|
30
|
-
# self.assertIn("destinations", topology)
|
31
|
-
|
32
|
-
# destination = fcc.get_eventstream_destination(workspace_id, item_id, destination_id)
|
33
|
-
# self.assertIsNotNone(destination)
|
34
|
-
# self.assertEqual(destination["id"], destination_id)
|
35
|
-
|
36
|
-
# destination_conn = fcc.get_eventstream_destination_connection(workspace_id, item_id, custom_destination_id)
|
37
|
-
# self.assertIsNotNone(destination_conn)
|
38
|
-
# self.assertIn("fullyQualifiedNamespace", destination_conn)
|
39
|
-
|
40
|
-
# source = fcc.get_eventstream_source(workspace_id, item_id, source_id)
|
41
|
-
# self.assertIsNotNone(source)
|
42
|
-
# self.assertEqual(source["id"], source_id)
|
43
|
-
|
44
|
-
# source_conn = fcc.get_eventstream_source_connection(workspace_id, item_id, custom_source_id)
|
45
|
-
# self.assertIsNotNone(source_conn)
|
46
|
-
# self.assertIn("fullyQualifiedNamespace", source_conn)
|
47
|
-
|
48
|
-
# resp = fcc.pause_eventstream(workspace_id, item_id)
|
49
|
-
# self.assertEqual(resp, 200)
|
50
|
-
|
51
|
-
# def resume():
|
52
|
-
# resp = fcc.resume_eventstream(workspace_id, item_id, start_type="Now")
|
53
|
-
# self.assertEqual(resp, 200)
|
54
|
-
|
55
|
-
# for _ in range(12):
|
56
|
-
# try:
|
57
|
-
# resume()
|
58
|
-
# break
|
59
|
-
# except Exception as e:
|
60
|
-
# sleep(5)
|
61
|
-
|
62
|
-
# resp = fcc.pause_eventstream_source(workspace_id, item_id, source_id)
|
63
|
-
# self.assertEqual(resp, 200)
|
64
|
-
|
65
|
-
# resp = fcc.pause_eventstream_destination(workspace_id, item_id, destination_id)
|
66
|
-
# self.assertEqual(resp, 200)
|
67
|
-
|
68
|
-
# resp = fcc.resume_eventstream_source(workspace_id, item_id, source_id, start_type="Now")
|
69
|
-
# self.assertEqual(resp, 200)
|
70
|
-
|
71
|
-
# def resume():
|
72
|
-
# resp = fcc.resume_eventstream_destination(workspace_id, item_id, destination_id, start_type="Now")
|
73
|
-
# self.assertEqual(resp, 200)
|
74
|
-
|
75
|
-
# for _ in range(12):
|
76
|
-
# try:
|
77
|
-
# resume()
|
78
|
-
# break
|
79
|
-
# except Exception as e:
|
80
|
-
# sleep(5)
|
81
|
-
|
82
|
-
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import unittest
|
2
|
-
from dotenv import load_dotenv
|
3
|
-
from msfabricpysdkcore.coreapi import FabricClientCore
|
4
|
-
|
5
|
-
load_dotenv()
|
6
|
-
|
7
|
-
class TestFabricClientCore(unittest.TestCase):
|
8
|
-
|
9
|
-
def __init__(self, *args, **kwargs):
|
10
|
-
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
11
|
-
self.fc = FabricClientCore()
|
12
|
-
|
13
|
-
def test_external_data_shares(self):
|
14
|
-
|
15
|
-
fc = self.fc
|
16
|
-
|
17
|
-
workspace_id = '63aa9e13-4912-4abe-9156-8a56e565b7a3'
|
18
|
-
item_id = "148ef579-4a5d-4048-8a48-0a703c5e3a1a"
|
19
|
-
|
20
|
-
recipient = {
|
21
|
-
"userPrincipalName": "lisa4@fabrikam.com"
|
22
|
-
}
|
23
|
-
paths=["Files/to_share"]
|
24
|
-
|
25
|
-
resp = fc.create_external_data_share(workspace_id, item_id, paths, recipient)
|
26
|
-
self.assertIsNotNone(resp)
|
27
|
-
self.assertIn('id', resp)
|
28
|
-
|
29
|
-
|
30
|
-
get = fc.get_external_data_share(workspace_id, item_id, resp['id'])
|
31
|
-
self.assertIsNotNone(get)
|
32
|
-
self.assertEqual(get['id'], resp['id'])
|
33
|
-
|
34
|
-
|
35
|
-
resp = fc.list_external_data_shares_in_item(workspace_id, item_id)
|
36
|
-
self.assertGreater(len(resp), 0)
|
37
|
-
|
38
|
-
data_share_ids = [ds['id'] for ds in resp]
|
39
|
-
self.assertIn(get['id'], data_share_ids)
|
40
|
-
|
41
|
-
|
42
|
-
resp = fc.revoke_external_data_share(workspace_id, item_id, get['id'])
|
43
|
-
self.assertEqual(resp, 200)
|
44
|
-
|
45
|
-
get2 = fc.get_external_data_share(workspace_id, item_id, get['id'])
|
46
|
-
self.assertIsNotNone(get2)
|
47
|
-
|
48
|
-
self.assertEqual(get['id'], get2['id'])
|
49
|
-
self.assertEqual(get2['status'], 'Revoked')
|
50
|
-
|
51
|
-
|
@@ -1,80 +0,0 @@
|
|
1
|
-
import unittest
|
2
|
-
from dotenv import load_dotenv
|
3
|
-
from datetime import datetime
|
4
|
-
from time import sleep
|
5
|
-
from msfabricpysdkcore import FabricAzureClient
|
6
|
-
|
7
|
-
load_dotenv()
|
8
|
-
|
9
|
-
|
10
|
-
class TestFabricClientCore(unittest.TestCase):
|
11
|
-
|
12
|
-
def __init__(self, *args, **kwargs):
|
13
|
-
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
14
|
-
#load_dotenv()
|
15
|
-
self.fac = FabricAzureClient()
|
16
|
-
|
17
|
-
def test_azure_capacity(self):
|
18
|
-
|
19
|
-
fac = self.fac
|
20
|
-
|
21
|
-
subscription_id = "c77cc8fc-43bb-4d44-bdc5-6e20511ed2a8"
|
22
|
-
resource_group_name = "fabricdemo"
|
23
|
-
capacity_name = "westeuropeajrederer"
|
24
|
-
capacity_name_new = "westeuropeajrederer" + datetime.now().strftime("%Y%m%d%H%M%S")
|
25
|
-
|
26
|
-
resp = fac.check_name_availability(subscription_id, "westeurope", capacity_name_new)
|
27
|
-
self.assertIn('nameAvailable', resp)
|
28
|
-
self.assertEqual(resp['nameAvailable'], True)
|
29
|
-
|
30
|
-
resp = fac.create_or_update_capacity(subscription_id, resource_group_name, capacity_name_new,
|
31
|
-
location="westeurope",
|
32
|
-
properties_administration={"members": ['admin@MngEnvMCAP065039.onmicrosoft.com']},
|
33
|
-
sku = "F2")
|
34
|
-
self.assertIsNotNone(resp.name)
|
35
|
-
self.assertEqual(resp.name, capacity_name_new)
|
36
|
-
|
37
|
-
resp = fac.get_capacity(subscription_id, resource_group_name, capacity_name_new)
|
38
|
-
self.assertIsNotNone(resp.name)
|
39
|
-
self.assertEqual(resp.name, capacity_name_new)
|
40
|
-
|
41
|
-
sku = resp.sku['name']
|
42
|
-
|
43
|
-
sleep(60)
|
44
|
-
|
45
|
-
resp = fac.delete_capacity(subscription_id, resource_group_name, capacity_name_new)
|
46
|
-
self.assertEqual(resp.status_code, 202)
|
47
|
-
|
48
|
-
|
49
|
-
resp = fac.list_by_resource_group(subscription_id, resource_group_name)
|
50
|
-
cap_names = [cap["name"] for cap in resp]
|
51
|
-
self.assertIn(capacity_name, cap_names)
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
resp = fac.list_by_subscription(subscription_id)
|
56
|
-
cap_names = [cap["name"] for cap in resp]
|
57
|
-
self.assertIn(capacity_name, cap_names)
|
58
|
-
|
59
|
-
|
60
|
-
resp = fac.list_skus(subscription_id)
|
61
|
-
self.assertGreater(len(resp), 0, msg=f"No SKUs found: {resp}")
|
62
|
-
|
63
|
-
|
64
|
-
resp = fac.list_skus_for_capacity(subscription_id, resource_group_name, capacity_name)
|
65
|
-
self.assertGreater(len(resp), 0, msg=f"No SKUs found: {resp}")
|
66
|
-
|
67
|
-
resp = fac.resume_capacity(subscription_id, resource_group_name, capacity_name)
|
68
|
-
self.assertEqual(resp.status_code, 202)
|
69
|
-
|
70
|
-
sleep(60)
|
71
|
-
resp = fac.suspend_capacity(subscription_id, resource_group_name, capacity_name)
|
72
|
-
self.assertEqual(resp.status_code, 202)
|
73
|
-
sleep(60)
|
74
|
-
|
75
|
-
if sku != "F4":
|
76
|
-
resp = fac.update_capacity(subscription_id, resource_group_name, capacity_name, sku="F4")
|
77
|
-
self.assertEqual(resp.sku["name"], "F4")
|
78
|
-
else:
|
79
|
-
resp = fac.update_capacity(subscription_id, resource_group_name, capacity_name, sku="F2")
|
80
|
-
self.assertEqual(resp.sku["name"], "F2")
|
@@ -1,53 +0,0 @@
|
|
1
|
-
import unittest
|
2
|
-
from dotenv import load_dotenv
|
3
|
-
from msfabricpysdkcore import FabricClientCore
|
4
|
-
|
5
|
-
load_dotenv()
|
6
|
-
|
7
|
-
class TestFabricClientCore(unittest.TestCase):
|
8
|
-
|
9
|
-
def __init__(self, *args, **kwargs):
|
10
|
-
super(TestFabricClientCore, self).__init__(*args, **kwargs)
|
11
|
-
self.fcc = FabricClientCore()
|
12
|
-
|
13
|
-
def test_folders(self):
|
14
|
-
fcc = self.fcc
|
15
|
-
|
16
|
-
workspace_id = "05bc5baa-ef02-4a31-ab20-158a478151d3"
|
17
|
-
folder_id = "d4f3a9fb-6975-4f5c-9c6b-ca205280966f"
|
18
|
-
|
19
|
-
folder = fcc.create_folder(workspace_id=workspace_id, display_name="sdk_sub_folder", parent_folder_id=folder_id)
|
20
|
-
self.assertIsNotNone(folder)
|
21
|
-
self.assertEqual(folder.display_name, "sdk_sub_folder")
|
22
|
-
|
23
|
-
folder_ = fcc.get_folder(workspace_id=workspace_id, folder_id=folder.id)
|
24
|
-
self.assertEqual(folder.id, folder_.id)
|
25
|
-
|
26
|
-
folders = fcc.list_folders(workspace_id=workspace_id)
|
27
|
-
folders = [folder for folder in folders if folder.display_name == "sdk_sub_folder"]
|
28
|
-
self.assertGreater(len(folders), 0)
|
29
|
-
|
30
|
-
folder = fcc.update_folder(workspace_id=workspace_id, folder_id=folder.id, display_name="sdk_sub_folder_updated")
|
31
|
-
self.assertEqual(folder.display_name, "sdk_sub_folder_updated")
|
32
|
-
|
33
|
-
folder = fcc.move_folder(workspace_id=workspace_id, folder_id=folder.id)
|
34
|
-
self.assertEqual(folder.display_name, "sdk_sub_folder_updated")
|
35
|
-
self.assertEqual(folder.parent_folder_id, "")
|
36
|
-
|
37
|
-
folders = fcc.list_folders(workspace_id=workspace_id)
|
38
|
-
|
39
|
-
for f in folders:
|
40
|
-
if f.display_name != "sdk_folder":
|
41
|
-
f.delete()
|
42
|
-
|
43
|
-
folders = fcc.list_folders(workspace_id=workspace_id)
|
44
|
-
self.assertEqual(len(folders), 1)
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
@@ -1,99 +0,0 @@
|
|
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_gateways(self):
|
17
|
-
|
18
|
-
fc = self.fc
|
19
|
-
|
20
|
-
gateways = fc.list_gateways()
|
21
|
-
|
22
|
-
for gw in gateways:
|
23
|
-
if "publicKey" not in gw:
|
24
|
-
fc.delete_gateway(gw['id'])
|
25
|
-
if "publicKey" in gw:
|
26
|
-
gw_id = gw['id']
|
27
|
-
|
28
|
-
datetime_str = datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
|
29
|
-
display_name = 'fabricvnet-' + datetime_str
|
30
|
-
gwr = {'displayName': display_name,
|
31
|
-
'capacityId': '339c785f-4489-46ae-a649-e049e7610479',
|
32
|
-
'virtualNetworkAzureResource': {'virtualNetworkName': 'fabricvnet',
|
33
|
-
'subnetName': 'default3',
|
34
|
-
'resourceGroupName': 'fabricdemo',
|
35
|
-
'subscriptionId': 'c77cc8fc-43bb-4d44-bdc5-6e20511ed2a8'},
|
36
|
-
'inactivityMinutesBeforeSleep': 30,
|
37
|
-
'numberOfMemberGateways': 2,
|
38
|
-
'type': 'VirtualNetwork'}
|
39
|
-
|
40
|
-
gw = fc.create_gateway(gwr)
|
41
|
-
self.assertEqual(gw['displayName'], gwr['displayName'])
|
42
|
-
|
43
|
-
gateways = fc.list_gateways()
|
44
|
-
self.assertEqual(len(gateways), 2)
|
45
|
-
|
46
|
-
gateways = [g for g in gateways if g['displayName'] == display_name]
|
47
|
-
gw = gateways[0]
|
48
|
-
|
49
|
-
ras = fc.list_gateway_role_assignments(gw['id'])
|
50
|
-
self.assertEqual(len(ras), 1)
|
51
|
-
|
52
|
-
principal = {"id" : "755f273c-98f8-408c-a886-691794938bd8",
|
53
|
-
"type" : "ServicePrincipal"}
|
54
|
-
|
55
|
-
new_ras = fc.add_gateway_role_assignment(gw['id'], principal, 'ConnectionCreator')
|
56
|
-
self.assertIn("id", new_ras)
|
57
|
-
self.assertEqual(2, len(fc.list_gateway_role_assignments(gw['id'])))
|
58
|
-
|
59
|
-
new_ras = fc.update_gateway_role_assignment(gw['id'], new_ras['id'], 'Admin')
|
60
|
-
self.assertEqual('Admin', new_ras['role'])
|
61
|
-
|
62
|
-
new_ras_ = fc.get_gateway_role_assignment(gw['id'], new_ras['id'])
|
63
|
-
self.assertEqual('Admin', new_ras_['role'])
|
64
|
-
self.assertEqual(new_ras['id'], new_ras_['id'])
|
65
|
-
|
66
|
-
resp_code = fc.delete_gateway_role_assignment(gw['id'], new_ras['id'])
|
67
|
-
self.assertEqual(200, resp_code)
|
68
|
-
self.assertEqual(1, len(fc.list_gateway_role_assignments(gw['id'])))
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
gw_members = fc.list_gateway_members(gw_id)
|
73
|
-
self.assertGreater(len(gw_members), 0)
|
74
|
-
self.assertIn('id', gw_members[0])
|
75
|
-
self.assertIn('displayName', gw_members[0])
|
76
|
-
|
77
|
-
display_name_member = "surface_desktop" + datetime_str
|
78
|
-
|
79
|
-
gw_member = fc.update_gateway_member(gateway_id = gw_id, gateway_member_id = gw_id, display_name=display_name_member, enabled=True)
|
80
|
-
self.assertEqual(display_name_member, gw_member['displayName'])
|
81
|
-
|
82
|
-
gw_ = fc.get_gateway(gw["id"])
|
83
|
-
self.assertEqual(display_name, gw_['displayName'])
|
84
|
-
|
85
|
-
gwr = {
|
86
|
-
"type": "OnPremises",
|
87
|
-
"displayName": display_name,
|
88
|
-
"loadBalancingSetting": "Failover",
|
89
|
-
"allowCloudConnectionRefresh": False,
|
90
|
-
"allowCustomConnectors": False
|
91
|
-
}
|
92
|
-
|
93
|
-
gw_ = fc.update_gateway(gw_id, gwr)
|
94
|
-
self.assertEqual(display_name, gw_['displayName'])
|
95
|
-
|
96
|
-
resp_code = fc.delete_gateway(gw["id"])
|
97
|
-
self.assertEqual(200, resp_code)
|
98
|
-
|
99
|
-
self.assertEqual(len(fc.list_gateways()), 1)
|
@@ -1,66 +0,0 @@
|
|
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
|
-
|
15
|
-
def test_git(self):
|
16
|
-
|
17
|
-
datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
|
18
|
-
ws2_name = "git" + datetime_str
|
19
|
-
self.fc.create_workspace(display_name=ws2_name)
|
20
|
-
ws2 = self.fc.get_workspace_by_name(name=ws2_name)
|
21
|
-
self.fc.assign_to_capacity(workspace_id=ws2.id, capacity_id="840a6c1e-5289-4094-bbc8-716daabaeeba")
|
22
|
-
|
23
|
-
git_provider_details = {'organizationName': 'MngEnvMCAP065039',
|
24
|
-
'projectName': 'fabricdevops',
|
25
|
-
'gitProviderType': 'AzureDevOps',
|
26
|
-
'repositoryName': 'fabricdevops',
|
27
|
-
'branchName': 'main',
|
28
|
-
'directoryName': '/sdkdemoRTI'}
|
29
|
-
|
30
|
-
status_code = self.fc.git_connect(workspace_id=ws2.id, git_provider_details=git_provider_details)
|
31
|
-
|
32
|
-
self.assertEqual(status_code, 200)
|
33
|
-
|
34
|
-
initialization_strategy = "PreferWorkspace"
|
35
|
-
|
36
|
-
status_code = self.fc.git_initialize_connection(workspace_id=ws2.id, initialization_strategy=initialization_strategy)
|
37
|
-
self.assertEqual(status_code, 200)
|
38
|
-
|
39
|
-
connection_details = self.fc.git_get_connection(workspace_id=ws2.id)
|
40
|
-
self.assertEqual(connection_details['gitConnectionState'], 'ConnectedAndInitialized')
|
41
|
-
|
42
|
-
status = self.fc.git_get_status(workspace_id=ws2.id)
|
43
|
-
self.assertTrue(len(status["changes"]) > 0)
|
44
|
-
|
45
|
-
git_credentials = self.fc.get_my_git_credentials('e624ffea-990e-482c-b27c-4ed5adae73c6')
|
46
|
-
self.assertTrue(git_credentials["source"] == "Automatic")
|
47
|
-
|
48
|
-
status_code = self.fc.update_from_git(workspace_id=ws2.id, remote_commit_hash=status["remoteCommitHash"])
|
49
|
-
|
50
|
-
self.assertEqual(status_code, 202)
|
51
|
-
|
52
|
-
blubb_lakehouse = False
|
53
|
-
for item in ws2.list_items():
|
54
|
-
if item.type == "Lakehouse" and item.display_name == "blubb":
|
55
|
-
blubb_lakehouse = True
|
56
|
-
|
57
|
-
self.assertTrue(blubb_lakehouse)
|
58
|
-
|
59
|
-
status_code = self.fc.git_disconnect(workspace_id=ws2.id)
|
60
|
-
|
61
|
-
self.assertEqual(status_code, 200)
|
62
|
-
|
63
|
-
ws2.delete()
|
64
|
-
|
65
|
-
if __name__ == "__main__":
|
66
|
-
unittest.main()
|