Skip to content

Refactor the test package-server #3230

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Nov 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
169 changes: 74 additions & 95 deletions test/add/common/add_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import '../../test_pub.dart';

void main() {
test('URL encodes the package name', () async {
await serveNoPackages();
await servePackages();

await d.appDir({}).create();

Expand All @@ -38,9 +38,8 @@ void main() {

group('normally', () {
test('fails if extra arguments are passed', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.2');
});
final server = await servePackages();
server.serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({'name': 'myapp'})
Expand All @@ -62,7 +61,8 @@ void main() {
});

test('adds a package from a pub server', () async {
await servePackages((builder) => builder.serve('foo', '1.2.3'));
final server = await servePackages();
server.serve('foo', '1.2.3');

await d.appDir({}).create();

Expand All @@ -76,10 +76,9 @@ void main() {
test(
'does not remove empty dev_dependencies while adding to normal dependencies',
() async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.file('pubspec.yaml', '''
Expand Down Expand Up @@ -109,7 +108,8 @@ void main() {

test('dry run does not actually add the package or modify the pubspec',
() async {
await servePackages((builder) => builder.serve('foo', '1.2.3'));
final server = await servePackages();
server.serve('foo', '1.2.3');

await d.appDir({}).create();

Expand All @@ -131,7 +131,8 @@ void main() {
test(
'adds a package from a pub server even when dependencies key does not exist',
() async {
await servePackages((builder) => builder.serve('foo', '1.2.3'));
final server = await servePackages();
server.serve('foo', '1.2.3');

await d.dir(appPath, [
d.pubspec({'name': 'myapp'})
Expand All @@ -146,10 +147,9 @@ void main() {

group('warns user to use pub upgrade if package exists', () {
test('if package is added without a version constraint', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.appDir({'foo': '1.2.2'}).create();

Expand All @@ -164,10 +164,9 @@ void main() {
});

test('if package is added with a specific version constraint', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.appDir({'foo': '1.2.2'}).create();

Expand All @@ -182,10 +181,9 @@ void main() {
});

test('if package is added with a version constraint range', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.appDir({'foo': '1.2.2'}).create();

Expand All @@ -201,10 +199,9 @@ void main() {
});

test('removes dev_dependency and add to normal dependency', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.file('pubspec.yaml', '''
Expand Down Expand Up @@ -237,10 +234,9 @@ environment:

group('dependency override', () {
test('passes if package does not specify a range', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({
Expand All @@ -264,9 +260,8 @@ environment:
});

test('passes if constraint matches git dependency override', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
});
final server = await servePackages();
server.serve('foo', '1.2.3');

await d.git('foo.git',
[d.libDir('foo'), d.libPubspec('foo', '1.2.3')]).create();
Expand Down Expand Up @@ -295,9 +290,8 @@ environment:
});

test('passes if constraint matches path dependency override', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.2');
});
final server = await servePackages();
server.serve('foo', '1.2.2');
await d.dir(
'foo', [d.libDir('foo'), d.libPubspec('foo', '1.2.2')]).create();

Expand Down Expand Up @@ -325,9 +319,8 @@ environment:
});

test('fails with bad version constraint', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
});
final server = await servePackages();
server.serve('foo', '1.2.3');

await d.dir(appPath, [
d.pubspec({'name': 'myapp', 'dependencies': {}})
Expand All @@ -348,10 +341,9 @@ environment:
});

test('fails if constraint does not match override', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({
Expand Down Expand Up @@ -381,9 +373,8 @@ environment:
});

test('fails if constraint matches git dependency override', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
});
final server = await servePackages();
server.serve('foo', '1.2.3');

await d.git('foo.git',
[d.libDir('foo'), d.libPubspec('foo', '1.0.0')]).create();
Expand Down Expand Up @@ -421,9 +412,8 @@ environment:

test('fails if constraint does not match path dependency override',
() async {
await servePackages((builder) {
builder.serve('foo', '1.2.2');
});
final server = await servePackages();
server.serve('foo', '1.2.2');
await d.dir(
'foo', [d.libDir('foo'), d.libPubspec('foo', '1.0.0')]).create();

Expand Down Expand Up @@ -462,7 +452,8 @@ environment:

group('--dev', () {
test('--dev adds packages to dev_dependencies instead', () async {
await servePackages((builder) => builder.serve('foo', '1.2.3'));
final server = await servePackages();
server.serve('foo', '1.2.3');

await d.dir(appPath, [
d.pubspec({'name': 'myapp', 'dev_dependencies': {}})
Expand All @@ -482,10 +473,9 @@ environment:

group('warns user to use pub upgrade if package exists', () {
test('if package is added without a version constraint', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({
Expand All @@ -510,10 +500,9 @@ environment:
});

test('if package is added with a specific version constraint', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({
Expand All @@ -538,10 +527,9 @@ environment:
});

test('if package is added with a version constraint range', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({
Expand All @@ -568,10 +556,9 @@ environment:

group('dependency override', () {
test('passes if package does not specify a range', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({
Expand All @@ -595,10 +582,8 @@ environment:
});

test('passes if constraint is git dependency', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
});

final server = await servePackages();
server.serve('foo', '1.2.3');
await d.git('foo.git',
[d.libDir('foo'), d.libPubspec('foo', '1.2.3')]).create();

Expand Down Expand Up @@ -626,9 +611,8 @@ environment:
});

test('passes if constraint matches path dependency override', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.2');
});
final server = await servePackages();
server.serve('foo', '1.2.2');
await d.dir(
'foo', [d.libDir('foo'), d.libPubspec('foo', '1.2.2')]).create();

Expand Down Expand Up @@ -656,10 +640,9 @@ environment:
});

test('fails if constraint does not match override', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({
Expand Down Expand Up @@ -689,9 +672,8 @@ environment:
});

test('fails if constraint matches git dependency override', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
});
final server = await servePackages();
server.serve('foo', '1.2.3');

await d.git('foo.git',
[d.libDir('foo'), d.libPubspec('foo', '1.0.0')]).create();
Expand Down Expand Up @@ -729,9 +711,9 @@ environment:

test('fails if constraint does not match path dependency override',
() async {
await servePackages((builder) {
builder.serve('foo', '1.2.2');
});
final server = await servePackages();
server.serve('foo', '1.2.2');

await d.dir(
'foo', [d.libDir('foo'), d.libPubspec('foo', '1.0.0')]).create();

Expand Down Expand Up @@ -770,10 +752,9 @@ environment:
test(
'prints information saying that package is already a dependency if it '
'already exists and exits with a usage exception', () async {
await servePackages((builder) {
builder.serve('foo', '1.2.3');
builder.serve('foo', '1.2.2');
});
await servePackages()
..serve('foo', '1.2.3')
..serve('foo', '1.2.2');

await d.dir(appPath, [
d.pubspec({
Expand Down Expand Up @@ -805,9 +786,8 @@ environment:

/// Differs from the previous test because this tests YAML in flow format.
test('adds to empty ', () async {
await servePackages((builder) {
builder.serve('bar', '1.0.0');
});
final server = await servePackages();
server.serve('bar', '1.0.0');

await d.dir(appPath, [
d.file('pubspec.yaml', '''
Expand All @@ -825,10 +805,9 @@ environment:
});

test('preserves comments', () async {
await servePackages((builder) {
builder.serve('bar', '1.0.0');
builder.serve('foo', '1.0.0');
});
await servePackages()
..serve('bar', '1.0.0')
..serve('foo', '1.0.0');

await d.dir(appPath, [
d.file('pubspec.yaml', '''
Expand Down
Loading