blob: 1ce6643223c283de4cdabe39999ca915669e48e5 [file] [log] [blame]
library syncbase_row_test;
import 'dart:convert' show UTF8;
import 'package:test/test.dart';
import 'package:ether/syncbase_client.dart' show SyncbaseClient;
import './utils.dart' as utils;
runRowTests(SyncbaseClient c) {
test('getting a handle to a row', () {
var app = c.app(utils.uniqueName('app'));
var db = app.noSqlDatabase(utils.uniqueName('db'));
var table = db.table(utils.uniqueName('table'));
var rowName = utils.uniqueName('row');
var row = table.row(rowName);
expect(row.relativeName, equals(rowName));
expect(row.fullName, equals(table.fullName + '/' + rowName));
});
test('putting and getting a row', () async {
var app = c.app(utils.uniqueName('app'));
await app.create(utils.emptyPerms());
var db = app.noSqlDatabase(utils.uniqueName('db'));
await db.create(utils.emptyPerms());
var table = db.table(utils.uniqueName('table'));
await table.create(utils.emptyPerms());
var row = table.row(utils.uniqueName('row'));
expect(await row.exists(), equals(false));
var value1 = UTF8.encode("foo");
await row.put(value1);
expect(await row.exists(), equals(true));
expect(await row.get(), equals(value1));
var value2 = UTF8.encode("bar");
await row.put(value2);
expect(await row.exists(), equals(true));
expect(await row.get(), equals(value2));
await row.delete();
expect(await row.exists(), equals(false));
});
}