public void TestGetDataWithStat() { using (var requestHandler = new TestRequestHandler()) using (var client = new RingMasterClient(requestHandler)) { string path = this.GetRandomString(); var watcher = new TestWatcher(this.GetRandomInt()); byte[] expectedData = this.GetRandomData(); var expectedStat = new Stat() { Version = this.GetRandomInt() }; requestHandler.Implementation = request => { Assert.IsTrue(request is RequestGetData); var getDataRequest = (RequestGetData)request; Assert.AreEqual(path, getDataRequest.Path); Assert.AreEqual(watcher.Id, getDataRequest.Watcher.Id); return(new RequestResponse() { ResultCode = (int)RingMasterException.Code.Ok, Content = expectedData, Stat = expectedStat }); }; var dataAndStat = client.GetDataWithStat(path, watcher).Result; Assert.AreEqual(expectedStat.Version, dataAndStat.Item1.Version); CollectionAssert.AreEqual(expectedData, dataAndStat.Item2); } }
public void TestGetChildren() { using (var requestHandler = new TestRequestHandler()) using (var client = new RingMasterClient(requestHandler)) { string path = this.GetRandomString(); string retrievalCondition = this.GetRandomString(); var watcher = new TestWatcher(this.GetRandomInt()); IReadOnlyList <string> expectedChildren = new string[] { this.GetRandomString(), this.GetRandomString() }; requestHandler.Implementation = request => { Assert.IsTrue(request is RequestGetChildren); var getChildrenRequest = (RequestGetChildren)request; Assert.AreEqual(path, getChildrenRequest.Path); Assert.AreEqual(watcher.Id, getChildrenRequest.Watcher.Id); return(new RequestResponse() { ResultCode = (int)RingMasterException.Code.Ok, Content = expectedChildren }); }; client.SetWatcher(watcher); var children = client.GetChildren(path, watch: true, retrievalCondition: retrievalCondition).Result; Assert.AreEqual(expectedChildren.Count, children.Count); for (int i = 0; i < expectedChildren.Count; i++) { Assert.AreEqual(expectedChildren[i], children[i]); } } }
public void TestExists() { using (var requestHandler = new TestRequestHandler()) using (var client = new RingMasterClient(requestHandler)) { string path = this.GetRandomString(); var version = this.GetRandomInt(); var watcher = new TestWatcher(this.GetRandomInt()); var expectedStat = new Stat() { Version = this.GetRandomInt() }; requestHandler.Implementation = request => { Assert.IsTrue(request is RequestExists); var existsRequest = (RequestExists)request; Assert.AreEqual(path, existsRequest.Path); Assert.AreEqual(watcher.Id, existsRequest.Watcher.Id); return(new RequestResponse() { ResultCode = (int)RingMasterException.Code.Ok, Content = expectedStat }); }; client.SetWatcher(watcher); IStat stat = client.Exists(path, watch: true).Result; Assert.IsNotNull(stat); Assert.AreEqual(expectedStat.Version, stat.Version); } }
public void TestConstructorWithConnectionStringAndThumbprints() { var clientCertificateThumbprints = GetLocalCertificates(1).Select(c => c.GetCertHashString()).ToArray(); var serverCertificateThumbprints = GetLocalCertificates(1).Select(c => c.GetCertHashString()).ToArray(); try { var watcher = new TestWatcher(0); using (var client = new RingMasterClient("127.0.0.1:0", clientCertificateThumbprints, serverCertificateThumbprints, 0, watcher)) { client.Sync("/").Wait(); } } catch (Exception) { } }
public void TestConstructorWithConnectionStringAndCertificates() { var clientCertificates = GetLocalCertificates(1); var serverCertificates = GetLocalCertificates(1); try { var watcher = new TestWatcher(0); using (var client = new RingMasterClient("127.0.0.1:0", clientCertificates, serverCertificates, 0, watcher)) { client.Sync("/").Wait(); } } catch (Exception) { } }