1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
|
import unittest
from unittest import mock
from ...management.clients import Clients
class TestClients(unittest.TestCase):
def test_init_with_optionals(self):
t = Clients(domain="domain", token="jwttoken", telemetry=False, timeout=(10, 2))
self.assertEqual(t.client.options.timeout, (10, 2))
telemetry_header = t.client.base_headers.get("Auth0-Client", None)
self.assertEqual(telemetry_header, None)
@mock.patch("auth0.management.clients.RestClient")
def test_all(self, mock_rc):
mock_instance = mock_rc.return_value
c = Clients(domain="domain", token="jwttoken")
# Default parameters are requested
c.all()
args, kwargs = mock_instance.get.call_args
self.assertEqual("https://domain/api/v2/clients", args[0])
self.assertEqual(
kwargs["params"],
{"fields": None, "include_fields": "true", "page": None, "per_page": None},
)
# Fields filter
c.all(fields=["a", "b"], include_fields=False)
args, kwargs = mock_instance.get.call_args
self.assertEqual("https://domain/api/v2/clients", args[0])
self.assertEqual(
kwargs["params"],
{
"fields": "a,b",
"include_fields": "false",
"page": None,
"per_page": None,
},
)
# Specific pagination
c.all(page=7, per_page=25)
args, kwargs = mock_instance.get.call_args
self.assertEqual("https://domain/api/v2/clients", args[0])
self.assertEqual(
kwargs["params"],
{"fields": None, "include_fields": "true", "page": 7, "per_page": 25},
)
# Extra parameters
c.all(extra_params={"some_key": "some_value"})
args, kwargs = mock_instance.get.call_args
self.assertEqual("https://domain/api/v2/clients", args[0])
self.assertEqual(
kwargs["params"],
{
"fields": None,
"include_fields": "true",
"page": None,
"per_page": None,
"some_key": "some_value",
},
)
@mock.patch("auth0.management.clients.RestClient")
def test_create(self, mock_rc):
mock_instance = mock_rc.return_value
c = Clients(domain="domain", token="jwttoken")
c.create({"a": "b", "c": "d"})
mock_instance.post.assert_called_with(
"https://domain/api/v2/clients", data={"a": "b", "c": "d"}
)
@mock.patch("auth0.management.clients.RestClient")
def test_get(self, mock_rc):
mock_instance = mock_rc.return_value
c = Clients(domain="domain", token="jwttoken")
c.get("this-id")
args, kwargs = mock_instance.get.call_args
self.assertEqual("https://domain/api/v2/clients/this-id", args[0])
self.assertEqual(kwargs["params"], {"fields": None, "include_fields": "true"})
c.get("this-id", fields=["a", "b"], include_fields=False)
args, kwargs = mock_instance.get.call_args
self.assertEqual("https://domain/api/v2/clients/this-id", args[0])
self.assertEqual(kwargs["params"], {"fields": "a,b", "include_fields": "false"})
@mock.patch("auth0.management.clients.RestClient")
def test_delete(self, mock_rc):
mock_instance = mock_rc.return_value
c = Clients(domain="domain", token="jwttoken")
c.delete("this-id")
mock_instance.delete.assert_called_with("https://domain/api/v2/clients/this-id")
@mock.patch("auth0.management.clients.RestClient")
def test_update(self, mock_rc):
mock_instance = mock_rc.return_value
c = Clients(domain="domain", token="jwttoken")
c.update("this-id", {"a": "b", "c": "d"})
args, kwargs = mock_instance.patch.call_args
self.assertEqual("https://domain/api/v2/clients/this-id", args[0])
self.assertEqual(kwargs["data"], {"a": "b", "c": "d"})
@mock.patch("auth0.management.clients.RestClient")
def test_rotate_secret(self, mock_rc):
mock_instance = mock_rc.return_value
c = Clients(domain="domain", token="jwttoken")
c.rotate_secret("this-id")
mock_instance.post.assert_called_with(
"https://domain/api/v2/clients/this-id/rotate-secret",
data={"id": "this-id"},
)
|