msfabricpysdkcore 0.0.10__py3-none-any.whl → 0.0.12__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.
@@ -10,39 +10,56 @@ class TestFabricClientCore(unittest.TestCase):
10
10
 
11
11
  def __init__(self, *args, **kwargs):
12
12
  super(TestFabricClientCore, self).__init__(*args, **kwargs)
13
- #load_dotenv()
14
13
  self.fc = FabricClientCore()
15
- self.workspace_id = "d8a5abe0-9eed-406d-ab46-343bc57ddbe5"
16
14
 
17
-
18
- def test_environments(self):
15
+ def test_environments_crudl(self):
19
16
  fc = self.fc
20
- workspace_id = self.workspace_id
21
-
17
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
22
18
  datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
23
- envname = "testitem" + datetime_str
24
- env1 = fc.create_environment(workspace_id, envname, "testenv description")
25
-
26
- env2 = fc.get_environment(workspace_id, environment_name=envname)
27
-
28
- self.assertEqual(env1.id, env2.id)
29
-
30
- env_list = fc.list_environments(workspace_id, with_properties=True)
31
- env_names = [env.display_name for env in env_list]
32
-
33
- self.assertIn(envname, env_names)
34
-
35
- env3 = fc.update_environment(workspace_id, env1.id, envname + "name", "testenv description updated")
36
-
37
- env4 = fc.get_environment(workspace_id, environment_name=env3.display_name)
38
-
39
- self.assertEqual(env1.id, env4.id)
40
-
41
- fc.delete_environment(workspace_id, env4.id)
42
-
43
- env_list = fc.list_environments(workspace_id, with_properties=True)
44
- env_names = [env.display_name for env in env_list]
45
-
46
- self.assertNotIn(env4.display_name, env_names)
47
19
 
48
-
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)
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 = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
45
+ environment_id = 'fae6d1a7-d671-4091-89b1-f42626deb56f'
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)
@@ -0,0 +1,44 @@
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 = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
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")
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
+ status_code = fc.delete_eventstream(workspace_id, es.id)
44
+ self.assertEqual(status_code, 200)
@@ -30,7 +30,7 @@ class TestFabricClientCore(unittest.TestCase):
30
30
 
31
31
  status_code = self.fc.git_connect(workspace_id=ws2.id, git_provider_details=git_provider_details)
32
32
 
33
- self.assertEqual(status_code, 204)
33
+ self.assertEqual(status_code, 200)
34
34
 
35
35
  initialization_strategy = "PreferWorkspace"
36
36
 
@@ -56,7 +56,7 @@ class TestFabricClientCore(unittest.TestCase):
56
56
 
57
57
  status_code = self.fc.git_disconnect(workspace_id=ws2.id)
58
58
 
59
- self.assertEqual(status_code, 204)
59
+ self.assertEqual(status_code, 200)
60
60
 
61
61
  ws2.delete()
62
62
 
@@ -78,8 +78,7 @@ class TestFabricClientCore(unittest.TestCase):
78
78
 
79
79
  fc = self.fc
80
80
 
81
- workspace = fc.get_workspace_by_name("testitems")
82
- workspace_id = workspace.id
81
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
83
82
 
84
83
  list_dashboards = fc.list_dashboards(workspace_id)
85
84
  dashboard_names = [dashboard.display_name for dashboard in list_dashboards]
@@ -144,8 +143,7 @@ class TestFabricClientCore(unittest.TestCase):
144
143
  self.assertIn(table_name, table_names)
145
144
 
146
145
  fc = self.fc
147
- workspace = fc.get_workspace_by_name("testitems")
148
- workspace_id = workspace.id
146
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
149
147
 
150
148
  lakehouse = fc.create_lakehouse(workspace_id=workspace_id, display_name="lakehouse2")
151
149
  self.assertIsNotNone(lakehouse.id)
@@ -171,116 +169,38 @@ class TestFabricClientCore(unittest.TestCase):
171
169
  self.assertEqual(status_code, 200)
172
170
 
173
171
 
