Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(466)

Side by Side Diff: test/test_handlers/api/test_package_versions.py

Issue 104503011: Small CL to change the way format is used for package versions. (Closed) Base URL: https://github.com/dart-lang/pub-dartlang.git@master
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « app/handlers/api/package_versions.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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)
OLDNEW
« no previous file with comments | « app/handlers/api/package_versions.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698