msfabricpysdkcore 0.0.5__py3-none-any.whl → 0.0.6__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.
@@ -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()