| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import datetime | 5 import datetime |
| 6 | 6 |
| 7 from testing_utils import testing | 7 from testing_utils import testing |
| 8 | 8 |
| 9 from components import auth | 9 from components import auth |
| 10 from components import auth_testing | 10 from components import auth_testing |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 resp = self.call_api('fetch_package', {'package_name': 'good/name'}) | 60 resp = self.call_api('fetch_package', {'package_name': 'good/name'}) |
| 61 self.assertEqual({'status': 'PACKAGE_NOT_FOUND'}, resp.json_body) | 61 self.assertEqual({'status': 'PACKAGE_NOT_FOUND'}, resp.json_body) |
| 62 | 62 |
| 63 def test_fetch_package_bad_name(self): | 63 def test_fetch_package_bad_name(self): |
| 64 resp = self.call_api('fetch_package', {'package_name': 'bad name'}) | 64 resp = self.call_api('fetch_package', {'package_name': 'bad name'}) |
| 65 self.assertEqual({ | 65 self.assertEqual({ |
| 66 'status': 'ERROR', | 66 'status': 'ERROR', |
| 67 'error_message': 'Invalid package name', | 67 'error_message': 'Invalid package name', |
| 68 }, resp.json_body) | 68 }, resp.json_body) |
| 69 | 69 |
| 70 def test_list_packages_no_results(self): |
| 71 resp = self.call_api('list_packages', {}) |
| 72 self.assertEqual({ |
| 73 'status': 'SUCCESS', |
| 74 }, resp.json_body) |
| 75 |
| 76 def test_list_packages_all_packages(self): |
| 77 resp = self.call_api('register_package', {'package_name': 'good/name'}) |
| 78 self.assertEqual('REGISTERED', resp.json_body['status']) |
| 79 |
| 80 resp = self.call_api('list_packages', {'recursive': True}) |
| 81 self.assertEqual({ |
| 82 'status': 'SUCCESS', |
| 83 'packages': ['good/name'], |
| 84 'directories': ['good'], |
| 85 }, resp.json_body) |
| 86 |
| 87 def test_list_packages_filter_no_access(self): |
| 88 resp = self.call_api('register_package', {'package_name': 'good/name'}) |
| 89 self.assertEqual('REGISTERED', resp.json_body['status']) |
| 90 |
| 91 self.mock(api.acl, 'can_fetch_package', lambda *_: False) |
| 92 |
| 93 resp = self.call_api('list_packages', {}) |
| 94 self.assertEqual({ |
| 95 'status': 'SUCCESS', |
| 96 }, resp.json_body) |
| 97 |
| 98 def test_list_packages_in_path(self): |
| 99 resp = self.call_api('register_package', {'package_name': 'p/a'}) |
| 100 self.assertEqual('REGISTERED', resp.json_body['status']) |
| 101 resp = self.call_api('register_package', {'package_name': 'p/y'}) |
| 102 self.assertEqual('REGISTERED', resp.json_body['status']) |
| 103 resp = self.call_api('register_package', {'package_name': 'p/z/z'}) |
| 104 self.assertEqual('REGISTERED', resp.json_body['status']) |
| 105 resp = self.call_api('register_package', {'package_name': 'pp'}) |
| 106 self.assertEqual('REGISTERED', resp.json_body['status']) |
| 107 resp = self.call_api('register_package', {'package_name': 'q'}) |
| 108 self.assertEqual('REGISTERED', resp.json_body['status']) |
| 109 |
| 110 resp = self.call_api('list_packages', { |
| 111 'path': 'p', |
| 112 'recursive': False, |
| 113 }) |
| 114 self.assertEqual({ |
| 115 'status': 'SUCCESS', |
| 116 'packages': [ |
| 117 'p/a', |
| 118 'p/y', |
| 119 ], |
| 120 'directories': [ |
| 121 'p/z', |
| 122 ], |
| 123 }, resp.json_body) |
| 124 |
| 125 resp = self.call_api('list_packages', { |
| 126 'path': 'p', |
| 127 'recursive': True, |
| 128 }) |
| 129 self.assertEqual({ |
| 130 'status': 'SUCCESS', |
| 131 'packages': [ |
| 132 'p/a', |
| 133 'p/y', |
| 134 'p/z/z', |
| 135 ], |
| 136 'directories': [ |
| 137 'p/z', |
| 138 ], |
| 139 }, resp.json_body) |
| 140 |
| 70 def test_register_package(self): | 141 def test_register_package(self): |
| 71 self.mock(utils, 'utcnow', lambda: datetime.datetime(2014, 1, 1)) | 142 self.mock(utils, 'utcnow', lambda: datetime.datetime(2014, 1, 1)) |
| 72 | 143 |
| 73 # Not yet registered. | 144 # Not yet registered. |
| 74 resp = self.call_api('register_package', {'package_name': 'good/name'}) | 145 resp = self.call_api('register_package', {'package_name': 'good/name'}) |
| 75 self.assertEqual(200, resp.status_code) | 146 self.assertEqual(200, resp.status_code) |
| 76 self.assertEqual({ | 147 self.assertEqual({ |
| 77 'status': 'REGISTERED', | 148 'status': 'REGISTERED', |
| 78 'package': { | 149 'package': { |
| 79 'package_name': 'good/name', | 150 'package_name': 'good/name', |
| (...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1000 return True | 1071 return True |
| 1001 | 1072 |
| 1002 def generate_fetch_url(self, instance): | 1073 def generate_fetch_url(self, instance): |
| 1003 return 'http://signed-url/%s' % instance.instance_id | 1074 return 'http://signed-url/%s' % instance.instance_id |
| 1004 | 1075 |
| 1005 def is_instance_file_uploaded(self, package_name, instance_id): | 1076 def is_instance_file_uploaded(self, package_name, instance_id): |
| 1006 return instance_id in self.uploaded | 1077 return instance_id in self.uploaded |
| 1007 | 1078 |
| 1008 def create_upload_session(self, package_name, instance_id, caller): | 1079 def create_upload_session(self, package_name, instance_id, caller): |
| 1009 return 'http://upload_url', 'upload_session_id' | 1080 return 'http://upload_url', 'upload_session_id' |
| OLD | NEW |