public HttpResponseMessage Post(HttpRequestMessage request) { var requestStream = request.Content.ReadAsStreamAsync().Result; using (var zip = ZipFile.Read(requestStream)) { foreach (var entry in zip) { var memory = new MemoryStream(); entry.Extract(memory); memory.Position = 0; var log = new ClientAppLog(CurrentUser, new StreamReader(memory).ReadToEnd()); log.Version = RequestLog.GetVersion(Request); IEnumerable <string> values; if (request.Headers.TryGetValues("Request-Token", out values)) { log.RequestToken = values.Implode(); } if (String.IsNullOrWhiteSpace(log.Text)) { continue; } Session.Save(log); } } return(new HttpResponseMessage(HttpStatusCode.OK)); }
public void Connect_client_app_logs() { var user = DataMother.CreateTestClientWithUser().Users[0]; var clientLog = new ClientAppLog(user); clientLog.RequestToken = Guid.NewGuid().ToString(); session.Save(clientLog); var requestLog = new RequestLog(user); requestLog.RequestToken = clientLog.RequestToken; session.Save(requestLog); var filter = new NewUpdateFilter { User = user }; var logs = filter.Find(session); Assert.AreEqual(logs.Count, 1, logs.Implode()); Assert.IsTrue(logs[0].HaveLog); }
public void Check_AnalitfNet_logs() { var clientLog = new ClientAppLog(client.Users.First()); clientLog.Text = "bla bla1"; clientLog.Version = "1.11"; clientLog.RequestToken = Guid.NewGuid().ToString(); session.Save(clientLog); var requestLog = new RequestLog(client.Users.First()); requestLog.Error = "bla bla2"; requestLog.Version = "1.11"; requestLog.RequestToken = clientLog.RequestToken; session.Save(requestLog); Open("Logs/NewUpdateLog?filter.Client.Id={0}", client.Id); AssertText("История обновлений AnalitF.net"); AssertText("bla bla2"); Click("Лог"); WaitAjax(); AssertText("bla bla1"); }