public void TestAddToUserRequestHistoryFromManipulator() { var user = Manipulator.GetUsersWhere("Email=\"msn\"")[0]; List <PreviousUserRequest> emptyRequests = new List <PreviousUserRequest>(); Assert.AreEqual(0, emptyRequests.Count); List <PreviousUserRequest> appendedTo = new List <PreviousUserRequest>(); appendedTo.Add(new PreviousUserRequest() { Request = new RequestString() { Company = 1, Type = "Join" } }); appendedTo[0].Request.CalculateMD5(); user.EncodeRequests(appendedTo); byte[] requestHistory = user.RequestHistory; user.DecodeRequests(); Manipulator.UpdateUserPreviousRequests(user); user = Manipulator.GetUsersWhere("Email=\"msn\"")[0]; Assert.AreEqual(requestHistory.Length, user.RequestHistory.Length); for (int i = 0; i < requestHistory.Length; i++) { Assert.AreEqual(requestHistory[i], user.RequestHistory[i]); } emptyRequests = user.DecodeRequests(); Assert.AreEqual(1, emptyRequests.Count); }
public void TestRetrievePastRequests() { using (MySqlDataManipulator manipulator = new MySqlDataManipulator()) { manipulator.Connect(TestingConstants.ConnectionString); Assert.IsTrue(NetTestingUserUtils.LogInTestingUser(TestingUserStorage.ValidUser1)); var user = manipulator.GetUsersWhere(string.Format("Email=\"{0}\"", TestingUserStorage.ValidUser1.Email))[0]; List <PreviousUserRequest> currentRequests = user.DecodeRequests(); currentRequests.Add(new PreviousUserRequest() { Request = new RequestString() { Company = 1, Type = "TestingRequest" }, RequestStatus = "Completed" }); user.EncodeRequests(currentRequests); Assert.IsTrue(manipulator.UpdateUserPreviousRequests(user)); object[] contextAndRequest = ServerTestingMessageSwitchback.SwitchbackMessage( TestingUserStorage.ValidUser1.ConstructRetrievePreviousRequestsRequest( user.UserId, UserVerificationUtil.ExtractLoginTokens(user).LoginToken), "PUT"); var ctx = contextAndRequest[0] as HttpListenerContext; var req = contextAndRequest[1] as HttpWebRequest; TestApi.PUT(ctx); HttpWebResponse resp = null; try { resp = req.EndGetResponse(contextAndRequest[2] as IAsyncResult) as HttpWebResponse; } catch (Exception e) { Assert.Fail(e.Message); } using (resp) { Assert.AreEqual(HttpStatusCode.OK, resp.StatusCode); byte[] data = new byte[resp.ContentLength]; resp.GetResponseStream().Read(data, 0, data.Length); string received = Encoding.UTF8.GetString(data); var receivedRequests = JsonDataObjectUtil <List <PreviousUserRequest> > .ParseObject(received); Assert.AreEqual(currentRequests.Count, receivedRequests.Count); for (int i = 0; i < currentRequests.Count; i++) { Assert.AreEqual(currentRequests[i], receivedRequests[i]); } } } }