blob: cd5c2dc815df56c3f7dc49af46c9071b80fc16d7 [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:test/test.dart';
import '../../test_pub.dart';
void main() {
test('activating a package from a custom pub server', () async {
// The default pub server (i.e. pub.dev).
final server = await servePackages();
server.serve('baz', '1.0.0');
// The custom pub server.
final customServer = await startPackageServer();
Map<String, dynamic> hostedDep(String name, String constraint) => {
'hosted': {
'url': customServer.url,
'name': name,
},
'version': constraint,
};
customServer.serve('foo', '1.0.0', deps: {'bar': hostedDep('bar', 'any')});
customServer.serve('bar', '1.0.0', deps: {'baz': 'any'});
await runPub(
args: ['global', 'activate', 'foo', '-u', customServer.url],
silent: allOf([
contains('Downloading bar 1.0.0...'),
contains('Downloading baz 1.0.0...'),
contains('Downloading foo 1.0.0...'),
]),
output: contains('Activated foo 1.0.0'),
);
});
}