From 30d35034e036fb566d2adbd46a5f327bd62303da Mon Sep 17 00:00:00 2001 From: Mark Drummond Date: Thu, 28 Jun 2018 15:41:02 -0400 Subject: [PATCH 1/3] Adds user export job creation. --- auth0/v3/management/jobs.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/auth0/v3/management/jobs.py b/auth0/v3/management/jobs.py index c340c2a6..c1831ef5 100644 --- a/auth0/v3/management/jobs.py +++ b/auth0/v3/management/jobs.py @@ -41,6 +41,17 @@ def get_failed_job(self, id): url = self._url('%s/errors' % (id)) return self.client.get(url) + def export_users(self, body): + """Export all users to a file using a long running job. + + Check job status with get(). URL pointing to the export file will be + included in the status once the job is complete. + + Args: + body (dict): Please see: https://auth0.com/docs/api/management/v2#!/Jobs/post_users_exports + """ + return self.client.post(self._url('users-exports'), data=body) + def import_users(self, connection_id, file_obj, upsert=False): """Imports users to a connection from a file. From 85257122617e17f4ff2746191a3886e1906f5351 Mon Sep 17 00:00:00 2001 From: Mark Drummond Date: Fri, 13 Jul 2018 10:24:05 -0400 Subject: [PATCH 2/3] Adds unit test for users-export endpoint. --- auth0/v3/test/management/test_jobs.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/auth0/v3/test/management/test_jobs.py b/auth0/v3/test/management/test_jobs.py index 3238cee9..ad7c8bb9 100644 --- a/auth0/v3/test/management/test_jobs.py +++ b/auth0/v3/test/management/test_jobs.py @@ -27,6 +27,18 @@ def get_failed_job(self, mock_rc): 'https://domain/api/v2/jobs/an-id/errors', ) + @mock.patch('auth0.v3.management.jobs.RestClient') + def test_export_users(self, mock_rc): + mock_instance = mock_rc.return_value + + j = Jobs(domain='domain', token='jwttoken') + j.export_users('connection_id': 'cxn_id', 'format': 'json'}) + + mock_instance.post.assert_called_with( + 'https://domain/api/v2/jobs/users-exports', + data={'connection_id': 'cxn_id', 'format': 'json'} + ) + @mock.patch('auth0.v3.management.jobs.RestClient') def test_import_users(self, mock_rc): mock_instance = mock_rc.return_value From 46885e6d2720d5a11bbdf8b7760fa93981838190 Mon Sep 17 00:00:00 2001 From: Mark Drummond Date: Fri, 13 Jul 2018 10:29:06 -0400 Subject: [PATCH 3/3] Fixes a typo (missing '{') in test_jobs.test_export_users() --- auth0/v3/test/management/test_jobs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auth0/v3/test/management/test_jobs.py b/auth0/v3/test/management/test_jobs.py index ad7c8bb9..72870118 100644 --- a/auth0/v3/test/management/test_jobs.py +++ b/auth0/v3/test/management/test_jobs.py @@ -32,7 +32,7 @@ def test_export_users(self, mock_rc): mock_instance = mock_rc.return_value j = Jobs(domain='domain', token='jwttoken') - j.export_users('connection_id': 'cxn_id', 'format': 'json'}) + j.export_users({'connection_id': 'cxn_id', 'format': 'json'}) mock_instance.post.assert_called_with( 'https://domain/api/v2/jobs/users-exports',