Esempio n. 1
0
 public BaseModelFormatter(IFormatParser parser,
                           IKeyFormatPrecedenceProvider keyformat,
                           IPropertyProvider props)
 {
     formatparser      = parser;
     keyformatprovider = keyformat;
     propertyprovider  = props;
 }
Esempio n. 2
0
 public void WcfParserFindsNoMessagesFromServiceLogWhenClientTraceRequested()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.AddServiceSide, WcfTraceFileTestData.SubtractServiceSide))
     {
         // Act and assert
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 3
0
 public void WcfParserFiltersOutRSTMessages()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.RstIssue, WcfTraceFileTestData.RstSct, WcfTraceFileTestData.RstrIssue))
     {
         // Act and assert
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 4
0
 public void WcfParserReturnsNothingIfAllMessagesAreFiltered()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.Mex))
     {
         // Act and assert
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 5
0
 public void WcfParserIgnoresServiceSideNullMessage()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserServiceTraceFromString(WcfTraceFileTestData.ServiceSideNullMessage))
     {
         // Act and assert
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 6
0
 public void WcfParserWithMetadataExchangeAtTheEnd()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.Add, WcfTraceFileTestData.Mex))
     {
         // Act and assert
         TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://tempuri.org/IArithmetic/Add", new DateTime(2007, 02, 21, 08, 39, 21, 966));
     }
 }
Esempio n. 7
0
 public void WcfParserFindsNoMessagesFromClientLogWhenServiceTraceRequestedForOneWayOperation()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserServiceTraceFromString(WcfTraceFileTestData.OneWayClientSide))
     {
         // Act and assert
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 8
0
 public void WcfParserWarnsNotMessageLogIfFindsATrace()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.TraceRecord))
     {
         // Act and assert
         TestHelper.TestForUserException(() => sut.ReadNextMessage(), "The file in memory is a trace file, a message log file is required.");
     }
 }
Esempio n. 9
0
 public void WcfParserWarnsNotMessageLogIfGivenRandomXmlFile()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.RandomXmlData))
     {
         // Act and assert
         TestHelper.TestForUserException(() => sut.ReadNextMessage(), "The file in memory is not a valid message log file.");
     }
 }
Esempio n. 10
0
 public void WcfParserWarnsNotMessageLogIfSourcePresentButNameIsMissing()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.LogRecordWithSourceButNoSourceName))
     {
         // Act and assert
         TestHelper.TestForUserException(() => sut.ReadNextMessage(), "The file in memory is not a valid message log file.");
     }
 }
Esempio n. 11
0
 public void WcfParserCanParseAsmxWrappedSoap12()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.ProcessSimpleAsmxRequestWrappedSoap12))
     {
         // Act and assert
         TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://contoso.com/asmxservice/test/ProcessSimpleAsmxRequestWrapped", new DateTime(2008, 09, 17, 14, 31, 46, 623));
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 12
0
 public void WcfParserCanParseAOneWayServiceSideMessageLog()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserServiceTraceFromString(WcfTraceFileTestData.OneWayServiceSide))
     {
         // Act and assert
         TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://contoso.com/service/test/IArithmetic/OneWayOperation", new DateTime(2009, 07, 23, 09, 54, 38, 155));
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 13
0
 public void WcfParserFindsClientAndServiceMessagesFromClientAndServiceLogWhenClientAndServiceTraceRequested()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserFromString(true, true, WcfTraceFileTestData.Add, WcfTraceFileTestData.SubtractServiceSide))
     {
         // Act and assert
         TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://tempuri.org/IArithmetic/Add", new DateTime(2007, 02, 21, 08, 39, 21, 966));
         TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://tempuri.org/IArithmetic/Sub", new DateTime(2007, 07, 28, 16, 35, 40, 587));
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 14
0
 public void WcfParserFindsClientAndServiceMessagesFromClientAndServiceLogWhenClientAndServiceTraceRequestedForOneWayOperation()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateWcfFormatParserFromString(true, true, WcfTraceFileTestData.OneWayClientSide, WcfTraceFileTestData.OneWayServiceSide))
     {
         // Act and assert
         TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://contoso.com/service/test/IArithmetic/OneWayOperation", new DateTime(2009, 07, 23, 09, 52, 16, 616));
         TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://contoso.com/service/test/IArithmetic/OneWayOperation", new DateTime(2009, 07, 23, 09, 54, 38, 155));
         Assert.IsNull(sut.ReadNextMessage());
     }
 }
