1+ import pytest
2+
3+ from databricks .sdk import WorkspaceClient , AccountClient
4+
5+ @pytest .mark .parametrize (
6+ "path,call" ,
7+ [
8+ ("/api/2.0/preview/scim/v2/Users" , lambda w : w .users .list ()),
9+ ("/api/2.0/preview/scim/v2/Groups" , lambda w : w .groups .list ()),
10+ ("/api/2.0/preview/scim/v2/ServicePrincipals" , lambda w : w .service_principals .list ()),
11+ ],
12+ )
13+ def test_workspace_iam_list (config , requests_mock , path , call ):
14+ requests_mock .get (
15+ f"http://localhost{ path } " ,
16+ request_headers = {
17+ "Accept" : "application/json" ,
18+ },
19+ text = "null" ,
20+ )
21+ w = WorkspaceClient (config = config )
22+ for _ in call (w ):
23+ pass
24+ assert requests_mock .call_count == 1
25+ assert requests_mock .called
26+
27+
28+ @pytest .mark .parametrize (
29+ "path,call" ,
30+ [
31+ ("/api/2.0/accounts/%s/scim/v2/Users" , lambda a : a .users .list ()),
32+ ("/api/2.0/accounts/%s/scim/v2/Groups" , lambda a : a .groups .list ()),
33+ ("/api/2.0/accounts/%s/scim/v2/ServicePrincipals" , lambda a : a .service_principals .list ()),
34+ ],
35+ )
36+ def test_account_iam_list (config , requests_mock , path , call ):
37+ config .account_id = "test_account_id"
38+ requests_mock .get (
39+ path .replace ("%s" , config .account_id ),
40+ request_headers = {
41+ "Accept" : "application/json" ,
42+ },
43+ text = "null" ,
44+ )
45+ a = AccountClient (config = config )
46+ for _ in call (a ):
47+ pass
48+ assert requests_mock .call_count == 1
49+ assert requests_mock .called
0 commit comments