public void MyTestInitialize() { // check whether it is in the cluster environment or not if (!Constants.isClusterEnv(sdb)) { Console.WriteLine("removeRG is for cluster environment only."); return; } // argument groupName = config.conf.Groups[0].GroupName; hostName = config.conf.Groups[0].Nodes[0].HostName; port = config.conf.Groups[0].Nodes[0].Port; dbpath = config.conf.Groups[0].Nodes[0].DBPath; // drop the exist group group = sdb.GetReplicaGroup(groupName); if (group != null) { // drop all the cs in current group, and then remove this group int nodeNum = group.GetNodeNum(SDBConst.NodeStatus.SDB_NODE_ALL); if (nodeNum > 0) { var nd = group.GetMaster(); Sequoiadb db = new Sequoiadb(nd.HostName, nd.Port); Assert.IsTrue(nd.Start()); db.Connect(config.conf.UserName, config.conf.Password); DBCursor cursor = db.ListCollectionSpaces(); while (cursor.Next() != null) { BsonDocument obj = cursor.Current(); string temp = null; if (obj.Contains("Name")) { temp = obj["Name"].AsString; } sdb.DropCollectionSpace(temp); } db.Disconnect(); } try { sdb.RemoveReplicaGroup(group.GroupName); } catch (BaseException e) { string errInfo = e.Message; Console.WriteLine("Error code is: " + errInfo); } } // create a new group group = sdb.CreateReplicaGroup(groupName); Assert.IsTrue(groupName.Equals(group.GroupName)); // create a node Dictionary <string, string> map = new Dictionary <string, string>(); map.Add("diaglevel", config.conf.Groups[0].Nodes[0].DiagLevel); node = group.CreateNode(hostName, port, dbpath, map); Assert.IsNotNull(node); group.Start(); }
public void RGTest() { // check whether it is in the cluster environment or not if (!Constants.isClusterEnv(sdb)) { Console.WriteLine("removeRG is for cluster environment only."); return; } group = sdb.GetReplicaGroup(groupName); if (group == null) { group = sdb.CreateReplicaGroup(groupName); } ReplicaGroup group1 = sdb.GetReplicaGroup(group.GroupID); Assert.AreEqual(group.GroupName, group1.GroupName); ReplicaGroup group2 = sdb.GetReplicaGroup(1); Assert.IsNotNull(group2); node = group.GetNode(hostName, port); if (node == null) { string dbpath = config.conf.Groups[0].Nodes[0].DBPath; Dictionary <string, string> map = new Dictionary <string, string>(); map.Add("diaglevel", config.conf.Groups[0].Nodes[0].DiagLevel); node = group.CreateNode(hostName, port, dbpath, map); } group.Start(); int num = group.GetNodeNum(SDBConst.NodeStatus.SDB_NODE_ALL); Assert.IsTrue(num > 0); BsonDocument detail = group.GetDetail(); string gn = detail["GroupName"].AsString; Assert.IsTrue(groupName.Equals(gn)); var master = group.GetMaster(); Assert.IsNotNull(master); var slave = group.GetSlave(); Assert.IsNotNull(slave); Assert.IsTrue(node.Stop()); Assert.IsTrue(node.Start()); SDBConst.NodeStatus status = node.GetStatus(); Assert.IsTrue(status == SDBConst.NodeStatus.SDB_NODE_ACTIVE); Sequoiadb db = node.Connect(config.conf.UserName, config.conf.Password); db.Disconnect(); node.Stop(); group.Stop(); }
public void MyTestInitialize() { // check whether it is in the cluster environment or not if (!Constants.isClusterEnv(sdb)) { Console.WriteLine("removeRG is for cluster environment only."); return; } // argument groupName = config.conf.Groups[0].GroupName; hostName = config.conf.Groups[0].Nodes[0].HostName; port = config.conf.Groups[0].Nodes[0].Port; dbpath = config.conf.Groups[0].Nodes[0].DBPath; // drop the exist group group = sdb.GetReplicaGroup(groupName); if (group != null) { // drop all the cs in current group, and then remove this group int nodeNum = group.GetNodeNum(SDBConst.NodeStatus.SDB_NODE_ALL); if (nodeNum > 0) { var nd = group.GetMaster(); Sequoiadb db = new Sequoiadb(nd.HostName, nd.Port); Assert.IsTrue(nd.Start()); db.Connect(config.conf.UserName, config.conf.Password); DBCursor cursor = db.ListCollectionSpaces(); while (cursor.Next() != null) { BsonDocument obj = cursor.Current(); string temp = null; if (obj.Contains("Name")) temp = obj["Name"].AsString; sdb.DropCollectionSpace(temp); } db.Disconnect(); } try { sdb.RemoveReplicaGroup(group.GroupName); } catch (BaseException e) { string errInfo = e.Message; Console.WriteLine("Error code is: " + errInfo); } } // create a new group group = sdb.CreateReplicaGroup(groupName); Assert.IsTrue(groupName.Equals(group.GroupName)); // create a node Dictionary<string, string> map = new Dictionary<string, string>(); map.Add("diaglevel", config.conf.Groups[0].Nodes[0].DiagLevel); node = group.CreateNode(hostName, port, dbpath, map); Assert.IsNotNull(node); group.Start(); }
public void RGTest() { // check whether it is in the cluster environment or not if (!Constants.isClusterEnv(sdb)) { Console.WriteLine("removeRG is for cluster environment only."); return; } group = sdb.GetReplicaGroup(groupName); if (group == null) group = sdb.CreateReplicaGroup(groupName); ReplicaGroup group1 = sdb.GetReplicaGroup(group.GroupID); Assert.AreEqual(group.GroupName, group1.GroupName); ReplicaGroup group2 = sdb.GetReplicaGroup(1); Assert.IsNotNull(group2); node = group.GetNode(hostName, port); if (node == null) { string dbpath = config.conf.Groups[0].Nodes[0].DBPath; Dictionary<string, string> map = new Dictionary<string, string>(); map.Add("diaglevel", config.conf.Groups[0].Nodes[0].DiagLevel); node = group.CreateNode(hostName, port, dbpath, map); } group.Start(); int num = group.GetNodeNum(SDBConst.NodeStatus.SDB_NODE_ALL); Assert.IsTrue(num > 0); BsonDocument detail = group.GetDetail(); string gn = detail["GroupName"].AsString; Assert.IsTrue(groupName.Equals(gn)); var master = group.GetMaster(); Assert.IsNotNull(master); var slave = group.GetSlave(); Assert.IsNotNull(slave); Assert.IsTrue(node.Stop()); Assert.IsTrue(node.Start()); SDBConst.NodeStatus status = node.GetStatus(); Assert.IsTrue(status == SDBConst.NodeStatus.SDB_NODE_ACTIVE); Sequoiadb db = node.Connect(config.conf.UserName, config.conf.Password); db.Disconnect(); node.Stop(); group.Stop(); }