public void Diagnoses_Test()
        {
            var responseMock = new Mock <HttpWebResponse>();

            responseMock.Setup(x => x.StatusCode).Returns(HttpStatusCode.BadRequest);
            responseMock.Setup(x => x.ContentType).Returns("image/png");
            responseMock.Setup(x => x.Headers).Returns(new WebHeaderCollection());
            responseMock.Setup(x => x.GetResponseStream()).Returns(new MemoryStream());

            var handlerMock = new Mock <IContentHandler>();

            handlerMock.Setup(x => x.ReadFrom(It.IsAny <Stream>()))
            .Returns(new[]
            {
                new Dictionary <string, object>
                {
                    { "severity", "Error" },
                    { "sdataCode", "BadUrlSyntax" },
                    { "applicationCode", "_ApplicationCode" },
                    { "message", "_Message" },
                    { "stackTrace", "_StackTrace" },
                    { "payloadPath", "_PayloadPath" }
                }
            });
            ContentManager.SetHandler(MediaType.ImagePng, handlerMock.Object);

            SDataException sDataEx = null;

            try
            {
                new SDataResponse(responseMock.Object, null);
            }
            catch (SDataException ex)
            {
                sDataEx = ex;
            }

            ContentManager.SetHandler(MediaType.ImagePng, null);

            Assert.That(sDataEx, Is.Not.Null);
            Assert.That(sDataEx.Diagnoses, Has.Count.EqualTo(1));
            var diagnosis = sDataEx.Diagnoses[0];

            Assert.That(diagnosis.Severity, Is.EqualTo(Severity.Error));
            Assert.That(diagnosis.SDataCode, Is.EqualTo(DiagnosisCode.BadUrlSyntax));
            Assert.That(diagnosis.ApplicationCode, Is.EqualTo("_ApplicationCode"));
            Assert.That(diagnosis.Message, Is.EqualTo("_Message"));
            Assert.That(diagnosis.StackTrace, Is.EqualTo("_StackTrace"));
            Assert.That(diagnosis.PayloadPath, Is.EqualTo("_PayloadPath"));
        }
示例#2
0
        public void Binary_Serialization_Test()
        {
            var input = new SDataException(
                new Diagnoses {
                new Diagnosis(Severity.Error, "test", DiagnosisCode.BadUrlSyntax, "code", "stack", "path")
            },
                HttpStatusCode.BadRequest);
            SDataException output;
            var            formatter = new BinaryFormatter();

            using (var stream = new MemoryStream())
            {
                formatter.Serialize(stream, input);
                stream.Seek(0, SeekOrigin.Begin);
                output = (SDataException)formatter.Deserialize(stream);
            }
            Assert.That(output.Diagnoses, Has.Count.EqualTo(1));
            Assert.That(output.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
        }
示例#3
0
        public void Diagnoses_Test()
        {
            var responseMock = new Mock <HttpWebResponse>();

            responseMock.Setup(x => x.StatusCode).Returns(HttpStatusCode.BadRequest);
            responseMock.Setup(x => x.ContentType).Returns("image/png");
            responseMock.Setup(x => x.GetResponseStream()).Returns(default(Stream));
            var webEx = new WebException("error", null, WebExceptionStatus.ConnectFailure, responseMock.Object);

            var handlerMock = new Mock <IContentHandler>();

            handlerMock.Setup(x => x.ReadFrom(It.IsAny <Stream>()))
            .Returns(new[]
            {
                new Dictionary <string, object>
                {
                    { "severity", "Error" },
                    { "sdataCode", "BadUrlSyntax" },
                    { "applicationCode", "_ApplicationCode" },
                    { "message", "_Message" },
                    { "stackTrace", "_StackTrace" },
                    { "payloadPath", "_PayloadPath" }
                }
            });
            ContentManager.SetHandler(MediaType.ImagePng, handlerMock.Object);

            var sDataEx = new SDataException(webEx);

            ContentManager.SetHandler(MediaType.ImagePng, null);

            Assert.That(sDataEx.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
            Assert.That(sDataEx.Diagnoses, Has.Count.EqualTo(1));
            var diagnosis = sDataEx.Diagnoses[0];

            Assert.That(diagnosis.Severity, Is.EqualTo(Severity.Error));
            Assert.That(diagnosis.SDataCode, Is.EqualTo(DiagnosisCode.BadUrlSyntax));
            Assert.That(diagnosis.ApplicationCode, Is.EqualTo("_ApplicationCode"));
            Assert.That(diagnosis.Message, Is.EqualTo("_Message"));
            Assert.That(diagnosis.StackTrace, Is.EqualTo("_StackTrace"));
            Assert.That(diagnosis.PayloadPath, Is.EqualTo("_PayloadPath"));
        }
        public void Diagnoses_Test()
        {
            var responseMock = new Mock<HttpWebResponse>();
            responseMock.Setup(x => x.StatusCode).Returns(HttpStatusCode.BadRequest);
            responseMock.Setup(x => x.ContentType).Returns("image/png");
            responseMock.Setup(x => x.GetResponseStream()).Returns(default(Stream));
            var webEx = new WebException("error", null, WebExceptionStatus.ConnectFailure, responseMock.Object);

            var handlerMock = new Mock<IContentHandler>();
            handlerMock.Setup(x => x.ReadFrom(It.IsAny<Stream>()))
                       .Returns(new[]
                                    {
                                        new Dictionary<string, object>
                                            {
                                                {"severity", "Error"},
                                                {"sdataCode", "BadUrlSyntax"},
                                                {"applicationCode", "_ApplicationCode"},
                                                {"message", "_Message"},
                                                {"stackTrace", "_StackTrace"},
                                                {"payloadPath", "_PayloadPath"}
                                            }
                                    });
            ContentManager.SetHandler(MediaType.ImagePng, handlerMock.Object);

            var sDataEx = new SDataException(webEx);

            ContentManager.SetHandler(MediaType.ImagePng, null);

            Assert.That(sDataEx.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
            Assert.That(sDataEx.Diagnoses, Has.Count.EqualTo(1));
            var diagnosis = sDataEx.Diagnoses[0];
            Assert.That(diagnosis.Severity, Is.EqualTo(Severity.Error));
            Assert.That(diagnosis.SDataCode, Is.EqualTo(DiagnosisCode.BadUrlSyntax));
            Assert.That(diagnosis.ApplicationCode, Is.EqualTo("_ApplicationCode"));
            Assert.That(diagnosis.Message, Is.EqualTo("_Message"));
            Assert.That(diagnosis.StackTrace, Is.EqualTo("_StackTrace"));
            Assert.That(diagnosis.PayloadPath, Is.EqualTo("_PayloadPath"));
        }
 public void Binary_Serialization_Test()
 {
     var input = new SDataException(
         new Diagnoses {new Diagnosis(Severity.Error, "test", DiagnosisCode.BadUrlSyntax, "code", "stack", "path")},
         HttpStatusCode.BadRequest);
     SDataException output;
     var formatter = new BinaryFormatter();
     using (var stream = new MemoryStream())
     {
         formatter.Serialize(stream, input);
         stream.Seek(0, SeekOrigin.Begin);
         output = (SDataException) formatter.Deserialize(stream);
     }
     Assert.That(output.Diagnoses, Has.Count.EqualTo(1));
     Assert.That(output.StatusCode, Is.EqualTo(HttpStatusCode.BadRequest));
 }