| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # coding=utf-8 | 2 # coding=utf-8 |
| 3 # Copyright 2015 The LUCI Authors. All rights reserved. | 3 # Copyright 2015 The LUCI Authors. All rights reserved. |
| 4 # Use of this source code is governed under the Apache License, Version 2.0 | 4 # Use of this source code is governed under the Apache License, Version 2.0 |
| 5 # that can be found in the LICENSE file. | 5 # that can be found in the LICENSE file. |
| 6 | 6 |
| 7 import base64 | 7 import base64 |
| 8 import datetime | 8 import datetime |
| 9 import json | 9 import json |
| 10 import logging | 10 import logging |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 | 63 |
| 64 | 64 |
| 65 class ServerApiTest(BaseTest): | 65 class ServerApiTest(BaseTest): |
| 66 api_service_cls = handlers_endpoints.SwarmingServerService | 66 api_service_cls = handlers_endpoints.SwarmingServerService |
| 67 | 67 |
| 68 def test_details(self): | 68 def test_details(self): |
| 69 """Asserts that server_details returns the correct version.""" | 69 """Asserts that server_details returns the correct version.""" |
| 70 response = self.call_api('details') | 70 response = self.call_api('details') |
| 71 self.assertEqual({'server_version': utils.get_app_version()}, response.json) | 71 self.assertEqual({'server_version': utils.get_app_version()}, response.json) |
| 72 | 72 |
| 73 def test_public_permissions(self): |
| 74 """Asserts that permissions respond correctly to an unauthed user.""" |
| 75 self.set_as_anonymous() |
| 76 response = self.call_api('permissions') |
| 77 expected = { |
| 78 u'cancel_task': False, |
| 79 u'terminate_bot': False, |
| 80 u'delete_bot': False, |
| 81 u'get_configs': False, |
| 82 u'put_configs': False, |
| 83 u'get_bootstrap_token': False, |
| 84 } |
| 85 self.assertEqual(expected, response.json) |
| 86 |
| 87 def test_user_permissions(self): |
| 88 """Asserts that permissions respond correctly to a basic user.""" |
| 89 self.set_as_user() |
| 90 response = self.call_api('permissions') |
| 91 expected = { |
| 92 u'cancel_task': True, |
| 93 u'terminate_bot': False, |
| 94 u'delete_bot': False, |
| 95 u'get_configs': True, |
| 96 u'put_configs': False, |
| 97 u'get_bootstrap_token': False, |
| 98 } |
| 99 self.assertEqual(expected, response.json) |
| 100 |
| 101 def test_privileged_user_permissions(self): |
| 102 """Asserts that permissions respond correctly to a privileged user.""" |
| 103 self.set_as_privileged_user() |
| 104 response = self.call_api('permissions') |
| 105 expected = { |
| 106 u'cancel_task': True, |
| 107 u'terminate_bot': True, |
| 108 u'delete_bot': False, |
| 109 u'get_configs': True, |
| 110 u'put_configs': False, |
| 111 u'get_bootstrap_token': False, |
| 112 } |
| 113 self.assertEqual(expected, response.json) |
| 114 |
| 115 def test_admin_permissions(self): |
| 116 """Asserts that permissions respond correctly to an admin.""" |
| 117 self.set_as_admin() |
| 118 response = self.call_api('permissions') |
| 119 expected = { |
| 120 u'cancel_task': True, |
| 121 u'terminate_bot': True, |
| 122 u'delete_bot': True, |
| 123 u'get_configs': True, |
| 124 u'put_configs': True, |
| 125 u'get_bootstrap_token': True, |
| 126 } |
| 127 self.assertEqual(expected, response.json) |
| 128 |
| 73 def _test_file(self, name): | 129 def _test_file(self, name): |
| 74 self.set_as_admin() | 130 self.set_as_admin() |
| 75 | 131 |
| 76 now = datetime.datetime(2010, 1, 2, 3, 4, 5) | 132 now = datetime.datetime(2010, 1, 2, 3, 4, 5) |
| 77 self.mock_now(now) | 133 self.mock_now(now) |
| 78 path = os.path.join(self.APP_DIR, 'swarming_bot', 'config', name + '.py') | 134 path = os.path.join(self.APP_DIR, 'swarming_bot', 'config', name + '.py') |
| 79 with open(path, 'rb') as f: | 135 with open(path, 'rb') as f: |
| 80 content = f.read().decode('utf-8') | 136 content = f.read().decode('utf-8') |
| 81 | 137 |
| 82 expected = { | 138 expected = { |
| (...skipping 1834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1917 self.assertEqual(expected, response.json) | 1973 self.assertEqual(expected, response.json) |
| 1918 | 1974 |
| 1919 | 1975 |
| 1920 if __name__ == '__main__': | 1976 if __name__ == '__main__': |
| 1921 if '-v' in sys.argv: | 1977 if '-v' in sys.argv: |
| 1922 unittest.TestCase.maxDiff = None | 1978 unittest.TestCase.maxDiff = None |
| 1923 logging.basicConfig(level=logging.DEBUG) | 1979 logging.basicConfig(level=logging.DEBUG) |
| 1924 else: | 1980 else: |
| 1925 logging.basicConfig(level=logging.CRITICAL) | 1981 logging.basicConfig(level=logging.CRITICAL) |
| 1926 unittest.main() | 1982 unittest.main() |
| OLD | NEW |