174
- def test_data_pipelines(self):
175
-
176
- fc = self.fc
177
- workspace = fc.get_workspace_by_name("testitems")
178
- workspace_id = workspace.id
179
-
180
- dps = fc.list_data_pipelines(workspace_id)
181
- dp_names = [dp.display_name for dp in dps]
182
- self.assertGreater(len(dps), 0)
183
- self.assertIn("pipeline1", dp_names)
184
-
185
- dp = fc.get_data_pipeline(workspace_id, data_pipeline_name="pipeline1")
186
- self.assertIsNotNone(dp.id)
187
- self.assertIsNotNone(dp.definition)
188
- self.assertEqual(dp.display_name, "pipeline1")
189
-
190
- dp_new = fc.create_data_pipeline(workspace_id, display_name="pipeline_new", description="asda")
191
- dp_new.update_definition(dp.definition)
192
-
193
- self.assertEqual(dp_new.display_name, "pipeline_new")
194
-
195
- dp2 = fc.update_data_pipeline(workspace_id, dp.id, display_name="pipeline2")
196
-
197
- dp = fc.get_data_pipeline(workspace_id, data_pipeline_id=dp.id)
198
- self.assertEqual(dp.display_name, "pipeline2")
199
- self.assertEqual(dp.id, dp2.id)
200
-
201
- dp2 = fc.update_data_pipeline(workspace_id, dp.id, display_name="pipeline1")
202
-
203
- dp = fc.get_data_pipeline(workspace_id, data_pipeline_id=dp.id)
204
- self.assertEqual(dp.display_name, "pipeline1")
205
- self.assertEqual(dp.id, dp2.id)
206
- status_code = fc.delete_data_pipeline(workspace_id, dp_new.id)
207
- self.assertEqual(status_code, 200)
208
-
209
- def test_eventstreams(self):
210
-
172
+ def test_eventhouses(self):
173
+
211
174
  fc = self.fc
212
- workspace = fc.get_workspace_by_name("testitems")
213
- workspace_id = workspace.id
214
-
175
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
215
176
  datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
216
- es_name = "es" + datetime_str
217
-
218
- eventstream = fc.create_eventstream(workspace_id, display_name=es_name)
219
- self.assertEqual(eventstream.display_name, es_name)
220
-
221
- eventstreams = fc.list_eventstreams(workspace_id)
222
- eventstream_names = [es.display_name for es in eventstreams]
223
- self.assertGreater(len(eventstreams), 0)
224
- self.assertIn(es_name, eventstream_names)
225
-
177
+ eventhouse_name = "evh" + datetime_str
178
+ eventhouse1 = fc.create_eventhouse(workspace_id, display_name=eventhouse_name)
179
+ self.assertEqual(eventhouse1.display_name, eventhouse_name)
226
180
 
227
- es = fc.get_eventstream(workspace_id, eventstream_name=es_name)
228
- self.assertIsNotNone(es.id)
229
- self.assertEqual(es.display_name, es_name)
230
-
231
- es2 = fc.update_eventstream(workspace_id, es.id, display_name=f"{es_name}2")
232
-
233
- es = fc.get_eventstream(workspace_id, eventstream_id=es.id)
234
- self.assertEqual(es.display_name, f"{es_name}2")
235
- self.assertEqual(es.id, es2.id)
236
-
237
- status_code = fc.delete_eventstream(workspace_id, es.id)
181
+ eventhouses = fc.list_eventhouses(workspace_id)
182
+ eventhouse_names = [eh.display_name for eh in eventhouses]
183
+ self.assertGreater(len(eventhouses), 0)
184
+ self.assertIn(eventhouse_name, eventhouse_names)
185
+
186
+ eh = fc.get_eventhouse(workspace_id, eventhouse_name=eventhouse_name)
187
+ self.assertIsNotNone(eh.id)
188
+ self.assertEqual(eh.display_name, eventhouse_name)
189
+ new_display_name = eventhouse_name + "2"
190
+ eh2 = fc.update_eventhouse(workspace_id, eh.id, display_name=new_display_name)
191
+
192
+ eh = fc.get_eventhouse(workspace_id, eventhouse_id=eh.id)
193
+ self.assertEqual(eh.display_name, new_display_name)
194
+ self.assertEqual(eh.id, eh2.id)
195
+
196
+ status_code = fc.delete_eventhouse(workspace_id, eh.id)
238
197
  self.assertEqual(status_code, 200)
