示例#1
0
        //[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);
            }
        }
示例#2
0
 /// <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);
     }
 }
示例#3
0
 /// <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);
     }
 }