Esempio n. 15
0
        public void WcfParserNoMessageBodies()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.AddWithNoMessageBody))
            {
                // Act
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                Assert.IsNull(ans);
            }
        }
 public void FiddlerParserDoesNotDetectSoapActionWhenPatternPresentInResponseData()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateFiddlerFormatParserFromString(
                FiddlerTraceFileTestData.ProcessMultipleParametersWrappedWithSoapActionInResponse,
                FiddlerTraceFileTestData.ProcessSimpleAsmxRequestBare))
     {
         // Act and assert
         TestHelper.AssertParsedMessageNoHeader(sut.ReadNextMessage(), "http://contoso.com/asmxservice/test/ProcessMultipleParametersWrapped", DateTime.MinValue);
         TestHelper.AssertParsedMessageNoHeader(sut.ReadNextMessage(), "http://contoso.com/asmxservice/test/ProcessSimpleAsmxRequestBare", DateTime.MinValue);
     }
 }
        public void FiddlerParserReadSingleMessage()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateFiddlerFormatParserFromString(FiddlerTraceFileTestData.ProcessSimpleAsmxRequestWrapped))
            {
                // Act
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                TestHelper.AssertParsedMessageNoHeader(ans, "http://contoso.com/asmxservice/test/ProcessSimpleAsmxRequestWrapped", DateTime.MinValue);
            }
        }
Esempio n. 18
0
        public void WcfParserReadRequestBodyAfterANoServiceLevelLoggingMessage()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.AddWithoutServiceLevelLogging, WcfTraceFileTestData.Add))
            {
                // Act
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                TestHelper.AssertParsedMessage(ans, "http://tempuri.org/IArithmetic/Add", new DateTime(2007, 02, 21, 08, 39, 21, 966));
            }
        }
Esempio n. 19
0
        public void WcfParserCanParseWhenAddressingNamespaceOnActionHeaderRatherThanEnvelopeAndNotFirstHeader()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateWcfFormatParserServiceTraceFromString(WcfTraceFileTestData.RequestWithAddressingNamespaceOnTheActionElementAndNotFirstHeader))
            {
                // Act
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                TestHelper.AssertParsedMessage(ans, "http://contoso.com/service/test/ISharePrices/PriceOneWay", new DateTime(2010, 06, 22, 15, 22, 51, 613));
            }
        }
Esempio n. 20
0
        public void WcfParserCanParseWhenAddressingNamespaceOnActionHeaderRatherThanEnvelope()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateWcfFormatParserServiceTraceFromString(WcfTraceFileTestData.RequestWithAddressingNamespaceOnTheActionElement))
            {
                // Act
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                TestHelper.AssertParsedMessage(ans, "http://tempuri.org/ICalculator/Ping", new DateTime(2009, 04, 24, 18, 10, 59, 668));
            }
        }
Esempio n. 21
0
        public void WcfParserNullReturnedAfterLastMessage()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.Add))
            {
                // Act
                sut.ReadNextMessage();
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                Assert.IsNull(ans);
            }
        }
Esempio n. 22
0
        public void UTILCreateConfiguredType()
        {
            // Arrange
            typeType t = TestHelper.CreateConfigTypeForWcfFormatParser();

            // Act
            using (IFormatParser dummy = Utility.CreateConfiguredType <IFormatParser>(t))
            {
                // Assert
                Assert.IsNotNull(dummy);
                Assert.IsInstanceOfType(dummy, typeof(WcfParser));
            }
        }
Esempio n. 23
0
        public void WcfParserNullReturnedIfANoServiceLevelLoggingMessageFollowsAProperMessageBody()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.Add, WcfTraceFileTestData.AddWithoutServiceLevelLogging))
            {
                // Act
                sut.ReadNextMessage();
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                Assert.IsNull(ans);
            }
        }
