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; }
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); } }
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); } }
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); } }
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); } }