public void ParseXmlErrorSupportsIncorrectlyFormattedXmlErrors(string message)
        {
            var error = CloudException.ParseXmlError(message);

            Assert.Equal(message, error.OriginalMessage);
            Assert.Null(error.Message);
            Assert.Null(error.Code);
        }
 public void ParseXmlErrorSupportsEmptyErrors()
 {
     Assert.Null(CloudException.ParseXmlError(null).Code);
     Assert.Null(CloudException.ParseXmlError(null).Message);
     Assert.Null(CloudException.ParseXmlError(null).OriginalMessage);
     Assert.Null(CloudException.ParseXmlError(string.Empty).Code);
     Assert.Null(CloudException.ParseXmlError(string.Empty).Message);
     Assert.Equal(string.Empty, CloudException.ParseXmlError(string.Empty).OriginalMessage);
 }
        public void ParseXmlErrorIgnoresParentElement()
        {
            string xmlErrorMessageWithBadParent = @"<SomeError>
                                        <Code>BadRequest</Code>
                                        <Message>The provided database ‘foo’ has an invalid username.</Message>
                                    </SomeError>";

            Assert.Equal("The provided database ‘foo’ has an invalid username.", CloudException.ParseXmlError(xmlErrorMessageWithBadParent).Message);
            Assert.Equal("BadRequest", CloudException.ParseXmlError(xmlErrorMessageWithBadParent).Code);
        }
        public void ParseXmlErrorSupportsErrorsWithLowerCase()
        {
            string message = @"<error>
                                        <code>BadRequest</code>
                                        <message>The provided database ‘foo’ has an invalid username.</message>
                                    </error>";

            var error = CloudException.ParseXmlError(message);

            Assert.Equal("The provided database ‘foo’ has an invalid username.", error.Message);
            Assert.Equal(message, error.OriginalMessage);
        }