示例#1
0
 public void TestDefaultOverride()
 {
     var client = new LogControlClient(BASE_URL);
     Info toSet = new Info();
     toSet.Status["TransLog1"] = State.ON;
     toSet.Status["TransLog2"] = State.OFF;
     toSet.Status["TransLog3"] = State.ON;
     toSet.Status["TransLog4"] = State.OFF;
     var finfo = client.SetMulti(toSet, 5);
     CheckResult(finfo, "1");
     //Check default
     Assert.AreEqual(5, finfo.LogLevel, "Default logLevel should be overridden");
 }
示例#2
0
        public void TestMethod()
        {
            var client = new LogControlClient(BASE_URL);
            client.Headers.Add("Foo", FOO);
            client.Headers.Add("RequestId", REQUEST_ID);
            int onResponseCount = 0;

            client.OnComplete += (data) =>
                {
                    onResponseCount ++;
                    CheckLog(data.Url, data.Request, data.Response, data.Status);
                };

            client.OnStart += (d)=>
            {
                System.Diagnostics.Debug.WriteLine("Sending request for method {0} (Full URL: {1}) {2}", d.Url, d.Method, d.Stage);
                System.Diagnostics.Debug.WriteLine("Request headers {0} (ms)", d.RequestHeaders);
            };

            client.OnComplete += (d) => {
                System.Diagnostics.Debug.WriteLine("Sending request for method {0} (Full URL: {1}) {2}", d.Url, d.Method, d.Stage);
                System.Diagnostics.Debug.WriteLine("Request: {0}", Encoding.UTF8.GetString(d.Request));
                System.Diagnostics.Debug.WriteLine("Response: {0}", Encoding.UTF8.GetString(d.Response));
                System.Diagnostics.Debug.WriteLine("Request duration: {0} ms", d.DurationMilliseconds);
                string requestHeadersString = string.Join("\r\n", d.RequestHeaders.AllKeys.Select(k => { return k + ":" + d.RequestHeaders[k]; }).ToArray());
                System.Diagnostics.Debug.WriteLine("Request headers: {0}", requestHeadersString);
                string responseHeadersString = string.Join("\r\n", d.ResponseHeaders.AllKeys.Select(k => { return k + ":" + d.ResponseHeaders[k]; }).ToArray());
                System.Diagnostics.Debug.WriteLine("Response headers: {0}", responseHeadersString);
            };

            client.OnFailure += (d)=>
            {
                System.Diagnostics.Debug.WriteLine("Sending request for method {0} (Full URL: {1}) {2}", d.Url, d.Method, d.Stage);
                System.Diagnostics.Debug.WriteLine("Request: {0}", Encoding.UTF8.GetString(d.Request));
                System.Diagnostics.Debug.WriteLine("Response: {0}", Encoding.UTF8.GetString(d.Response));
                System.Diagnostics.Debug.WriteLine("Request duration: {0} (ms)", d.DurationMilliseconds);
                string requestHeadersString = string.Join("\r\n", d.RequestHeaders.AllKeys.Select(k => { return k + ":" + d.RequestHeaders[k]; }).ToArray());
                System.Diagnostics.Debug.WriteLine("Request headers: {0}", requestHeadersString);
                string responseHeadersString = string.Join("\r\n", d.ResponseHeaders.AllKeys.Select(k => { return k + ":" + d.ResponseHeaders[k]; }).ToArray());
                System.Diagnostics.Debug.WriteLine("Response headers: {0}", responseHeadersString);
                System.Diagnostics.Debug.WriteLine("Transport specific error code: {0}", d.Status);
            };

            client.AddJoke(new Joke() { Question = JOKE, Answer = ANSWER, DateAdded = DateTime.Now });
            client.SetLogStatus(Logs.ErrorLog, State.ON);
            client.SetLogStatus(Logs.MessageLog, State.OFF);
            Info toSet = new Info();
            toSet.Status["TransLog1"] = State.ON;
            toSet.Status["TransLog2"] = State.OFF;
            toSet.Status["TransLog3"] = State.ON;
            toSet.Status["TransLog4"] = State.OFF;
            var finfo = client.SetMulti(toSet);
            CheckResult(finfo, "1");
            //Check default
            Assert.AreEqual(1, finfo.LogLevel, "LogLevel should be set to 1 by default");

            Info info = client.GetLoggingStatus();
            CheckResult(info, "2");

            Assert.AreEqual(5, onResponseCount, "OnResponse event called wrong number of times");
        }