Example #1
0
        public void CreateLoginException_handles_invalid_credentials()
        {
            var we = new WebException();
            var e  = Fetcher.CreateLoginException("{\"error_code\":\"invalid_credentials\"}", we);

            Assert.AreEqual(LoginException.FailureReason.InvalidCredentials, e.Reason);
            Assert.AreEqual("Invalid username and/or password", e.Message);
            Assert.AreSame(we, e.InnerException);
        }
Example #2
0
        public void CreateLoginException_handles_other_reason_with_message()
        {
            var we = new WebException();
            var e  = Fetcher.CreateLoginException("{\"message\":\"ohai!\"}", we);

            Assert.AreEqual(LoginException.FailureReason.Other, e.Reason);
            Assert.AreEqual("ohai!", e.Message);
            Assert.AreSame(we, e.InnerException);
        }
Example #3
0
        public void CreateLoginException_handles_unknown_reason_with_no_message()
        {
            var we = new WebException();
            var e  = Fetcher.CreateLoginException("{}", we);

            Assert.AreEqual(LoginException.FailureReason.Unknown, e.Reason);
            Assert.AreEqual("Unknown reason", e.Message);
            Assert.AreSame(we, e.InnerException);
        }
Example #4
0
        public void CreateLoginException_handles_invalid_json()
        {
            var we = new WebException();
            var e  = Fetcher.CreateLoginException("not json", we);

            Assert.AreEqual(LoginException.FailureReason.InvalidResponse, e.Reason);
            Assert.AreEqual("Invalid response", e.Message);
            Assert.IsInstanceOf <SerializationException>(e.InnerException);
        }