239
198
 
240
- def test_kql_database(self):
241
-
242
- fc = self.fc
243
- workspace = fc.get_workspace_by_name("testitems")
244
- workspace_id = workspace.id
245
-
246
- kql_databases = fc.list_kql_databases(workspace_id)
247
- kql_database_names = [kqldb.display_name for kqldb in kql_databases]
248
- self.assertGreater(len(kql_databases), 0)
249
- self.assertIn("kqldatabase1", kql_database_names)
250
-
251
- kqldb = fc.get_kql_database(workspace_id, kql_database_name="kqldatabase1")
252
- self.assertIsNotNone(kqldb.id)
253
- self.assertEqual(kqldb.display_name, "kqldatabase1")
254
-
255
- kqldb2 = fc.update_kql_database(workspace_id, kqldb.id, display_name="kqldb2")
256
-
257
- kqldb = fc.get_kql_database(workspace_id, kql_database_id=kqldb.id)
258
- self.assertEqual(kqldb.display_name, "kqldb2")
259
- self.assertEqual(kqldb.id, kqldb2.id)
260
-
261
- # retry 3 times
262
- i = 0
263
- while i < 3:
264
- try:
265
- kqldb2 = fc.update_kql_database(workspace_id, kqldb.id, display_name="kqldatabase1")
266
- break
267
- except Exception as e:
268
- sleep(10)
269
- i += 1
270
-
271
-
272
-
273
- kqldb = fc.get_kql_database(workspace_id, kql_database_id=kqldb.id)
274
- self.assertEqual(kqldb.display_name, "kqldatabase1")
275
- self.assertEqual(kqldb.id, kqldb2.id)
276
- # status_code = fc.delete_kql_database(workspace_id, kqldb.id)
277
- # self.assertEqual(status_code, 200)
278
199
 
279
200
  def test_kql_querysets(self):
280
201
 
281
202
  fc = self.fc
282
- workspace = fc.get_workspace_by_name("testitems")
283
- workspace_id = workspace.id
203
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
284
204
 
285
205
  kql_queryset_name = "kqlqueryset1"
286
206
 
@@ -312,8 +232,7 @@ class TestFabricClientCore(unittest.TestCase):
312
232
  def test_ml_experiments(self):
313
233
 
314
234
  fc = self.fc
315
- workspace = fc.get_workspace_by_name("testitems")
316
- workspace_id = workspace.id
235
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
317
236
 
318
237
  ml_experiment = fc.create_ml_experiment(workspace_id, display_name="mlexperiment1")
319
238
  self.assertEqual(ml_experiment.display_name, "mlexperiment1")
@@ -339,8 +258,7 @@ class TestFabricClientCore(unittest.TestCase):
339
258
  def test_ml_models(self):
340
259
 
341
260
  fc = self.fc
342
- workspace = fc.get_workspace_by_name("testitems")
343
- workspace_id = workspace.id
261
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
344
262
  datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
345
263
  model_name = "mlm" + datetime_str
346
264
 
@@ -356,11 +274,11 @@ class TestFabricClientCore(unittest.TestCase):
356
274
  self.assertIsNotNone(mlm.id)
357
275
  self.assertEqual(mlm.display_name, model_name)
358
276
 
359
- # mlm2 = fc.update_ml_model(workspace_id=workspace_id,ml_model_id= mlm.id, description=model_name)
277
+ mlm2 = fc.update_ml_model(workspace_id=workspace_id,ml_model_id= mlm.id, description=model_name)
360
278
 
361
- # mlm = fc.get_ml_model(workspace_id, ml_model_id=mlm.id)
362
- # self.assertEqual(mlm.description, model_name)
363
- # self.assertEqual(mlm.id, mlm2.id)
279
+ mlm = fc.get_ml_model(workspace_id, ml_model_id=mlm.id)
280
+ self.assertEqual(mlm.description, model_name)
281
+ self.assertEqual(mlm.id, mlm2.id)
364
282
 
365
283
  status_code = fc.delete_ml_model(workspace_id, mlm.id)
