public void AddEndpoint_uses_binding_configuration_when_given(WcfServiceHostConfiguration <TestService> sut, GenericEndpointAddress endpointAddress, Action <TestHttpBinding> bindingConfiguration, ServiceHost host)
        {
            sut.AddEndpoint <TestHttpBinding>(typeof(ITestService), endpointAddress, bindingConfiguration);

            sut.ConfigureServiceHost(host);

            Mock.Get(bindingConfiguration).Verify(p => p(It.IsAny <TestHttpBinding>()), Times.Once);
        }
        public void ConfigureServiceHost_adds_custom_endpoint_behaviors(WcfServiceHostConfiguration <TestService> sut, ServiceHost host, GenericEndpointAddress endpointAddress, IEndpointBehavior endpointBehavior)
        {
            sut.AddEndpoint <TestHttpBinding>(typeof(ITestService), endpointAddress).Behaviors.Add(endpointBehavior);

            sut.ConfigureServiceHost(host);

            Assert.That(host.Description.Endpoints[0].Behaviors, Contains.Item(endpointBehavior));
        }
        public void AddEndpoint_registers_endpoint_for_given_binding(WcfServiceHostConfiguration <TestService> sut, GenericEndpointAddress endpointAddress, ServiceHost host)
        {
            sut.AddEndpoint <TestHttpBinding>(typeof(ITestService), endpointAddress);

            sut.ConfigureServiceHost(host);

            Assert.That(host.Description.Endpoints, Has.Exactly(1).InstanceOf <ServiceEndpoint>());
        }
예제 #4
0
        public void AcceptAllIncomingRequests_sets_filterMode_to_Any(WcfServiceHostConfiguration <TestService> configurator, ServiceHost serviceHost)
        {
            configurator.AcceptAllIncomingRequests();

            configurator.ConfigureServiceHost(serviceHost);

            Assert.That(serviceHost.Description.Behaviors.Find <ServiceBehaviorAttribute>().AddressFilterMode, Is.EqualTo(AddressFilterMode.Any));
        }
        public void ConfigureServiceHost_executes_given_actions(WcfServiceHostConfiguration <TestService> sut, ServiceHost host, Action <ServiceHost> additionalSetup)
        {
            sut.ServiceHostConfigurations.Add(additionalSetup);

            sut.ConfigureServiceHost(host);

            Mock.Get(additionalSetup).Verify(p => p(host), Times.Once);
        }
예제 #6
0
        public void ConfigureService_alters_ServiceBehaviorAttribute(WcfServiceHostConfiguration <TestService> configurator, ServiceHost serviceHost, AddressFilterMode filterMode)
        {
            configurator.ConfigureService(service => service.AddressFilterMode = filterMode);

            configurator.ConfigureServiceHost(serviceHost);

            Assert.That(serviceHost.Description.Behaviors.Find <ServiceBehaviorAttribute>().AddressFilterMode, Is.EqualTo(filterMode));
        }
예제 #7
0
        public void ConfigureService_alters_ServiceBehaviorAttribute(WcfServiceHostConfiguration <TestService> configurator, Action <ServiceBehaviorAttribute> testDelegate, ServiceHost serviceHost)
        {
            configurator.ConfigureService(testDelegate);

            configurator.ConfigureServiceHost(serviceHost);

            Mock.Get(testDelegate).Verify(p => p(serviceHost.Description.Behaviors.Find <ServiceBehaviorAttribute>()));
        }
예제 #8
0
        public void AddMetadataEndpoints_throws_if_not_supported_endpoint_is_added(WcfServiceHostConfiguration <TestService> configurator, ServiceHost host)
        {
            configurator.ConfigureServiceHost(host);

            ServiceHostConfiguratorExtensions.AddMetadataEndpoints(configurator);

            var configuration = configurator.ServiceHostConfigurations.First();

            Assert.Throws <InvalidOperationException>(() => configuration(host));
        }
예제 #9
0
        public void AddMetadataEndpoints_adds_ServiceMetadataBehavior_to_host_with_BasicHttp_binding(WcfServiceHostConfiguration <TestService> configurator, ServiceHost host)
        {
            configurator.AddEndpoint <BasicHttpBinding>(typeof(ITestService), new Uri("http://localhost/test"));

            configurator.ConfigureServiceHost(host);

            ServiceHostConfiguratorExtensions.AddMetadataEndpoints(configurator);

            var configuration = configurator.ServiceHostConfigurations.First();

            configuration(host);

            Assert.That(host.Description.Behaviors.Find <ServiceMetadataBehavior>(), Is.Not.Null);
        }
예제 #10
0
        public void AddMetadataEndpoints_adds_metadata_endpoint_to_host_with_NetTcp_binding(WcfServiceHostConfiguration <TestService> configurator, ServiceHost host)
        {
            configurator.AddEndpoint <NetTcpBinding>(typeof(ITestService), new Uri("net.tcp://localhost/test"));

            configurator.ConfigureServiceHost(host);

            ServiceHostConfiguratorExtensions.AddMetadataEndpoints(configurator);

            var configuration = configurator.ServiceHostConfigurations.First();

            configuration(host);

            Assert.That(host.Description.Endpoints.Any(endpoint => endpoint.Address.Uri.AbsolutePath.EndsWith("mex")));
        }