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); }