public void TestEncryptedRequest() { TrafficViewerFile file = new TrafficViewerFile(); string request1 = "GET /unencrypted HTTP/1.1"; string request2 = "GET /encrypted\r\n\r\nsecret=123456789 HTTP/1.1"; string response1 = "HTTP 200 OK\r\n\r\nUnencrypted Response"; string response2 = "HTTP 200 OK\r\n\r\nEncrypted Response (secret 1234567789)"; file.AddRequestResponse(request1, response1); file.AddRequestResponse(request2, response2); var reqInfo = file.GetRequestInfo(1); Assert.IsFalse(reqInfo.IsEncrypted, "Default should be unencrypted"); reqInfo.IsEncrypted = true; //resave the request file.SaveRequestResponse(1, request2, response2); TempFile tempFile = new TempFile(); file.EnableDefrag = true; //defrag the raw file file.Save(tempFile.Path); file = new TrafficViewerFile(); file.Open(tempFile.Path); Assert.IsFalse(file.GetRequestInfo(0).IsEncrypted, "First request should not be encrypted"); Assert.IsTrue(file.GetRequestInfo(1).IsEncrypted, "Second request should be encrypted"); string testRequest = Constants.DefaultEncoding.GetString(file.LoadRequestData(1)); Assert.AreEqual(request2, testRequest); string testResponse = Constants.DefaultEncoding.GetString(file.LoadResponseData(1)); Assert.AreEqual(response2, testResponse); file.Close(false); File.Delete(tempFile.Path); }