| 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 library pub_uploader_test; | 5 library pub_uploader_test; |
| 6 | 6 |
| 7 import 'dart:convert'; | 7 import 'dart:convert'; |
| 8 import 'dart:io'; | |
| 9 | 8 |
| 10 import 'package:scheduled_test/scheduled_process.dart'; | 9 import 'package:scheduled_test/scheduled_process.dart'; |
| 11 import 'package:scheduled_test/scheduled_server.dart'; | 10 import 'package:scheduled_test/scheduled_server.dart'; |
| 12 import 'package:scheduled_test/scheduled_test.dart'; | 11 import 'package:scheduled_test/scheduled_test.dart'; |
| 13 import 'package:shelf/shelf.dart' as shelf; | 12 import 'package:shelf/shelf.dart' as shelf; |
| 14 | 13 |
| 15 import '../lib/src/exit_codes.dart' as exit_codes; | 14 import '../lib/src/exit_codes.dart' as exit_codes; |
| 16 import '../lib/src/io.dart'; | |
| 17 import '../lib/src/utils.dart'; | 15 import '../lib/src/utils.dart'; |
| 18 import 'descriptor.dart' as d; | 16 import 'descriptor.dart' as d; |
| 19 import 'test_pub.dart'; | 17 import 'test_pub.dart'; |
| 20 | 18 |
| 21 final USAGE_STRING = ''' | 19 final USAGE_STRING = ''' |
| 22 Manage uploaders for a package on pub.dartlang.org. | 20 Manage uploaders for a package on pub.dartlang.org. |
| 23 | 21 |
| 24 Usage: pub uploader [options] {add/remove} <email> | 22 Usage: pub uploader [options] {add/remove} <email> |
| 25 -h, --help Print usage information for this command. | 23 -h, --help Print usage information for this command. |
| 26 --server The package server on which the package is hosted. | 24 --server The package server on which the package is hosted. |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 d.validPackage.create(); | 95 d.validPackage.create(); |
| 98 | 96 |
| 99 var server = new ScheduledServer(); | 97 var server = new ScheduledServer(); |
| 100 d.credentialsFile(server, 'access token').create(); | 98 d.credentialsFile(server, 'access token').create(); |
| 101 var pub = startPubUploader(server, ['add', 'email']); | 99 var pub = startPubUploader(server, ['add', 'email']); |
| 102 | 100 |
| 103 server.handle('POST', '/api/packages/test_pkg/uploaders', (request) { | 101 server.handle('POST', '/api/packages/test_pkg/uploaders', (request) { |
| 104 return new shelf.Response.ok(JSON.encode({ | 102 return new shelf.Response.ok(JSON.encode({ |
| 105 'success': {'message': 'Good job!'} | 103 'success': {'message': 'Good job!'} |
| 106 }), headers: {'content-type': 'application/json'}); | 104 }), headers: {'content-type': 'application/json'}); |
| 107 request.response.close(); | |
| 108 }); | 105 }); |
| 109 | 106 |
| 110 pub.stdout.expect('Good job!'); | 107 pub.stdout.expect('Good job!'); |
| 111 pub.shouldExit(exit_codes.SUCCESS); | 108 pub.shouldExit(exit_codes.SUCCESS); |
| 112 }); | 109 }); |
| 113 | 110 |
| 114 integration('add provides an error', () { | 111 integration('add provides an error', () { |
| 115 var server = new ScheduledServer(); | 112 var server = new ScheduledServer(); |
| 116 d.credentialsFile(server, 'access token').create(); | 113 d.credentialsFile(server, 'access token').create(); |
| 117 var pub = startPubUploader(server, ['--package', 'pkg', 'add', 'email']); | 114 var pub = startPubUploader(server, ['--package', 'pkg', 'add', 'email']); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 | 160 |
| 164 server.handle('DELETE', '/api/packages/pkg/uploaders/email', | 161 server.handle('DELETE', '/api/packages/pkg/uploaders/email', |
| 165 (request) => new shelf.Response.ok("{not json")); | 162 (request) => new shelf.Response.ok("{not json")); |
| 166 | 163 |
| 167 pub.stderr.expect(emitsLines( | 164 pub.stderr.expect(emitsLines( |
| 168 'Invalid server response:\n' | 165 'Invalid server response:\n' |
| 169 '{not json')); | 166 '{not json')); |
| 170 pub.shouldExit(1); | 167 pub.shouldExit(1); |
| 171 }); | 168 }); |
| 172 } | 169 } |
| OLD | NEW |