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 'dart:convert'; | 5 import 'dart:convert'; |
6 | 6 |
7 import 'package:scheduled_test/scheduled_test.dart'; | 7 import 'package:scheduled_test/scheduled_test.dart'; |
8 import 'package:scheduled_test/scheduled_server.dart'; | 8 import 'package:scheduled_test/scheduled_server.dart'; |
9 | 9 |
| 10 import '../../lib/src/exit_codes.dart' as exit_codes; |
10 import '../descriptor.dart' as d; | 11 import '../descriptor.dart' as d; |
11 import '../test_pub.dart'; | 12 import '../test_pub.dart'; |
12 import 'utils.dart'; | 13 import 'utils.dart'; |
13 | 14 |
14 main() { | 15 main() { |
15 initConfig(); | 16 initConfig(); |
16 setUp(d.validPackage.create); | 17 setUp(d.validPackage.create); |
17 | 18 |
18 integration('archives and uploads a package', () { | 19 integration('archives and uploads a package', () { |
19 var server = new ScheduledServer(); | 20 var server = new ScheduledServer(); |
20 d.credentialsFile(server, 'access token').create(); | 21 d.credentialsFile(server, 'access token').create(); |
21 var pub = startPublish(server); | 22 var pub = startPublish(server); |
22 | 23 |
23 confirmPublish(pub); | 24 confirmPublish(pub); |
24 handleUploadForm(server); | 25 handleUploadForm(server); |
25 handleUpload(server); | 26 handleUpload(server); |
26 | 27 |
27 server.handle('GET', '/create', (request) { | 28 server.handle('GET', '/create', (request) { |
28 request.response.write(JSON.encode({ | 29 request.response.write(JSON.encode({ |
29 'success': {'message': 'Package test_pkg 1.0.0 uploaded!'} | 30 'success': {'message': 'Package test_pkg 1.0.0 uploaded!'} |
30 })); | 31 })); |
31 request.response.close(); | 32 request.response.close(); |
32 }); | 33 }); |
33 | 34 |
34 expect(pub.nextLine(), completion(matches(r'Uploading\.\.\.+'))); | 35 expect(pub.nextLine(), completion(matches(r'Uploading\.\.\.+'))); |
35 | 36 |
36 expect(pub.nextLine(), | 37 expect(pub.nextLine(), |
37 completion(equals('Package test_pkg 1.0.0 uploaded!'))); | 38 completion(equals('Package test_pkg 1.0.0 uploaded!'))); |
38 pub.shouldExit(0); | 39 pub.shouldExit(exit_codes.SUCCESS); |
39 }); | 40 }); |
40 | 41 |
41 // TODO(nweiz): Once a multipart/form-data parser in Dart exists, we should | 42 // TODO(nweiz): Once a multipart/form-data parser in Dart exists, we should |
42 // test that "pub lish" chooses the correct files to publish. | 43 // test that "pub lish" chooses the correct files to publish. |
43 } | 44 } |
OLD | NEW |