|
3 | 3 | import mock |
4 | 4 |
|
5 | 5 | from algoliasearch.exceptions import RequestException |
| 6 | +from algoliasearch.http.request_options import RequestOptions |
6 | 7 | from algoliasearch.responses import ( |
7 | 8 | IndexingResponse, MultipleResponse, |
8 | 9 | AddApiKeyResponse, UpdateApiKeyResponse, |
@@ -61,3 +62,21 @@ def test_request_exception(self): |
61 | 62 | with self.assertRaises(RequestException) as cm: |
62 | 63 | self.client.add_api_key(['search']).wait() |
63 | 64 | self.assertEqual(cm.exception.status_code, 300) |
| 65 | + |
| 66 | + def test_update_api_key_response(self): |
| 67 | + request_options = RequestOptions({}, {}, {}, { |
| 68 | + 'data': {'validity': 300} |
| 69 | + }) |
| 70 | + response = UpdateApiKeyResponse({}, {}, request_options) |
| 71 | + self.assertTrue(response._have_changed({})) |
| 72 | + self.assertTrue(response._have_changed({'validity': 297})) |
| 73 | + |
| 74 | + request_options.data = {'maxQueriesPerIPPerHour': 2} |
| 75 | + self.assertFalse(response._have_changed({})) |
| 76 | + self.assertFalse(response._have_changed({'maxQueriesPerIPPerHour': 1})) |
| 77 | + self.assertTrue(response._have_changed({'maxQueriesPerIPPerHour': 2})) |
| 78 | + |
| 79 | + request_options.data = {'acl': ['search']} |
| 80 | + self.assertFalse(response._have_changed({})) |
| 81 | + self.assertFalse(response._have_changed({'acl': []})) |
| 82 | + self.assertTrue(response._have_changed({'acl': ['search']})) |
0 commit comments