| OLD | NEW |
| 1 # Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 # Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 # for details. All rights reserved. Use of this source code is governed by a | 2 # for details. All rights reserved. Use of this source code is governed by a |
| 3 # BSD-style license that can be found in the LICENSE file. | 3 # BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import re | 5 import re |
| 6 import json | 6 import json |
| 7 | 7 |
| 8 import handlers | 8 import handlers |
| 9 from models.package import Package | 9 from models.package import Package |
| 10 from models.package_version import PackageVersion | 10 from models.package_version import PackageVersion |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 self.assertEqual(content['fields']['acl'], 'public-read') | 246 self.assertEqual(content['fields']['acl'], 'public-read') |
| 247 | 247 |
| 248 def test_api_uploader_gets_dartdoc_form_for_nonexistent_package(self): | 248 def test_api_uploader_gets_dartdoc_form_for_nonexistent_package(self): |
| 249 self.be_normal_oauth_user('other-uploader') | 249 self.be_normal_oauth_user('other-uploader') |
| 250 | 250 |
| 251 response = self.testapp.get( | 251 response = self.testapp.get( |
| 252 '/packages/not-package/versions/1.2.3/new_dartdoc.json', | 252 '/packages/not-package/versions/1.2.3/new_dartdoc.json', |
| 253 status=404) | 253 status=404) |
| 254 self.assert_json_error(response) | 254 self.assert_json_error(response) |
| 255 | 255 |
| 256 def test_api_malformed_package_version(self): |
| 257 version = self.package_version(self.package, '1.2.3') |
| 258 version.put() |
| 259 |
| 260 response = self.testapp.get( |
| 261 '/api/packages/test-package/versions/banana', status=400) |
| 262 self.assertEqual(response.headers['Content-Type'], 'application/json') |
| 263 self.assertEqual(json.loads(response.body), { |
| 264 'error': {'message': '"banana" is not a valid semantic version.'} |
| 265 }) |
| 266 |
| 267 def test_api_no_such_package_version(self): |
| 268 version = self.package_version(self.package, '1.2.3') |
| 269 version.put() |
| 270 |
| 271 response = self.testapp.get( |
| 272 '/api/packages/test-package/versions/2.0.0', status=404) |
| 273 self.assertEqual(response.headers['Content-Type'], 'application/json') |
| 274 self.assertEqual(json.loads(response.body), { |
| 275 'error': |
| 276 {'message': '"test-package" version 2.0.0 doesn\'t exist.'} |
| 277 }) |
| 278 |
| 256 def post_package_version(self, version, name='test-package'): | 279 def post_package_version(self, version, name='test-package'): |
| 257 response = self.create_package(self.upload_archive(name, version)) | 280 response = self.create_package(self.upload_archive(name, version)) |
| 258 self.assert_json_success(response) | 281 self.assert_json_success(response) |
| 259 | 282 |
| 260 def create_package(self, upload, status=None): | 283 def create_package(self, upload, status=None): |
| 261 get_response = self.testapp.get('/api/packages/versions/new') | 284 get_response = self.testapp.get('/api/packages/versions/new') |
| 262 self.assertEqual(get_response.status_int, 200) | 285 self.assertEqual(get_response.status_int, 200) |
| 263 content = json.loads(get_response.body) | 286 content = json.loads(get_response.body) |
| 264 post_response = self.testapp.post(str(content['url']), | 287 post_response = self.testapp.post(str(content['url']), |
| 265 content['fields'], | 288 content['fields'], |
| (...skipping 10 matching lines...) Expand all Loading... |
| 276 | 299 |
| 277 def latest_version(self): | 300 def latest_version(self): |
| 278 return Package.get_by_key_name('test-package').latest_version.version | 301 return Package.get_by_key_name('test-package').latest_version.version |
| 279 | 302 |
| 280 def get_package_version(self, version): | 303 def get_package_version(self, version): |
| 281 return PackageVersion.get_by_name_and_version('test-package', version) | 304 return PackageVersion.get_by_name_and_version('test-package', version) |
| 282 | 305 |
| 283 def assert_package_updated_is_latest_version_created(self): | 306 def assert_package_updated_is_latest_version_created(self): |
| 284 package = Package.get_by_key_name('test-package') | 307 package = Package.get_by_key_name('test-package') |
| 285 self.assertEqual(package.updated, package.latest_version.created) | 308 self.assertEqual(package.updated, package.latest_version.created) |
| OLD | NEW |