366
284
  self.assertEqual(status_code, 200)
@@ -368,8 +286,7 @@ class TestFabricClientCore(unittest.TestCase):
368
286
  def test_notebooks(self):
369
287
 
370
288
  fc = self.fc
371
- workspace = fc.get_workspace_by_name("testitems")
372
- workspace_id = workspace.id
289
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
373
290
 
374
291
  notebook_name = "notebook125"
375
292
 
@@ -407,8 +324,7 @@ class TestFabricClientCore(unittest.TestCase):
407
324
  def test_reports(self):
408
325
 
409
326
  fc = self.fc
410
- workspace = fc.get_workspace_by_name("testitems")
411
- workspace_id = workspace.id
327
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
412
328
 
413
329
  report_name = "report1234"
414
330
 
@@ -441,8 +357,7 @@ class TestFabricClientCore(unittest.TestCase):
441
357
  def test_semantic_models(self):
442
358
 
443
359
  fc = self.fc
444
- workspace = fc.get_workspace_by_name("testitems")
445
- workspace_id = workspace.id
360
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
446
361
 
447
362
  semantic_model_name = "semanticmodel1234"
448
363
 
@@ -471,51 +386,10 @@ class TestFabricClientCore(unittest.TestCase):
471
386
  status_code = fc.delete_semantic_model(workspace_id, sm.id)
472
387
  self.assertEqual(status_code, 200)
473
388
 
474
-
475
- def test_spark_job_definitions(self):
476
-
477
- fc = self.fc
478
- workspace = fc.get_workspace_by_name("testitems")
479
- workspace_id = workspace.id
480
-
481
- datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
482
- spark_job_definition_name = f"sjd{datetime_str}"
483
-
484
- spark_job_definition_w_content = fc.get_spark_job_definition(workspace_id, spark_job_definition_name="helloworld")
485
-
486
- definition = fc.get_spark_job_definition_definition(workspace_id, spark_job_definition_w_content.id)
487
-
488
- self.assertIsNotNone(definition)
489
- self.assertIn("definition", definition)
490
- definition = definition["definition"]
491
-
492
- spark_job_definition = fc.create_spark_job_definition(workspace_id, display_name=spark_job_definition_name)
493
- fc.update_spark_job_definition_definition(workspace_id, spark_job_definition.id, definition=definition)
494
- spark_job_definition = fc.get_spark_job_definition(workspace_id, spark_job_definition_id=spark_job_definition.id)
495
- self.assertEqual(spark_job_definition.display_name, spark_job_definition_name)
496
- self.assertIsNotNone(spark_job_definition.definition)
497
-
498
- spark_job_definitions = fc.list_spark_job_definitions(workspace_id)
499
- spark_job_definition_names = [sjd.display_name for sjd in spark_job_definitions]
500
- self.assertGreater(len(spark_job_definitions), 0)
501
- self.assertIn(spark_job_definition_name, spark_job_definition_names)
502
-
503
- sjd = fc.get_spark_job_definition(workspace_id, spark_job_definition_name=spark_job_definition_name)
504
- self.assertIsNotNone(sjd.id)
505
- self.assertEqual(sjd.display_name, spark_job_definition_name)
506
-
507
- sjd = fc.update_spark_job_definition(workspace_id, sjd.id, display_name=f"{spark_job_definition_name}2")
508
- sjd = fc.get_spark_job_definition(workspace_id, spark_job_definition_id=sjd.id)
509
- self.assertEqual(sjd.display_name, f"{spark_job_definition_name}2")
510
-
511
- status_code = fc.delete_spark_job_definition(workspace_id, sjd.id)
512
- self.assertEqual(status_code, 200)
513
-
514
389
  def test_warehouses(self):
515
390
 
516
391
  fc = self.fc
517
- workspace = fc.get_workspace_by_name("testitems")
518
- workspace_id = workspace.id
392
+ workspace_id = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
519
393
 
520
394
  datetime_str = datetime.now().strftime("%Y%m%d%H%M%S")
521
395
  warehouse1 = f"wh{datetime_str}"
@@ -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)
@@ -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 = 'd8a5abe0-9eed-406d-ab46-343bc57ddbe5'
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")
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)