public void GetListTest() { BsonDocument dummy = new BsonDocument(); BsonDocument bson = null; DBCursor cursor = null; Sequoiadb db = new Sequoiadb(config.conf.Coord.Address); db.Connect(); // list transation sdb.TransactionBegin(); try { BsonDocument o = null; coll.Insert(new BsonDocument()); cursor = sdb.GetList(SDBConst.SDB_LIST_TRANSACTIONS, dummy, dummy, dummy); Console.WriteLine("the result of SDB_LIST_TRANSACTIONS is: "); while (null != (o = cursor.Next())) { Console.WriteLine(o); } cursor = sdb.GetList(SDBConst.SDB_LIST_TRANSACTIONS_CURRENT, dummy, dummy, dummy); Console.WriteLine("the result of SDB_LIST_TRANSACTIONS_CURRENT is: "); while (null != (o = cursor.Next())) { Console.WriteLine(o); } } finally { sdb.TransactionCommit(); } // list cs cursor = db.GetList(SDBConst.SDB_LIST_COLLECTIONSPACES, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); // list cl cursor = db.GetList(SDBConst.SDB_LIST_COLLECTIONS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); BsonDocument obj = new BsonDocument("test", "test"); coll.Insert(obj); // list groups // check whether it is in the cluster environment or not if (Constants.isClusterEnv(db)) { cursor = db.GetList(SDBConst.SDB_LIST_GROUPS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); } // list task cursor = db.GetList(SDBConst.SDB_LIST_TASKS, dummy, dummy, dummy); Assert.IsNotNull(cursor); // list domains if (Constants.isClusterEnv(db)) { string dmName = "testListDomain"; Domain dm = db.CreateDomain(dmName, null); cursor = null; cursor = db.ListDomains(null, null, null, null); Assert.IsNotNull(cursor); Assert.IsNotNull(cursor.Next()); db.DropDomain(dmName); } // list stored procedure cursor = db.GetList(SDBConst.SDB_LIST_STOREPROCEDURES, dummy, dummy, dummy); Assert.IsNotNull(cursor); // list all the contexts if (Constants.isClusterEnv(db)) { db.Disconnect(); db = new Sequoiadb(config.conf.Data.Address); db.Connect(config.conf.UserName, config.conf.Password); } cursor = db.GetList(SDBConst.SDB_LIST_CONTEXTS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); // list current context cursor = db.GetList(SDBConst.SDB_LIST_CONTEXTS_CURRENT, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); // list all the sessions cursor = db.GetList(SDBConst.SDB_LIST_SESSIONS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); // list current session cursor = db.GetList(SDBConst.SDB_LIST_SESSIONS_CURRENT, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); // list storge units cursor = db.GetList(SDBConst.SDB_LIST_STORAGEUNITS, dummy, dummy, dummy); Assert.IsNotNull(cursor); bson = cursor.Next(); Assert.IsNotNull(bson); db.Disconnect(); }
public void DomainGlobalTest() { string dmName = "testDomainInCS"; string csName = "domainCS"; string clName = "domainCL"; string groupName = config.conf.Groups[0].GroupName; BsonDocument options = new BsonDocument(); BsonArray arr = new BsonArray(); arr.Add(groupName); options.Add(SequoiadbConstants.FIELD_GROUPS, arr); Domain dm = null; DBCursor cur = null; BsonDocument record = null; /// IsDomainExist bool flag = sdb.IsDomainExist(dmName); Assert.IsFalse(flag); /// getDomain try { dm = sdb.GetDomain(dmName); } catch (BaseException e) { Assert.IsTrue(e.ErrorType.Equals("SDB_CAT_DOMAIN_NOT_EXIST")); } /// createDomain dm = null; dm = sdb.CreateDomain(dmName, options); Assert.IsNotNull(dm); /// IsDomainExist flag = false; flag = sdb.IsDomainExist(dmName); Assert.IsTrue(flag); /// getDomain dm = null; dm = sdb.GetDomain(dmName); Assert.IsNotNull(dm); /// listDomains cur = sdb.ListDomains(null, null, null, null); Assert.IsNotNull(cur); record = cur.Next(); Assert.IsNotNull(record); /// getName string name = dm.Name; Assert.IsTrue(name.Equals(dmName)); // create cs BsonDocument opts1 = new BsonDocument(); opts1.Add("Domain", dmName); CollectionSpace cs = sdb.CreateCollectionSpace(csName, opts1); // create cl BsonDocument opts2 = new BsonDocument(); //BsonDocument key = new BsonDocument(); //key.Add("a", 1); opts2.Add("ShardingKey", new BsonDocument("a", 1)); opts2.Add("ShardingType", "hash"); opts2.Add("AutoSplit", true); DBCollection cl = cs.CreateCollection(clName, opts2); /// listCS cur = dm.ListCS(); Assert.IsNotNull(cur); record = cur.Next(); Assert.IsNotNull(record); /// listCL cur = dm.ListCL(); Assert.IsNotNull(cur); record = cur.Next(); Assert.IsNotNull(record); // dropCS sdb.DropCollectionSpace(csName); /// alter /// TODO: alter should be verified BsonDocument opts3 = new BsonDocument(); BsonArray arr2 = new BsonArray(); opts3.Add("Groups", arr2); opts3.Add("AutoSplit", false); dm.Alter(opts3); /// listDomains cur = sdb.ListDomains(null, null, null, null); Assert.IsNotNull(cur); record = cur.Next(); Assert.IsNotNull(record); /// dropDomain sdb.DropDomain(dmName); /// listDomains cur = sdb.ListDomains(null, null, null, null); Assert.IsNotNull(cur); record = cur.Next(); Assert.IsNull(record); }