msfabricpysdkcore 0.0.5__py3-none-any.whl → 0.0.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.
@@ -1,6 +1,6 @@
1
1
  import unittest
2
2
  from datetime import datetime
3
- from dotenv import load_dotenv
3
+ #from dotenv import load_dotenv
4
4
  from time import sleep
5
5
  from msfabricpysdkcore.coreapi import FabricClientCore
6
6
 
@@ -71,14 +71,34 @@ class TestFabricClientCore(unittest.TestCase):
71
71
  blubb2.delete()
72
72
  blubb3.delete()
73
73
 
74
- def test_warehouse(self):
75
- warehouse = self.fc.get_item(workspace_id=self.workspace_id, item_name="testitem20240404134030", item_type="Warehouse")
76
- self.assertIsNotNone(warehouse.properties)
77
74
 
78
- def test_spark_job_definition(self):
79
- spark_job_definition = self.fc.get_item(workspace_id=self.workspace_id,
80
- item_name="blubb", item_type="SparkJobDefinition")
81
- self.assertIsNotNone(spark_job_definition.properties)
75
+ def test_list_other_items(self):
76
+
77
+ fc = self.fc
78
+
79
+ workspace = fc.get_workspace_by_name("testitems")
80
+ workspace_id = workspace.id
81
+
82
+ list_dashboards = fc.list_dashboards(workspace_id)
83
+ dashboard_names = [dashboard.display_name for dashboard in list_dashboards]
84
+ self.assertGreater(len(list_dashboards), 0)
85
+ self.assertIn("dashboard1", dashboard_names)
86
+
87
+ list_datamarts = fc.list_datamarts(workspace_id)
88
+ datamart_names = [datamart.display_name for datamart in list_datamarts]
89
+ self.assertGreater(len(list_datamarts), 0)
90
+ self.assertIn("datamart1", datamart_names)
91
+
92
+ list_sql_endpoints = fc.list_sql_endpoints(workspace_id)
93
+ sqlendpoint_names = [sqlendpoint.display_name for sqlendpoint in list_sql_endpoints]
94
+ self.assertGreater(len(list_sql_endpoints), 0)
95
+ self.assertIn("sqlendpointlakehouse", sqlendpoint_names)
96
+
97
+ # list_mirrored_warehouses = fc.list_mirrored_warehouses(self.workspace_id)
98
+ # self.assertGreater(len(list_mirrored_warehouses), 0)
99
+
100
+ # list_paginated_reports = fc.list_paginated_reports(self.workspace_id)
101
+ # self.assertGreater(len(list_paginated_reports), 0)
82
102
 
83
103
  def test_lakehouse(self):
84
104
 
@@ -99,5 +119,366 @@ class TestFabricClientCore(unittest.TestCase):
99
119
 
100
120
  self.assertIn(table_name, table_names)
101
121
 
