2 // CustomPeerResolverServiceTest.cs
5 // Marcos Cobena (marcoscobena@gmail.com)
7 // Copyright 2007 Marcos Cobena (http://www.youcannoteatbits.org/)
11 using System.Collections.Generic;
12 using System.ServiceModel;
13 using System.ServiceModel.Description;
14 using System.ServiceModel.PeerResolvers;
17 using NUnit.Framework;
19 using MonoTests.Helpers;
21 namespace MonoTests.System.ServiceModel.PeerResolvers
24 public class CustomPeerResolverServiceTest
26 private CustomPeerResolverService cprs;
29 protected void SetUp ()
31 var port = NetworkHelpers.FindFreePort ();
32 Environment.SetEnvironmentVariable ("MONO_CUSTOMPEERRESOLVERSERVICE_PORT", port.ToString ());
33 cprs = new CustomPeerResolverService ();
37 [Category ("NotWorking")]
38 public void CloseTest ()
45 [ExpectedException (typeof (InvalidOperationException))]
46 public void CloseTest1 ()
52 [ExpectedException (typeof (InvalidOperationException))]
53 public void GetServiceSettingsTest ()
55 ServiceSettingsResponseInfo ssri;
57 ssri = cprs.GetServiceSettings ();
61 [ExpectedException (typeof (ArgumentException))]
62 public void OpenTest1 ()
64 cprs.CleanupInterval = TimeSpan.Zero;
69 [ExpectedException (typeof (ArgumentException))]
70 public void OpenTest2 ()
72 cprs.RefreshInterval = TimeSpan.Zero;
77 [ExpectedException (typeof (ArgumentException))]
78 public void OpenTest3 ()
80 cprs.CleanupInterval = TimeSpan.Zero;
81 cprs.RefreshInterval = TimeSpan.Zero;
86 [ExpectedException (typeof (InvalidOperationException))]
87 [Category ("NotWorking")]
88 public void OpenTest4 ()
99 [ExpectedException (typeof (ArgumentException))]
100 public void RefreshTest ()
106 [ExpectedException (typeof (InvalidOperationException))]
107 public void RefreshTest1 ()
109 cprs.Refresh (new RefreshInfo ());
113 //public void RefreshTest2 ()
116 // cprs.Refresh(new RefreshInfo ("foo", new Guid ()));
120 [ExpectedException (typeof( ArgumentException))]
121 public void RegisterTest ()
123 cprs.Register (null);
127 [ExpectedException (typeof (InvalidOperationException))]
128 public void RegisterTest1 ()
130 cprs.Register (new RegisterInfo ());
134 //public void RegisterTest2 ()
137 // cprs.Register(new RegisterInfo ());
141 [ExpectedException (typeof (ArgumentException))]
142 public void ResolveTest ()
148 [ExpectedException (typeof (InvalidOperationException))]
149 public void ResolveTest1 ()
151 cprs.Resolve (new ResolveInfo ());
155 //public void ResolveTest2 ()
158 // cprs.Resolve (new ResolveInfo ());
162 [ExpectedException (typeof (ArgumentException))]
163 public void UnregisterTest ()
165 cprs.Unregister (null);
169 [ExpectedException (typeof (InvalidOperationException))]
170 public void UnregisterTest1 ()
172 cprs.Unregister (new UnregisterInfo ());
176 //public void UnregisterTest2 ()
179 // cprs.Unregister (new UnregisterInfo ());
183 [ExpectedException (typeof (ArgumentException))]
184 public void UpdateTest ()
190 [ExpectedException (typeof (InvalidOperationException))]
191 public void UpdateTest1 ()
193 cprs.Update (new UpdateInfo ());
197 //public void UpdateTest2 ()
200 // cprs.Update (new UpdateInfo ());
204 public void Contract ()
206 var cd = ContractDescription.GetContract (typeof (IPeerResolverContract));
207 Assert.IsNull (cd.CallbackContractType, "#1");
208 Assert.AreEqual (typeof (IPeerResolverContract), cd.ContractType, "#2");
209 Assert.AreEqual (SessionMode.Allowed, cd.SessionMode, "#3");