示例#1
0
        public void CheckEmailSuccess()
        {
            EveryTrailResponse response = new EveryTrailResponse();
            response.SuccessfulConnection = true;

            string email = "*****@*****.**";
            //string responseText = @"<ETResponse><email>" + email + "</email></ETResponse>";
            string responseText = @"<ETResponse><email>" + email + "</email></ETResponse>";

            Stream s = new MemoryStream(Encoding.ASCII.GetBytes(responseText));
            response.ResponseStream = s;

            MockRepository mocks = new MockRepository();
            IRequestHandler mockHandler = mocks.DynamicMock<IRequestHandler>();

            using (mocks.Record())
            {
                Expect.Call(mockHandler.MakeRequest(null, null))
                    .IgnoreArguments()
                    .Return(response);
            }
            using (mocks.Playback())
            {
                EveryTrailRequest.SetImplementation(mockHandler);

                CheckUserEmailResponse checkEmailResponse = Actions.CheckUserEmail(email);

                Assert.AreEqual(CheckUserEmailStatus.Success, checkEmailResponse.Status);
            }
        }
        public EveryTrailResponse MakeRequest(string endPoint, List<EveryTrailRequestParameter> requestParams)
        {
            string url = _apiBaseUrl + endPoint + "?";
            foreach (EveryTrailRequestParameter p in requestParams)
            {
                url += p.Name + "=" + p.Value.ToString() + "&";
            }

            string key = String.Empty;
            string secret = String.Empty;

            if (String.IsNullOrEmpty(ConfigurationManager.AppSettings["Key"]))
            {
                throw new Exception("Must provide key in configuration");
            }
            else
            {
                key = ConfigurationManager.AppSettings["Key"];
            }
            if (String.IsNullOrEmpty(ConfigurationManager.AppSettings["Secret"]))
            {
                throw new Exception("Must provide secret in configuration");
            }
            else
            {
                secret = ConfigurationManager.AppSettings["Secret"];
            }

            if (!String.IsNullOrEmpty(ConfigurationManager.AppSettings["Version"]))
            {
                url += "&version=" + ConfigurationManager.AppSettings["Version"];
            }

            HttpWebRequest r = (HttpWebRequest)WebRequest.Create(url);
            NetworkCredential nc = new NetworkCredential(key, secret);
            r.Credentials = nc;

            EveryTrailResponse etResponse = new EveryTrailResponse();

            try
            {
                WebResponse response = r.GetResponse();
                Stream s = response.GetResponseStream();
                etResponse.ResponseStream = s;
                etResponse.SuccessfulConnection = true;
            }
            catch (Exception exc)
            {
                etResponse.SuccessfulConnection = false;
            }
            return etResponse;
        }
示例#3
0
        public void UserProfileInfoSuccess()
        {
            EveryTrailResponse response = new EveryTrailResponse();
            response.SuccessfulConnection = true;

            int userId = 1;
            string userName = "******";
            string firstName = "firstname";
            string lastName = "lastname";

            string responseText = "<etUserResponse status=\"success\"><user id=\"" + userId + "\"><username>" + userName + "</username><firstName>" + firstName + "</firstName><lastName>" + lastName + "</lastName><photo>http://images.everytrail.com/userpics/99442-cpoint.jpg</photo><intro>introtext</intro><intro><![CDATA[]]></intro><location /><pictureOffset>0</pictureOffset></user></etUserResponse>";

            Stream s = new MemoryStream(Encoding.ASCII.GetBytes(responseText));
            response.ResponseStream = s;

            MockRepository mocks = new MockRepository();
            IRequestHandler mockHandler = mocks.DynamicMock<IRequestHandler>();

            using (mocks.Record())
            {
                Expect.Call(mockHandler.MakeRequest(null, null))
                    .IgnoreArguments()
                    .Return(response);
            }
            using (mocks.Playback())
            {
                EveryTrailRequest.SetImplementation(mockHandler);

                UserProfileResponse userProfileResponse = Actions.UserProfileInfo(userId);

                Assert.AreEqual(UserProfileInfoStatus.Success, userProfileResponse.Status);
                Assert.AreEqual(userName, userProfileResponse.ResponseUser.UserName);
                Assert.AreEqual(firstName, userProfileResponse.ResponseUser.FirstName);
                Assert.AreEqual(lastName, userProfileResponse.ResponseUser.LastName);
            }
        }
示例#4
0
        public void UserLoginFailed()
        {
            EveryTrailResponse response = new EveryTrailResponse();
            response.SuccessfulConnection = true;
            string responseText = "<etUserLoginResponse status=\"error\">  <errors>    <error>      <code>11</code>      <message />    </error>  </errors></etUserLoginResponse>";
            Stream s = new MemoryStream(ASCIIEncoding.Default.GetBytes(responseText));
            response.ResponseStream = s;

            MockRepository mocks = new MockRepository();
            IRequestHandler mockHandler = mocks.DynamicMock<IRequestHandler>();

            using (mocks.Record())
            {
                Expect.Call(mockHandler.MakeRequest(null, null))
                    .IgnoreArguments()
                    .Return(response);
            }
            using (mocks.Playback())
            {
                EveryTrailRequest.SetImplementation(mockHandler);

                UserLoginResponse loginResponse = Actions.UserLogin(_userName, _password);

                Assert.AreEqual(false, loginResponse.Status);
            }
        }
示例#5
0
        public void CheckUserNameValid()
        {
            EveryTrailResponse response = new EveryTrailResponse();
            response.SuccessfulConnection = true;

            string validUserName = "******";

            string responseText = "<etUserCheckUsernameResponse status=\"success\"><username>" + validUserName + "</username></etUserCheckUsernameResponse>";
            Stream s = new MemoryStream(ASCIIEncoding.Default.GetBytes(responseText));
            response.ResponseStream = s;

            MockRepository mocks = new MockRepository();
            IRequestHandler mockHandler = mocks.DynamicMock<IRequestHandler>();

            using (mocks.Record())
            {
                Expect.Call(mockHandler.MakeRequest(null, null))
                    .IgnoreArguments()
                    .Return(response);
            }
            using (mocks.Playback())
            {
                EveryTrailRequest.SetImplementation(mockHandler);

                CheckUserNameResponse checkResponse = Actions.CheckUserName(validUserName);

                Assert.AreEqual(CheckUserNameStatus.Success, checkResponse.Status);
            }
        }
示例#6
0
        public void CheckUserNameUnknown()
        {
            EveryTrailResponse response = new EveryTrailResponse();
            response.SuccessfulConnection = true;

            string validUserName = "******";

            string responseText = "<ETResponse><errors><error>10</error></errors></ETResponse>";
            Stream s = new MemoryStream(ASCIIEncoding.Default.GetBytes(responseText));
            response.ResponseStream = s;

            MockRepository mocks = new MockRepository();
            IRequestHandler mockHandler = mocks.DynamicMock<IRequestHandler>();

            using (mocks.Record())
            {
                Expect.Call(mockHandler.MakeRequest(null, null))
                    .IgnoreArguments()
                    .Return(response);
            }
            using (mocks.Playback())
            {
                EveryTrailRequest.SetImplementation(mockHandler);

                CheckUserNameResponse checkResponse = Actions.CheckUserName(validUserName);

                Assert.AreEqual(CheckUserNameStatus.Unknown, checkResponse.Status);
            }
        }