void InvalidParityConnectionShouldNotPass() { string nodeId = "4816d758dd37833a3a5551001dac8a5fa737a342"; PayloadSigner signer = new PayloadSigner(nodeId, new FileKeyStore("./")); signer.Init(); RealTimeTelemetryManager mgr = new RealTimeTelemetryManager( nodeId, "http://127.0.0.1", "ws://127.0.0.1", "https://localhost:5010/api/ingress/realtime", "ED:40:5C:C9:E2:71:44:11:78:47:1C:09:6F:28:2E:B5:F9:4D:6E:CE:90:BC:64:5B:ED:9A:46:1F:20:E2:EE:4E", signer, _ftpMgr, true); var currentConsoleOut = Console.Out; using (var cop = new ConsoleOutputCapturer()) { mgr.SubscribeAndPost(false); string ret = cop.GetOuput(); Assert.Contains("Unable to connect to the remote server", ret); } }
void InvalidParseAndSignShouldNotPass(string data) { string nodeId = "4816d758dd37833a3a5551001dac8a5fa737a342"; PayloadSigner signer = new PayloadSigner(nodeId, new FileKeyStore("./")); signer.Init(); RealTimeTelemetryManager mgr = new RealTimeTelemetryManager( nodeId, "http://127.0.0.1", "ws://127.0.0.1", "https://localhost:5010/api/ingress/realtime", "ED:40:5C:C9:E2:71:44:11:78:47:1C:09:6F:28:2E:B5:F9:4D:6E:CE:90:BC:64:5B:ED:9A:46:1F:20:E2:EE:4E", signer, _ftpMgr, true); MethodInfo methodInfo = typeof(RealTimeTelemetryManager).GetMethod("ParseAndSignData", BindingFlags.NonPublic | BindingFlags.Instance); object[] parameters = { Encoding.ASCII.GetBytes(data) }; object ret = methodInfo.Invoke(mgr, parameters); Assert.Null(ret); }
void InvalidSendToInfluxShouldNotPass() { string nodeId = "4816d758dd37833a3a5551001dac8a5fa737a342"; PayloadSigner signer = new PayloadSigner(nodeId, new FileKeyStore("./")); signer.Init(); RealTimeTelemetryManager mgr = new RealTimeTelemetryManager( nodeId, "http://127.0.0.1", "ws://127.0.0.1", "https://localhost:5010/api/ingress/realtime", "ED:40:5C:C9:E2:71:44:11:78:47:1C:09:6F:28:2E:B5:F9:4D:6E:CE:90:BC:64:5B:ED:9A:46:1F:20:E2:EE:4E", signer, _ftpMgr, true); RealTimeTelemetryPayload rttp = new RealTimeTelemetryPayload { Client = "Parity", BlockNum = 0, BlockHash = "", BlockTS = 0, BlockReceived = 0, NumPeers = 0, NumTxInBlock = 0 }; RealTimeTelemetry rtt = new RealTimeTelemetry { NodeId = "", Payload = rttp, Signature = signer.SignPayload(JsonConvert.SerializeObject(rttp)) }; var currentConsoleOut = Console.Out; using (var cop = new ConsoleOutputCapturer()) { MethodInfo methodInfo = typeof(RealTimeTelemetryManager).GetMethod("SendDataToIngress", BindingFlags.NonPublic | BindingFlags.Instance); object[] parameters = { rtt }; methodInfo.Invoke(mgr, parameters); string ret = cop.GetOuput(); Assert.Contains("Connection refused", ret); //Assert.True(ret.Contains("ERROR Occurred While sending data to Ingress")); } }
void InvalidSignerShouldFailInstanceCreation() { string nodeId = "4816d758dd37833a3a5551001dac8a5fa737a342"; RealTimeTelemetryManager mgr = null; Assert.Throws <ArgumentException>(() => { mgr = new RealTimeTelemetryManager( nodeId, "http://127.0.0.1", "ws://127.0.0.1", "https://localhost:5010/api/ingress/realtime", "ED:40:5C:C9:E2:71:44:11:78:47:1C:09:6F:28:2E:B5:F9:4D:6E:CE:90:BC:64:5B:ED:9A:46:1F:20:E2:EE:4E", null, _ftpMgr, true); }); Assert.Null(mgr); }
void InvalidArgumentShouldFail(string nodeId, string jsonRpcURL, string webSocketURL, string ingressEndPoint, string ingressFingerPrint) { RealTimeTelemetryManager mgr = null; PayloadSigner signer = new PayloadSigner("4816d758dd37833a3a5551001dac8a5fa737a342", new FileKeyStore("./")); signer.Init(); Assert.Throws <ArgumentException>(() => { mgr = new RealTimeTelemetryManager( nodeId, jsonRpcURL, webSocketURL, ingressEndPoint, ingressFingerPrint, signer, _ftpMgr, true); }); Assert.Null(mgr); }