Esempio n. 24
0
        /// <summary>
        /// Initialises a new instance of the <see cref="Parser"/> class.
        /// </summary>
        /// <param name="formatParser">The format-specific parser to be used.</param>
        /// <param name="soapActionMode">Indicates how to process the list of SOAP actions.</param>
        /// <param name="soapActions">List of SOAP actions to be filtered for. Only the SOAP actions in this list are
        /// returned. If the list is empty all SOAP actions are returned.</param>
        public Parser(IFormatParser formatParser, SoapActionMode soapActionMode, params string[] soapActions)
        {
            this.formatParser = formatParser;

            this.soapActionMode = soapActionMode;
            if (soapActions == null)
            {
                this.soapActions = new List <string>();
            }
            else
            {
                this.soapActions = new List <string>(soapActions);
            }
        }
 public void FiddlerParserReadMultipleMessages()
 {
     // Arrange
     using (IFormatParser sut = TestHelper.CreateFiddlerFormatParserFromString(
                FiddlerTraceFileTestData.ProcessSimpleAsmxRequestWrapped,
                FiddlerTraceFileTestData.ProcessSimpleAsmxRequestBare,
                FiddlerTraceFileTestData.ProcessMultipleParametersWrapped))
     {
         // Act and assert
         TestHelper.AssertParsedMessageNoHeader(sut.ReadNextMessage(), "http://contoso.com/asmxservice/test/ProcessSimpleAsmxRequestWrapped", DateTime.MinValue);
         TestHelper.AssertParsedMessageNoHeader(sut.ReadNextMessage(), "http://contoso.com/asmxservice/test/ProcessSimpleAsmxRequestBare", DateTime.MinValue);
         TestHelper.AssertParsedMessageNoHeader(sut.ReadNextMessage(), "http://contoso.com/asmxservice/test/ProcessMultipleParametersWrapped", DateTime.MinValue);
     }
 }
Esempio n. 26
0
        public void WcfParserSequenceOfMessagesIsReadFollowedByNull()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(WcfTraceFileTestData.Add, WcfTraceFileTestData.Add2, WcfTraceFileTestData.Add3))
            {
                // Act and assert
                TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://tempuri.org/IArithmetic/Add", new DateTime(2007, 02, 21, 08, 39, 21, 966));
                TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://tempuri.org/IArithmetic/Add2", new DateTime(2007, 02, 21, 08, 39, 22, 067));
                TestHelper.AssertParsedMessage(sut.ReadNextMessage(), "http://tempuri.org/IArithmetic/Add3", new DateTime(2007, 02, 21, 08, 39, 22, 071));

                // Assert
                Assert.IsNull(sut.ReadNextMessage());
            }
        }
        public void FiddlerParserMessageCanBeDeserialized()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateFiddlerFormatParserFromString(FiddlerTraceFileTestData.ProcessSimpleAsmxRequestWrapped))
            {
                // Act
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                Deserializer        ds         = new Deserializer();
                CallParameterInfo[] parameters = ds.DeserializeInputParameters(ans.Message, typeof(GeneratedContractsAsmx.TestAsmxServiceSoap).GetMethod("ProcessSimpleAsmxRequestWrapped"));
                Assert.AreEqual <int>(1, parameters.Length);
                Assert.IsNotNull(parameters[0].Value);
            }
        }
        public void ValidateInput(IFormatParser parser, string input, DateTime?start, DateTime?end)
        {
            Trace.WriteLine(String.Format("Now: {0}", _now));
            var range = parser.Parse(input, _now);

            if (range == null)
            {
                Assert.Null(start);
                Assert.Null(end);
                return;
            }

            Assert.Equal(start, range.Start);
            Assert.Equal(end, range.End);
        }
Esempio n. 29
0
        public void WcfParserNoServiceLevelLogging()
        {
            // Arrange
            using (IFormatParser sut = TestHelper.CreateWcfFormatParserClientTraceFromString(
                       WcfTraceFileTestData.AddWithoutServiceLevelLogging,
                       WcfTraceFileTestData.AddWithoutServiceLevelLogging,
                       WcfTraceFileTestData.AddWithoutServiceLevelLogging))
            {
                // Act
                ParsedMessage ans = sut.ReadNextMessage();

                // Assert
                Assert.IsNull(ans);
            }
        }
Esempio n. 30
0
        public void ValidateInput(IFormatParser parser, string input, DateTime?start, DateTime?end)
        {
            _logger.LogInformation("Input: {Input}, Now: {Now}, Start: {Start}, End: {End}", input, _now, start, end);
            var range = parser.Parse(input, _now);

            if (range == null)
            {
                Assert.Null(start);
                Assert.Null(end);
                return;
            }

            Assert.Equal(start, range.Start);
            Assert.Equal(end, range.End);
        }