Skip to content

Commit 412b390

Browse files
authored
update integrations endpoints to v3 (#282)
1 parent f8a16b9 commit 412b390

3 files changed

Lines changed: 25 additions & 17 deletions

File tree

duo_client/admin.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2529,7 +2529,7 @@ def get_integrations_generator(self):
25292529
"""
25302530
return self.json_paging_api_call(
25312531
'GET',
2532-
'/admin/v2/integrations',
2532+
'/admin/v3/integrations',
25332533
{},
25342534
)
25352535

@@ -2549,7 +2549,7 @@ def get_integrations(self, limit=None, offset=0):
25492549
if limit:
25502550
return self.json_api_call(
25512551
'GET',
2552-
'/admin/v2/integrations',
2552+
'/admin/v3/integrations',
25532553
{'limit': limit, 'offset': offset},
25542554
)
25552555

@@ -2568,7 +2568,7 @@ def get_integration(self, integration_key):
25682568
params = {}
25692569
response = self.json_api_call(
25702570
'GET',
2571-
'/admin/v2/integrations/' + integration_key,
2571+
'/admin/v3/integrations/' + integration_key,
25722572
params,
25732573
)
25742574
return response
@@ -2593,7 +2593,8 @@ def create_integration(self,
25932593
ip_whitelist_enroll_policy=None,
25942594
groups_allowed=None,
25952595
self_service_allowed=None,
2596-
sso=None):
2596+
sso=None,
2597+
user_access=None):
25972598
"""Creates a new integration.
25982599
25992600
name - The name of the integration (required)
@@ -2671,8 +2672,11 @@ def create_integration(self,
26712672
params['self_service_allowed'] = '1' if self_service_allowed else '0'
26722673
if sso is not None:
26732674
params['sso'] = sso
2675+
if user_access is not None:
2676+
params['user_access'] = user_access
2677+
26742678
response = self.json_api_call('POST',
2675-
'/admin/v2/integrations',
2679+
'/admin/v3/integrations',
26762680
params,
26772681
)
26782682
return response
@@ -2766,7 +2770,7 @@ def delete_integration(self, integration_key):
27662770
27672771
"""
27682772
integration_key = urllib.parse.quote_plus(str(integration_key))
2769-
path = '/admin/v2/integrations/%s' % integration_key
2773+
path = '/admin/v3/integrations/%s' % integration_key
27702774
return self.json_api_call(
27712775
'DELETE',
27722776
path,
@@ -2794,7 +2798,9 @@ def update_integration(self,
27942798
ip_whitelist_enroll_policy=None,
27952799
groups_allowed=None,
27962800
self_service_allowed=None,
2797-
sso=None):
2801+
sso=None,
2802+
user_access=None
2803+
):
27982804
"""Updates an integration.
27992805
28002806
integration_key - The key of the integration to update. (required)
@@ -2833,7 +2839,7 @@ def update_integration(self,
28332839
28342840
"""
28352841
integration_key = urllib.parse.quote_plus(str(integration_key))
2836-
path = '/admin/v2/integrations/%s' % integration_key
2842+
path = '/admin/v3/integrations/%s' % integration_key
28372843
params = {}
28382844
if name is not None:
28392845
params['name'] = name
@@ -2877,6 +2883,8 @@ def update_integration(self,
28772883
params['self_service_allowed'] = '1' if self_service_allowed else '0'
28782884
if sso is not None:
28792885
params['sso'] = sso
2886+
if user_access is not None:
2887+
params['user_access'] = user_access
28802888

28812889
if not params:
28822890
raise TypeError("No new values were provided")

tests/admin/test_integration.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ def test_get_integration(self):
1616
(uri, args) = response['uri'].split('?')
1717

1818
self.assertEqual(response['method'], 'GET')
19-
self.assertEqual(uri, '/admin/v2/integrations/{}'.format(self.integration_key))
19+
self.assertEqual(uri, '/admin/v3/integrations/{}'.format(self.integration_key))
2020
self.assertEqual(util.params_to_dict(args), {'account_id': [self.client.account_id]})
2121

2222
def test_delete_integration(self):
2323
response = self.client.delete_integration(self.integration_key)
2424
(uri, args) = response['uri'].split('?')
2525

2626
self.assertEqual(response['method'], 'DELETE')
27-
self.assertEqual(uri, '/admin/v2/integrations/{}'.format(self.integration_key))
27+
self.assertEqual(uri, '/admin/v3/integrations/{}'.format(self.integration_key))
2828
self.assertEqual(util.params_to_dict(args), {'account_id': [self.client.account_id]})
2929

3030
def test_create_integration(self):
@@ -38,7 +38,7 @@ def test_create_integration(self):
3838
)
3939

4040
self.assertEqual(response['method'], 'POST')
41-
self.assertEqual(response['uri'], '/admin/v2/integrations')
41+
self.assertEqual(response['uri'], '/admin/v3/integrations')
4242
self.assertEqual(json.loads(response['body']),
4343
{
4444
"account_id": self.client.account_id,
@@ -63,7 +63,7 @@ def test_update_integration_success(self):
6363
)
6464

6565
self.assertEqual(response['method'], 'POST')
66-
self.assertEqual(response['uri'], '/admin/v2/integrations/{}'.format(self.integration_key))
66+
self.assertEqual(response['uri'], '/admin/v3/integrations/{}'.format(self.integration_key))
6767
self.assertEqual(json.loads(response['body']),
6868
{
6969
"account_id": self.client.account_id,

tests/admin/test_integrations.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def test_get_integrations_generator(self):
1111
response = next(generator)
1212
self.assertEqual(response['method'], 'GET')
1313
(uri, args) = response['uri'].split('?')
14-
self.assertEqual(uri, '/admin/v2/integrations')
14+
self.assertEqual(uri, '/admin/v3/integrations')
1515
self.assertEqual(
1616
util.params_to_dict(args),
1717
{
@@ -27,7 +27,7 @@ def test_get_integrations(self):
2727
response = response[0]
2828
self.assertEqual(response['method'], 'GET')
2929
(uri, args) = response['uri'].split('?')
30-
self.assertEqual(uri, '/admin/v2/integrations')
30+
self.assertEqual(uri, '/admin/v3/integrations')
3131
self.assertEqual(
3232
util.params_to_dict(args),
3333
{
@@ -43,7 +43,7 @@ def test_get_integrations_with_limit(self):
4343
response = response[0]
4444
self.assertEqual(response['method'], 'GET')
4545
(uri, args) = response['uri'].split('?')
46-
self.assertEqual(uri, '/admin/v2/integrations')
46+
self.assertEqual(uri, '/admin/v3/integrations')
4747
self.assertEqual(
4848
util.params_to_dict(args),
4949
{
@@ -59,7 +59,7 @@ def test_get_integrations_with_limit_offset(self):
5959
response = response[0]
6060
self.assertEqual(response['method'], 'GET')
6161
(uri, args) = response['uri'].split('?')
62-
self.assertEqual(uri, '/admin/v2/integrations')
62+
self.assertEqual(uri, '/admin/v3/integrations')
6363
self.assertEqual(
6464
util.params_to_dict(args),
6565
{
@@ -75,7 +75,7 @@ def test_get_integrations_with_offset(self):
7575
response = response[0]
7676
self.assertEqual(response['method'], 'GET')
7777
(uri, args) = response['uri'].split('?')
78-
self.assertEqual(uri, '/admin/v2/integrations')
78+
self.assertEqual(uri, '/admin/v3/integrations')
7979
self.assertEqual(
8080
util.params_to_dict(args),
8181
{

0 commit comments

Comments
 (0)