platform/drivers/rethinkdb/test/connection_test.dart

65 lines
1.7 KiB
Dart
Raw Permalink Normal View History

import 'dart:async';
import 'package:platform_driver_rethinkdb/platform_driver_rethinkdb.dart';
import 'package:test/test.dart';
main() {
RethinkDb r = RethinkDb();
test("connect() connects with defaults if no params are passed", () async {
Connection c = await r.connect();
expect(c, isNot(null));
c.close();
});
test("connect() connects with non-default if params are passed", () async {
Connection conn = await r.connect(
db: 'testDB',
host: "localhost",
port: 28015,
user: "admin",
password: "");
expect(conn, isNot(null));
conn.close();
});
test("connection should run onconnect and onclose listeners", () async {
int connectCounter = 0;
int closeCounter = 0;
f() => connectCounter++;
fClose() => closeCounter++;
Connection conn = await r.connect();
expect(connectCounter, equals(0));
conn.on('connect', f);
conn.on('close', fClose);
expect(closeCounter, equals(0));
conn.close();
conn.close();
expect(closeCounter, equals(1));
Connection c = await conn.connect();
expect(connectCounter, equals(1));
c.close();
});
test("connections with noreplywait should return a Future", () async {
Connection conn = await r.connect();
var fut = conn.noreplyWait();
expect(fut is Future, equals(true));
conn.close();
});
test("connections should return server info", () async {
Connection conn = await r.connect();
Map m = await conn.server();
expect(m.keys.length, equals(3));
expect(m.containsKey('id'), equals(true));
expect(m.containsKey('name'), equals(true));
expect(m.containsKey('proxy'), equals(true));
conn.close();
});
}