Exemplo n.º 1
0
		public WidgetNameForResponse GetWidgetNameFor(WidgetNameForRequest request)
		{
			return new WidgetNameForResponse
					{
						WidgetName = string.Format("Wcf Widget versioned {0}", request.VersionNumber)
					};
		}
        public void ShouldInterceptServiceCalls()
        {
            string rootPathToExpectedResults = Path.Combine("RecordedCalls", "SampleInterface.WcfStyle.WidgetService");

            var container = new UnityContainer().LoadConfiguration("InterceptionContainer");

            var widgetService = container.Resolve<WidgetService>();
            Assert.That(widgetService.GetWidgetName().WidgetName, Is.EqualTo("Wcf Widget"));
            var request = new WidgetNameForRequest
            {
                VersionNumber = "version 1"
            };
            Assert.That(widgetService.GetWidgetNameFor(request).WidgetName, Is.EqualTo("Wcf Widget versioned version 1"));

            Assert.That(Directory.Exists(Path.Combine(rootPathToExpectedResults, "GetWidgetName")));
            Assert.That(Directory.Exists(Path.Combine(rootPathToExpectedResults, "GetWidgetNameFor")));

            Directory.Delete("RecordedCalls", true);
        }
        public void ShouldRecordMethodCallsTransparently()
        {
            var service = new WcfWidgetService();
            var recordingImplementation = new Recorder().Record<WidgetService, WcfWidgetService>(service);
            var request = new WidgetNameForRequest
                            {
                                VersionNumber = "1"
                            };

            var response = recordingImplementation.GetWidgetNameFor(request);

            Assert.That(response.WidgetName, Is.EqualTo("Wcf Widget versioned 1"));

            var dir = new DirectoryInfo(@"RecordedCalls\SampleInterface.WcfStyle.WidgetService\GetWidgetNameFor");
            var requestFiles = dir.GetFiles("*-request.xml");
            var responseFiles = dir.GetFiles("*-response.xml");

            Assert.That(requestFiles.Length, Is.EqualTo(1));
            Assert.That(responseFiles.Length, Is.EqualTo(1));

            //Directory.Delete("RecordedCalls", true);
        }