122
+ fc = self.fc
123
+ workspace = fc.get_workspace_by_name("testitems")
124
+ workspace_id = workspace.id
125
+
126
+ lakehouse = fc.create_lakehouse(workspace_id=workspace_id, display_name="lakehouse2")
127
+ self.assertIsNotNone(lakehouse.id)
128
+
129
+ lakehouses = fc.list_lakehouses(workspace_id)
130
+ lakehouse_names = [lh.display_name for lh in lakehouses]
131
+ self.assertGreater(len(lakehouse_names), 0)
132
+ self.assertIn("lakehouse2", lakehouse_names)
133
+
134
+ lakehouse2 = fc.get_lakehouse(workspace_id=workspace_id, lakehouse_id=lakehouse.id)
135
+ self.assertEqual(lakehouse.id, lakehouse2.id)
136
+
137
+ sleep(20)
138
+ lakehouse2 = fc.update_lakehouse(workspace_id=workspace_id, lakehouse_id=lakehouse.id, display_name="lakehouse3")
139
+ self.assertEqual(lakehouse2.display_name, "lakehouse3")
140
+
141
+ id = lakehouse2.id
142
+
143
+ lakehouse2 = fc.get_lakehouse(workspace_id=workspace_id, lakehouse_name="lakehouse3")
144
+ self.assertEqual(lakehouse2.id, id)
145
+
146
+ status_code = fc.delete_lakehouse(workspace_id=workspace_id, lakehouse_id=lakehouse.id)
147
+ self.assertEqual(status_code, 200)
148
+
149
+
150
+ def test_data_pipelines(self):
151
+
152
+ fc = self.fc
153
+ workspace = fc.get_workspace_by_name("testitems")
154
+ workspace_id = workspace.id
155
+
156
+ dps = fc.list_data_pipelines(workspace_id)
157
+ dp_names = [dp.display_name for dp in dps]
158
+ self.assertGreater(len(dps), 0)
159
+ self.assertIn("pipeline1", dp_names)
160
+
161
+ dp = fc.get_data_pipeline(workspace_id, data_pipeline_name="pipeline1")
162
+ self.assertIsNotNone(dp.id)
163
+ self.assertIsNotNone(dp.definition)
164
+ self.assertEqual(dp.display_name, "pipeline1")
165
+
166
+ dp2 = fc.update_data_pipeline(workspace_id, dp.id, display_name="pipeline2")
167
+
168
+ dp = fc.get_data_pipeline(workspace_id, data_pipeline_id=dp.id)
169
+ self.assertEqual(dp.display_name, "pipeline2")
170
+ self.assertEqual(dp.id, dp2.id)
171
+
172
+ dp2 = fc.update_data_pipeline(workspace_id, dp.id, display_name="pipeline1")
173
+
174
+ dp = fc.get_data_pipeline(workspace_id, data_pipeline_id=dp.id)
175
+ self.assertEqual(dp.display_name, "pipeline1")
176
+ self.assertEqual(dp.id, dp2.id)
177
+ # status_code = fc.delete_data_pipeline(workspace_id, dp.id)
178
+ # self.assertEqual(status_code, 200)
179
+
180
+ def test_eventstreams(self):
181
+
182
+ fc = self.fc
183
+ workspace = fc.get_workspace_by_name("testitems")
184
+ workspace_id = workspace.id
185
+
186
+ datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
187
+ es_name = "es" + datetime_str
188
+
189
+ eventstream = fc.create_eventstream(workspace_id, display_name=es_name)
190
+ self.assertEqual(eventstream.display_name, es_name)
191
+
192
+ eventstreams = fc.list_eventstreams(workspace_id)
193
+ eventstream_names = [es.display_name for es in eventstreams]
194
+ self.assertGreater(len(eventstreams), 0)
195
+ self.assertIn(es_name, eventstream_names)
196
+
197
+
198
+ es = fc.get_eventstream(workspace_id, eventstream_name=es_name)
199
+ self.assertIsNotNone(es.id)
200
+ self.assertEqual(es.display_name, es_name)
201
+
202
+ es2 = fc.update_eventstream(workspace_id, es.id, display_name=f"{es_name}2")
203
+
204
+ es = fc.get_eventstream(workspace_id, eventstream_id=es.id)
205
+ self.assertEqual(es.display_name, f"{es_name}2")
206
+ self.assertEqual(es.id, es2.id)
207
+
208
+ status_code = fc.delete_eventstream(workspace_id, es.id)
209
+ self.assertEqual(status_code, 200)
210
+
211
+ def test_kql_database(self):
212
+
213
+ fc = self.fc
214
+ workspace = fc.get_workspace_by_name("testitems")
215
+ workspace_id = workspace.id
216
+
217
+ kql_databases = fc.list_kql_databases(workspace_id)
218
+ kql_database_names = [kqldb.display_name for kqldb in kql_databases]
219
+ self.assertGreater(len(kql_databases), 0)
220
+ self.assertIn("kqldatabase1", kql_database_names)
221
+
222
+ kqldb = fc.get_kql_database(workspace_id, kql_database_name="kqldatabase1")
223
+ self.assertIsNotNone(kqldb.id)
224
+ self.assertEqual(kqldb.display_name, "kqldatabase1")
225
+
226
+ kqldb2 = fc.update_kql_database(workspace_id, kqldb.id, display_name="kqldb2")
227
+
228
+ kqldb = fc.get_kql_database(workspace_id, kql_database_id=kqldb.id)
229
+ self.assertEqual(kqldb.display_name, "kqldb2")
230
+ self.assertEqual(kqldb.id, kqldb2.id)
231
+
232
+ kqldb2 = fc.update_kql_database(workspace_id, kqldb.id, display_name="kqldatabase1")
233
+
234
+ kqldb = fc.get_kql_database(workspace_id, kql_database_id=kqldb.id)
235
+ self.assertEqual(kqldb.display_name, "kqldatabase1")
236
+ self.assertEqual(kqldb.id, kqldb2.id)
237
+ # status_code = fc.delete_kql_database(workspace_id, kqldb.id)
238
+ # self.assertEqual(status_code, 200)
239
+
240
+ def test_kql_querysets(self):
241
+
242
+ fc = self.fc
243
+ workspace = fc.get_workspace_by_name("testitems")
244
+ workspace_id = workspace.id
245
+
246
+ kql_queryset_name = "kqlqueryset1"
247
+
248
+ kql_querysets = fc.list_kql_querysets(workspace_id)
249
+ kql_queryset_names = [kqlq.display_name for kqlq in kql_querysets]
250
+ self.assertGreater(len(kql_querysets), 0)
251
+ self.assertIn(kql_queryset_name, kql_queryset_names)
252
+
253
+ kqlq = fc.get_kql_queryset(workspace_id, kql_queryset_name=kql_queryset_name)
254
+ self.assertIsNotNone(kqlq.id)
255
+ self.assertEqual(kqlq.display_name, kql_queryset_name)
256
+
257
+ kqlq2 = fc.update_kql_queryset(workspace_id, kqlq.id, display_name=f"{kql_queryset_name}2")
258
+
259
+ kqlq = fc.get_kql_queryset(workspace_id, kql_queryset_id=kqlq.id)
260
+ self.assertEqual(kqlq.display_name, f"{kql_queryset_name}2")
261
+ self.assertEqual(kqlq.id, kqlq2.id)
262
+
263
+ kqlq2 = fc.update_kql_queryset(workspace_id, kqlq.id, display_name=kql_queryset_name)
264
+
265
+ kqlq = fc.get_kql_queryset(workspace_id, kql_queryset_id=kqlq.id)
266
+ self.assertEqual(kqlq.display_name, kql_queryset_name)
267
+ self.assertEqual(kqlq.id, kqlq2.id)
268
+
269
+ # status_code = fc.delete_kql_queryset(workspace_id, kqlq.id)
270
+ # self.assertEqual(status_code, 200)
271
+
272
+
273
+ def test_ml_experiments(self):
274
+
275
+ fc = self.fc
276
+ workspace = fc.get_workspace_by_name("testitems")
277
+ workspace_id = workspace.id
278
+
279
+ ml_experiment = fc.create_ml_experiment(workspace_id, display_name="mlexperiment1")
280
+ self.assertEqual(ml_experiment.display_name, "mlexperiment1")
281
+
282
+ ml_experiments = fc.list_ml_experiments(workspace_id)
283
+ ml_experiment_names = [mle.display_name for mle in ml_experiments]
284
+ self.assertGreater(len(ml_experiments), 0)
285
+ self.assertIn("mlexperiment1", ml_experiment_names)
286
+
287
+ mle = fc.get_ml_experiment(workspace_id, ml_experiment_name="mlexperiment1")
288
+ self.assertIsNotNone(mle.id)
289
+ self.assertEqual(mle.display_name, "mlexperiment1")
290
+
291
+ mle2 = fc.update_ml_experiment(workspace_id, mle.id, display_name="mlexperiment2")
292
+
293
+ mle = fc.get_ml_experiment(workspace_id, ml_experiment_id=mle.id)
294
+ self.assertEqual(mle.display_name, "mlexperiment2")
295
+ self.assertEqual(mle.id, mle2.id)
296
+
297
+ status_code = fc.delete_ml_experiment(workspace_id, mle.id)
298
+ self.assertEqual(status_code, 200)
299
+
300
+ def test_ml_models(self):
301
+
302
+ fc = self.fc
303
+ workspace = fc.get_workspace_by_name("testitems")
304
+ workspace_id = workspace.id
305
+
306
+ model_name = "mlmodel12345"
307
+
308
+ ml_model = fc.create_ml_model(workspace_id, display_name=model_name)
309
+ self.assertEqual(ml_model.display_name, model_name)
310
+
311
+ ml_models = fc.list_ml_models(workspace_id)
312
+ ml_model_names = [ml.display_name for ml in ml_models]
313
+ self.assertGreater(len(ml_models), 0)
314
+ self.assertIn(model_name, ml_model_names)
315
+
316
+ mlm = fc.get_ml_model(workspace_id, ml_model_name=model_name)
317
+ self.assertIsNotNone(mlm.id)
318
+ self.assertEqual(mlm.display_name, model_name)
319
+
320
+ # mlm2 = fc.update_ml_model(workspace_id=workspace_id,ml_model_id= mlm.id, description=model_name)
321
+
322
+ # mlm = fc.get_ml_model(workspace_id, ml_model_id=mlm.id)
323
+ # self.assertEqual(mlm.description, model_name)
324
+ # self.assertEqual(mlm.id, mlm2.id)
325
+
326
+ status_code = fc.delete_ml_model(workspace_id, mlm.id)
327
+ self.assertEqual(status_code, 200)
328
+
329
+ def test_notebooks(self):
330
+
331
+ fc = self.fc
332
+ workspace = fc.get_workspace_by_name("testitems")
333
+ workspace_id = workspace.id
334
+
335
+ notebook_name = "notebook125"
336
+
337
+ notebook_w_content = fc.get_notebook(workspace_id, notebook_name="HelloWorld")
338
+ definition = notebook_w_content.definition
339
+
340
+ notebook = fc.create_notebook(workspace_id, definition=definition, display_name=notebook_name)
341
+ fc.update_notebook_definition(workspace_id, notebook.id, definition=definition)
342
+ notebook = fc.get_notebook(workspace_id, notebook_id=notebook.id)
343
+ self.assertEqual(notebook.display_name, notebook_name)
344
+ self.assertIsNotNone(notebook.definition)
345
+
346
+ notebooks = fc.list_notebooks(workspace_id)
347
+ notebook_names = [nb.display_name for nb in notebooks]
348
+ self.assertGreater(len(notebooks), 0)
349
+ self.assertIn(notebook_name, notebook_names)
350
+
351
+ nb = fc.get_notebook(workspace_id, notebook_name=notebook_name)
352
+ self.assertIsNotNone(nb.id)
353
+ self.assertEqual(nb.display_name, notebook_name)
354
+
355
+ nb2 = fc.update_notebook(workspace_id, notebook_id=nb.id, display_name=f"{notebook_name}2")
356
+
357
+ nb = fc.get_notebook(workspace_id, notebook_id=nb.id)
358
+ self.assertEqual(nb.display_name, f"{notebook_name}2")
359
+ self.assertEqual(nb.id, nb2.id)
360
+
361
+ status_code = fc.delete_notebook(workspace_id, nb.id)
362
+ self.assertEqual(status_code, 200)
363
+
364
+ def test_reports(self):
365
+
366
+ fc = self.fc
367
+ workspace = fc.get_workspace_by_name("testitems")
368
+ workspace_id = workspace.id
369
+
370
+ report_name = "report1234"
371
+
372
+ report_w_content = fc.get_report(workspace_id, report_name="HelloWorldReport")
373
+ definition = report_w_content.definition
374
+ report = fc.create_report(workspace_id, display_name=report_name, definition=definition)
375
+ fc.update_report_definition(workspace_id, report.id, definition=definition)
376
+ report = fc.get_report(workspace_id, report_id=report.id)
377
+ self.assertEqual(report.display_name, report_name)
378
+ self.assertIsNotNone(report.definition)
379
+
380
+ reports = fc.list_reports(workspace_id)
381
+ report_names = [r.display_name for r in reports]
382
+ self.assertGreater(len(reports), 0)
383
+ self.assertIn(report_name, report_names)
384
+
385
+ r = fc.get_report(workspace_id, report_name=report_name)
386
+ self.assertIsNotNone(r.id)
387
+ self.assertEqual(r.display_name, report_name)
388
+
389
+ status_code = fc.delete_report(workspace_id, r.id)
390
+ self.assertEqual(status_code, 200)
391
+
392
+ def test_semantic_models(self):
393
+
394
+ fc = self.fc
395
+ workspace = fc.get_workspace_by_name("testitems")
396
+ workspace_id = workspace.id
397
+
398
+ semantic_model_name = "semanticmodel1234"
399
+
400
+ semantic_model_w_content = fc.get_semantic_model(workspace_id, semantic_model_name="Table")
401
+ definition = semantic_model_w_content.definition
402
+ semantic_model = fc.create_semantic_model(workspace_id, display_name=semantic_model_name, definition=definition)
403
+ fc.update_semantic_model_definition(workspace_id, semantic_model.id, definition=definition)
404
+ semantic_model = fc.get_semantic_model(workspace_id, semantic_model_id=semantic_model.id)
405
+ self.assertEqual(semantic_model.display_name, semantic_model_name)
406
+ self.assertIsNotNone(semantic_model.definition)
407
+
408
+ semantic_models = fc.list_semantic_models(workspace_id)
409
+ semantic_model_names = [sm.display_name for sm in semantic_models]
410
+ self.assertGreater(len(semantic_models), 0)
411
+ self.assertIn(semantic_model_name, semantic_model_names)
412
+
413
+ sm = fc.get_semantic_model(workspace_id, semantic_model_name=semantic_model_name)
414
+ self.assertIsNotNone(sm.id)
415
+ self.assertEqual(sm.display_name, semantic_model_name)
416
+
417
+ status_code = fc.delete_semantic_model(workspace_id, sm.id)
418
+ self.assertEqual(status_code, 200)
419
+
420
+
421
+ def test_spark_job_definitions(self):
422
+
423
+ fc = self.fc
424
+ workspace = fc.get_workspace_by_name("testitems")
425
+ workspace_id = workspace.id
426
+
427
+ datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
428
+ spark_job_definition_name = f"sjd{datetime_str}"
429
+
430
+ spark_job_definition_w_content = fc.get_spark_job_definition(workspace_id, spark_job_definition_name="helloworld")
431
+ definition = spark_job_definition_w_content.definition
432
+ spark_job_definition = fc.create_spark_job_definition(workspace_id, display_name=spark_job_definition_name)
433
+ fc.update_spark_job_definition_definition(workspace_id, spark_job_definition.id, definition=definition)
434
+ spark_job_definition = fc.get_spark_job_definition(workspace_id, spark_job_definition_id=spark_job_definition.id)
435
+ self.assertEqual(spark_job_definition.display_name, spark_job_definition_name)
436
+ self.assertIsNotNone(spark_job_definition.definition)
437
+
438
+ spark_job_definitions = fc.list_spark_job_definitions(workspace_id)
439
+ spark_job_definition_names = [sjd.display_name for sjd in spark_job_definitions]
440
+ self.assertGreater(len(spark_job_definitions), 0)
441
+ self.assertIn(spark_job_definition_name, spark_job_definition_names)
442
+
443
+ sjd = fc.get_spark_job_definition(workspace_id, spark_job_definition_name=spark_job_definition_name)
444
+ self.assertIsNotNone(sjd.id)
445
+ self.assertEqual(sjd.display_name, spark_job_definition_name)
446
+
447
+ sjd = fc.update_spark_job_definition(workspace_id, sjd.id, display_name=f"{spark_job_definition_name}2")
448
+ sjd = fc.get_spark_job_definition(workspace_id, spark_job_definition_id=sjd.id)
449
+ self.assertEqual(sjd.display_name, f"{spark_job_definition_name}2")
450
+
451
+ status_code = fc.delete_spark_job_definition(workspace_id, sjd.id)
452
+ self.assertEqual(status_code, 200)
453
+
454
+ def test_warehouses(self):
455
+
456
+ fc = self.fc
457
+ workspace = fc.get_workspace_by_name("testitems")
458
+ workspace_id = workspace.id
459
+
460
+ datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
461
+ warehouse1 = f"wh{datetime_str}"
462
+ warehouse = fc.create_warehouse(workspace_id, display_name=warehouse1)
463
+ self.assertIsNotNone(warehouse.id)
464
+
465
+ warehouses = fc.list_warehouses(workspace_id)
466
+ warehouse_names = [wh.display_name for wh in warehouses]
467
+ self.assertGreater(len(warehouses), 0)
468
+ self.assertIn(warehouse1, warehouse_names)
469
+
470
+ warehouse = fc.get_warehouse(workspace_id, warehouse_name=warehouse1)
471
+ self.assertIsNotNone(warehouse.id)
472
+ self.assertEqual(warehouse.display_name, warehouse1)
473
+
474
+ warehouse2 = fc.update_warehouse(workspace_id, warehouse.id, display_name=f"{warehouse1}2")
475
+ warehouse = fc.get_warehouse(workspace_id, warehouse_id=warehouse.id)
476
+ self.assertEqual(warehouse.display_name, f"{warehouse1}2")
477
+ self.assertEqual(warehouse.id, warehouse2.id)
478
+
479
+ status_code = fc.delete_warehouse(workspace_id, warehouse.id)
480
+ self.assertEqual(status_code, 200)
481
+
482
+
102
483
  if __name__ == "__main__":
103
484
  unittest.main()
@@ -1,7 +1,7 @@
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
5
 
6
6
  class TestFabricClientCore(unittest.TestCase):
7
7
 
@@ -1,9 +1,8 @@
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()
7
6
 
8
7
  class TestFabricClientCore(unittest.TestCase):
9
8