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 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>());
        }
        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));
        }
예제 #4
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);
        }
예제 #5
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")));
        }
        public void AddEndpoint_throws_if_binding_and_address_schema_dont_match(WcfServiceHostConfiguration <TestService> sut, Uri endpointAddress)
        {
            Assume.That(endpointAddress.Scheme, Is.Not.Empty);

            Assert.Throws <ArgumentException>(() => sut.AddEndpoint <TestBinding>(typeof(ITestService), endpointAddress));
        }
 public void AddEndpoint_throws_if_service_does_not_implement_contract(WcfServiceHostConfiguration <TestService> sut, Uri endpointAddress)
 {
     Assert.Throws <ArgumentException>(() => sut.AddEndpoint <TestHttpBinding>(typeof(IInvalidTestService), endpointAddress));
 }