//[TestMethod] public void TestLoginExportType() { TempFile temp = new TempFile(); temp.Write(Resources.AltoroLogin); TrafficViewerFile origFile = new TrafficViewerFile(); origFile.Open(temp.Path); Assert.AreEqual(4, origFile.RequestCount); //export IList <ITrafficExporter> exporters = TrafficViewer.Instance.TrafficExporters; ITrafficExporter loginExporter = null; foreach (ITrafficExporter exporter in exporters) { if (exporter.Caption == "ASE Login Files (.login)") { loginExporter = exporter; } } Assert.IsNotNull(loginExporter); TempFile exportedFile = new TempFile("exporttest.login"); Stream stream = exportedFile.OpenStream(); loginExporter.Export(origFile, stream, "demo.testfire.net", 80); stream.Close(); //import the exported file TrafficViewerFile import = new TrafficViewerFile(); ITrafficParser configurationParser = TrafficViewer.Instance.GetParser("Configuration Parser"); Assert.IsNotNull(configurationParser); configurationParser.Parse(exportedFile.Path, import, ParsingOptions.GetLegacyAppScanProfile()); Assert.AreEqual(origFile.RequestCount, import.RequestCount); int i = -1; TVRequestInfo origInfo; while ((origInfo = origFile.GetNext(ref i)) != null) { TVRequestInfo importInfo = import.GetRequestInfo(origInfo.Id); string origRequest = Constants.DefaultEncoding.GetString(origFile.LoadRequestData(origInfo.Id)); string importedRequest = Constants.DefaultEncoding.GetString(import.LoadRequestData(origInfo.Id)); Assert.AreEqual(origRequest, importedRequest); } }
/// <summary> /// Imports from a object /// </summary> /// <param name="parser">parser object containing the parsing logic</param> /// <param name="sender">the raw traffic file to use</param> /// <param name="profile">The parsing options for the current parsing operation</param> public void StartImport(ITrafficParser parser, object sender, ParsingOptions profile) { if (parser != null) { SetState(AccessorState.Loading); //save parsing options Profile = profile; //save parser _parser = parser; //save sender object _sender = sender; //start parsing _parser.Parse(sender, this, profile); SetState(AccessorState.Idle); } }
/// <summary> /// Imports from a Raw Traffic Log /// </summary> /// <param name="parser">parser object containing the parsing logic</param> /// <param name="rawTrafficLog">the raw traffic file to use</param> /// <param name="profile">The parsing options for the current parsing operation</param> public void StartImport(ITrafficParser parser, string rawTrafficLog, ParsingOptions profile) { if (parser != null) { SetState(AccessorState.Loading); //save parsing options Profile = profile; //save target path _importedFileName = rawTrafficLog; //save parser _parser = parser; //start parsing _parser.Parse(rawTrafficLog, this, profile); SetState(AccessorState.Idle); } }