Exemple #1
0
        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"]);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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);
            });
        }
Exemple #11
0
        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);
            });
        }
Exemple #12
0
        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;
            }
        }
Exemple #13
0
        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);
        }
Exemple #15
0
        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);
        }