public void TestGetLog() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); var logger = app.Make <ILogger>(); logger.Debug("hello world"); logger.Warning("my name is {0}", "catlib"); string ret; var statu = HttpHelper.Get("http://localhost:9478/debug/log/get-log/1", out ret); logger.Warning("my name is {0}", "catlib2"); string ret2; var statu2 = HttpHelper.Get("http://localhost:9478/debug/log/get-log/1", out ret2); console.Stop(); var json = app.Make <IJson>(); var retJson = json.Decode <JsonObject>(ret)["Response"] as IList <object>; var ret2Json = json.Decode <JsonObject>(ret2)["Response"] as IList <object>; Assert.AreEqual(HttpStatusCode.OK, statu); var id = (retJson[0] as IDictionary <string, object>)["id"]; Assert.AreEqual((long)id + 1, (retJson[1] as IDictionary <string, object>)["id"]); Assert.AreEqual(HttpStatusCode.OK, statu2); Assert.AreEqual((long)id + 2, (ret2Json[0] as IDictionary <string, object>)["id"]); }
public void TestNotFoundMonitor() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); var monitor = app.Make <IMonitor>(); App.Instance("DebuggerProvider.IndexMonitor", new List <string> { "titlenotfound", "title" }); var handler = new OnceRecordMonitorHandler("title", "ms", new[] { "tags" }, () => "helloworld"); monitor.Monitor(handler); string ret; var statu = HttpHelper.Get("http://localhost:9478/debug/monitor/get-monitors-index", out ret); console.Stop(); Assert.AreEqual(HttpStatusCode.OK, statu); Assert.AreEqual( "{\"Response\":[{\"name\":\"title\",\"value\":\"helloworld\",\"unit\":\"ms\",\"tags\":[\"tags\"]}]}", ret); }
public void TestSetSkipRecursiveCall() { logLevel = string.Empty; var app = DebuggerHelper.GetApplication(false); var logger = app.Make <ILogger>(); ExceptionAssert.DoesNotThrow(() => { (logger as Logger).SetSkip(0); }); ExceptionAssert.DoesNotThrow(() => { var flag = BindingFlags.Instance | BindingFlags.NonPublic; var type = logger.GetType(); var field = type.GetField("skipFrames", flag); (logger as Logger).SetSkip(10, () => { (logger as Logger).SetSkip(20, () => { Assert.AreEqual(10, (int)field.GetValue(logger)); }); }); Assert.AreEqual(0, (int)field.GetValue(logger)); }); }
public void TestThrowError() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); bool isThrow = false; try { string ret; var statu = HttpHelper.Get("http://localhost:9478/catlib/http-debugger-console-tests/throw-error", out ret); } catch (WebException ex) { Assert.AreEqual(WebExceptionStatus.ProtocolError, ex.Status); isThrow = true; } finally { console.Stop(); } Assert.AreEqual(true, isThrow); }
public void TestGetGuid() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); string ret; var statu = HttpHelper.Get("http://localhost:9478/debug/http-debugger-console/get-guid", out ret); console.Stop(); Assert.AreEqual(HttpStatusCode.OK, statu); }
public void TestNoDispatcher() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); string ret; var statu = HttpHelper.Get("http://localhost:9478/", out ret); console.Stop(); Assert.AreEqual(HttpStatusCode.OK, statu); }
public void TestDebuggerConsole() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); string ret; var statu = HttpHelper.Get("http://localhost:9478/catlib/http-debugger-console-tests/simple-call", out ret); console.Stop(); Assert.AreEqual(HttpStatusCode.OK, statu); Assert.AreEqual("{\"Response\":{\"hello\":\"world\"}}", ret); }
public void TestEcho() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); string ret; var statu = HttpHelper.Get("http://localhost:9478/debug/util/echo/helloworld", out ret); console.Stop(); Assert.AreEqual(HttpStatusCode.OK, statu); Assert.AreEqual(string.Empty, ret); }
public void AssertLog(Func <ILogger, string> doLogger) { logLevel = string.Empty; var app = DebuggerHelper.GetApplication(false); var logger = app.Make <ILogger>(); (logger as Logger).AddLogHandler(new TestHandler()); var result = doLogger(logger); Assert.AreEqual(result + result + "helloworld", logLevel); }
public void OnDestroyTest() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); app.Release <HttpDebuggerConsole>(); string ret; ExceptionAssert.Throws <WebException>(() => { var statu = HttpHelper.Get("http://localhost:9478/", out ret); }); }
public void TestRepeatRegisterMonitor() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); var monitor = app.Make <IMonitor>(); var handler = new OnceRecordMonitorHandler("title", "ms", new[] { "tags" }, () => "helloworld"); monitor.Monitor(handler); console.Stop(); ExceptionAssert.Throws <RuntimeException>(() => { monitor.Monitor(handler); }); }
public void TestForEachMonitor() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); var monitor = app.Make <MonitorStore>(); console.Stop(); var handler = new OnceRecordMonitorHandler("title", "ms", new[] { "tags" }, () => "helloworld"); monitor.Monitor(handler); foreach (var result in monitor) { Assert.AreEqual(handler, result); break; } }
public void TestSetSkip() { logLevel = string.Empty; var app = DebuggerHelper.GetApplication(false); var logger = app.Make <ILogger>(); ExceptionAssert.DoesNotThrow(() => { (logger as Logger).SetSkip(0); }); ExceptionAssert.DoesNotThrow(() => { (logger as Logger).SetSkip(10, () => { }); }); }
public void RepeatStartTest() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); console.Start(); string ret; HttpStatusCode statu; try { statu = HttpHelper.Get("http://localhost:9478/", out ret); } finally { console.Stop(); } Assert.AreEqual(HttpStatusCode.OK, statu); }
public void TestMissingMethodExceptionMonitor() { var app = DebuggerHelper.GetApplication(); var console = app.Make <HttpDebuggerConsole>(); var monitor = app.Make <IMonitor>(); App.Instance("Debugger.WebMonitor.Monitor.IndexMonitor", new List <string> { "test", }); monitor.Monitor(new ThrowMissingMethodExceptionHandler()); string ret; var statu = HttpHelper.Get("http://localhost:9478/debug/monitor/get-monitors-index", out ret); console.Stop(); Assert.AreEqual(HttpStatusCode.OK, statu); Assert.AreEqual( "{\"Response\":[{\"name\":\"test\",\"value\":\"code.notSupport\",\"unit\":\"\",\"tags\":[\"tag\"]}]}", ret); }