You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PassWorld-API/test/server_test.dart

46 lines
1.1 KiB

import 'dart:io';
import 'package:http/http.dart';
import 'package:test/test.dart';
void main() {
final port = '8080';
final host = 'http://0.0.0.0:$port';
late Process p;
setUp(() async {
p = await Process.start(
'dart',
['run', 'bin/server.dart'],
environment: {'PORT': port},
);
// Wait for server to start and print to stdout.
await p.stdout.first;
});
tearDown(() => p.kill());
test('Root', () async {
final response = await get(Uri.parse('$host/'));
expect(response.statusCode, 200);
expect(response.body, 'Greetings from PassWorld!\n');
});
// test('Echo', () async {
// final response = await get(Uri.parse('$host/echo/hello'));
// expect(response.statusCode, 200);
// expect(response.body, 'hello\n');
// });
test('404', () async {
final response = await get(Uri.parse('$host/foobar'));
expect(response.body, 'Route not found\n');
});
test('Auth', () async {
final resonse = await get(Uri.parse('$host/auth'));
expect(resonse.statusCode, 400);
expect(resonse.body, 'false');
});
}