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

Side by Side Diff: sdk/lib/_internal/pub/test/hosted/version_negotiation_test.dart

Issue 216373004: Use shelf handlers in ScheduledServer. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: code review Created 6 years, 8 months 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 library pub_tests; 5 library pub_tests;
6 6
7 import 'package:scheduled_test/scheduled_server.dart'; 7 import 'package:scheduled_test/scheduled_server.dart';
8 import 'package:scheduled_test/scheduled_test.dart'; 8 import 'package:scheduled_test/scheduled_test.dart';
9 import 'package:shelf/shelf.dart' as shelf;
9 10
10 import '../descriptor.dart' as d; 11 import '../descriptor.dart' as d;
11 import '../test_pub.dart'; 12 import '../test_pub.dart';
12 13
13 main() { 14 main() {
14 initConfig(); 15 initConfig();
15 16
16 forBothPubGetAndUpgrade((command) { 17 forBothPubGetAndUpgrade((command) {
17 integration('sends the correct Accept header', () { 18 integration('sends the correct Accept header', () {
18 var server = new ScheduledServer(); 19 var server = new ScheduledServer();
19 20
20 d.appDir({ 21 d.appDir({
21 "foo": { 22 "foo": {
22 "hosted": { 23 "hosted": {
23 "name": "foo", 24 "name": "foo",
24 "url": server.url.then((url) => url.toString()) 25 "url": server.url.then((url) => url.toString())
25 } 26 }
26 } 27 }
27 }).create(); 28 }).create();
28 29
29 var pub = startPub(args: [command.name]); 30 var pub = startPub(args: [command.name]);
30 31
31 server.handle('GET', '/api/packages/foo', (request) { 32 server.handle('GET', '/api/packages/foo', (request) {
32 expect(request.headers['Accept'], ['application/vnd.pub.v2+json']); 33 expect(request.headers['accept'],
34 equals('application/vnd.pub.v2+json'));
35 return new shelf.Response(200);
33 }); 36 });
34 37
35 pub.kill(); 38 pub.kill();
36 }); 39 });
37 40
38 integration('prints a friendly error if the version is out-of-date', () { 41 integration('prints a friendly error if the version is out-of-date', () {
39 var server = new ScheduledServer(); 42 var server = new ScheduledServer();
40 43
41 d.appDir({ 44 d.appDir({
42 "foo": { 45 "foo": {
43 "hosted": { 46 "hosted": {
44 "name": "foo", 47 "name": "foo",
45 "url": server.url.then((url) => url.toString()) 48 "url": server.url.then((url) => url.toString())
46 } 49 }
47 } 50 }
48 }).create(); 51 }).create();
49 52
50 var pub = startPub(args: [command.name]); 53 var pub = startPub(args: [command.name]);
51 54
52 server.handle('GET', '/api/packages/foo', (request) { 55 server.handle('GET', '/api/packages/foo',
53 request.response.statusCode = 406; 56 (request) => new shelf.Response(406));
54 request.response.close();
55 });
56 57
57 // TODO(nweiz): this shouldn't request the versions twice (issue 11077). 58 // TODO(nweiz): this shouldn't request the versions twice (issue 11077).
58 server.handle('GET', '/api/packages/foo', (request) { 59 server.handle('GET', '/api/packages/foo',
59 request.response.statusCode = 406; 60 (request) => new shelf.Response(406));
60 request.response.close();
61 });
62 61
63 pub.shouldExit(1); 62 pub.shouldExit(1);
64 63
65 pub.stderr.expect(emitsLines( 64 pub.stderr.expect(emitsLines(
66 "Pub 0.1.2+3 is incompatible with the current version of 127.0.0.1.\n" 65 "Pub 0.1.2+3 is incompatible with the current version of 127.0.0.1.\n"
67 "Upgrade pub to the latest version and try again.")); 66 "Upgrade pub to the latest version and try again."));
68 }); 67 });
69 }); 68 });
70 } 69 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698