1
// Copyright 2004-2008 Castle Project - http://www.castleproject.org/
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle
.Facilities
.WcfIntegration
.Tests
18 using System
.ServiceModel
;
20 using Castle
.Facilities
.WcfIntegration
.Demo
;
21 using NUnit
.Framework
;
24 public class ServiceHostFactoryFixture
27 public void CanCreateServiceByName()
29 IWindsorContainer windsorContainer
= new WindsorContainer()
30 .AddComponent("operations", typeof(IOperations
), typeof(Operations
))
31 .AddComponent
<IServiceHostBuilder
<WcfServiceModel
>, DefaultServiceHostBuilder
>();
33 WindsorServiceHostFactory factory
= new WindsorServiceHostFactory(windsorContainer
.Kernel
);
34 ServiceHostBase serviceHost
= factory
.CreateServiceHost("operations",
35 new Uri
[] {new Uri("http://localhost/Foo.svc")}
);
36 Assert
.IsNotNull(serviceHost
);
40 public void CanCreateWindsorHostFactory()
42 WindsorServiceHostFactory factory
= new WindsorServiceHostFactory(new WindsorContainer().Kernel
);
43 Assert
.IsNotNull(factory
);
46 [Test
, Ignore("This test requires the Castle.Facilities.WcfIntegration.Demo running")]
47 public void CanCallHostedService()
49 IAmUsingWindsor client
= ChannelFactory
<IAmUsingWindsor
>.CreateChannel(
50 new BasicHttpBinding(), new EndpointAddress("http://localhost:27197/UsingWindsorWithoutConfig.svc"));
51 Assert
.AreEqual(42, client
.GetValueFromWindsorConfig());