public void Given_message_is_replayed_then_should_return_401()
        {
            var session = new DigestClientSession(ServiceUrl, Constants.Username, Constants.Password);

            var nonce = NonceGenerator.Generate();

            session.ClientNonceGeneratorFunc = () => { return nonce; };

            using (session.ExecuteRequest()) { }
            try
            {
                using (session.ExecuteRequest()) { }
            }
            catch (WebException ex)
            {
                Assert.AreEqual(HttpStatusCode.Unauthorized, ((HttpWebResponse)ex.Response).StatusCode);
                return;
            }
            Assert.Fail("It shouldn't have succeeded");
        }
 public void Given_credentials_are_invalid_then_should_return_401()
 {
     var session = new DigestClientSession(ServiceUrl, Constants.Username, Constants.BadPassword);
     try
     {
         using (session.ExecuteRequest()) { }
     }
     catch (WebException ex)
     {
         Assert.AreEqual(HttpStatusCode.Unauthorized, ((HttpWebResponse)ex.Response).StatusCode);
         return;
     }
     Assert.Fail("It shouldn't have succeeded");
 }
 public void Given_server_nonce_is_not_valid_then_should_return_401()
 {
     var session = new DigestClientSession(ServiceUrl, Constants.Username, Constants.BadPassword);
     try
     {
         //Overwrite server nonce
         session.ServerNonce = NonceGenerator.Generate();
         using (session.ExecuteRequest()) { }
     }
     catch (WebException ex)
     {
         Assert.AreEqual(HttpStatusCode.Unauthorized, ((HttpWebResponse)ex.Response).StatusCode);
         return;
     }
     Assert.Fail("It shouldn't have succeeded");
 }
        public void Given_credentials_are_valid_then_should_return_200()
        {
            var session = new DigestClientSession(ServiceUrl, Constants.Username, Constants.Password);

            using (session.ExecuteRequest()) { }
        }