| 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:io'; | 7 import 'dart:io'; |
| 8 import 'dart:json' as json; | 8 import 'dart:json' as json; |
| 9 | 9 |
| 10 import 'package:scheduled_test/scheduled_process.dart'; | 10 import 'package:scheduled_test/scheduled_process.dart'; |
| 11 import 'package:scheduled_test/scheduled_server.dart'; | 11 import 'package:scheduled_test/scheduled_server.dart'; |
| 12 import 'package:scheduled_test/scheduled_test.dart'; | 12 import 'package:scheduled_test/scheduled_test.dart'; |
| 13 | 13 |
| 14 import '../lib/src/io.dart'; | 14 import '../lib/src/io.dart'; |
| 15 import '../lib/src/utils.dart'; | 15 import '../lib/src/utils.dart'; |
| 16 import 'descriptor.dart' as d; | 16 import 'descriptor.dart' as d; |
| 17 import 'test_pub.dart'; | 17 import 'test_pub.dart'; |
| 18 | 18 |
| 19 final USAGE_STRING = ''' | 19 final USAGE_STRING = ''' |
| 20 Manage uploaders for a package on pub.dartlang.org. | 20 Manage uploaders for a package on pub.dartlang.org. |
| 21 | 21 |
| 22 Usage: pub uploader [options] {add/remove} <email> | 22 Usage: pub uploader [options] {add/remove} <email> |
| 23 --server The package server on which the package is hosted | 23 -h, --help Print usage information for this command. |
| 24 --server The package server on which the package is hosted. |
| 24 (defaults to "https://pub.dartlang.org") | 25 (defaults to "https://pub.dartlang.org") |
| 25 | 26 |
| 26 --package The package whose uploaders will be modified | 27 --package The package whose uploaders will be modified. |
| 27 (defaults to the current package) | 28 (defaults to the current package) |
| 28 '''; | 29 '''; |
| 29 | 30 |
| 30 ScheduledProcess startPubUploader(ScheduledServer server, List<String> args) { | 31 ScheduledProcess startPubUploader(ScheduledServer server, List<String> args) { |
| 31 var tokenEndpoint = server.url.then((url) => | 32 var tokenEndpoint = server.url.then((url) => |
| 32 url.resolve('/token').toString()); | 33 url.resolve('/token').toString()); |
| 33 args = flatten(['uploader', '--server', tokenEndpoint, args]); | 34 args = flatten(['uploader', '--server', tokenEndpoint, args]); |
| 34 return startPub(args: args, tokenEndpoint: tokenEndpoint); | 35 return startPub(args: args, tokenEndpoint: tokenEndpoint); |
| 35 } | 36 } |
| 36 | 37 |
| 37 main() { | 38 main() { |
| 38 initConfig(); | 39 initConfig(); |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 server.handle('DELETE', '/api/packages/pkg/uploaders/email', (request) { | 176 server.handle('DELETE', '/api/packages/pkg/uploaders/email', (request) { |
| 176 request.response.write("{not json"); | 177 request.response.write("{not json"); |
| 177 request.response.close(); | 178 request.response.close(); |
| 178 }); | 179 }); |
| 179 | 180 |
| 180 expect(pub.nextErrLine(), completion(equals('Invalid server response:'))); | 181 expect(pub.nextErrLine(), completion(equals('Invalid server response:'))); |
| 181 expect(pub.nextErrLine(), completion(equals('{not json'))); | 182 expect(pub.nextErrLine(), completion(equals('{not json'))); |
| 182 pub.shouldExit(1); | 183 pub.shouldExit(1); |
| 183 }); | 184 }); |
| 184 } | 185 } |
| OLD | NEW |