1 // 2 // CustomPeerResolverServiceTest.cs 3 // 4 // Author: 5 // Marcos Cobena (marcoscobena@gmail.com) 6 // 7 // Copyright 2007 Marcos Cobena (http://www.youcannoteatbits.org/) 8 // 9 #if !MOBILE && !XAMMAC_4_5 10 using System; 11 using System.Collections.Generic; 12 using System.ServiceModel; 13 using System.ServiceModel.Description; 14 using System.ServiceModel.PeerResolvers; 15 using System.Text; 16 17 using NUnit.Framework; 18 19 using MonoTests.Helpers; 20 21 namespace MonoTests.System.ServiceModel.PeerResolvers 22 { 23 [TestFixture] 24 public class CustomPeerResolverServiceTest 25 { 26 private CustomPeerResolverService cprs; 27 28 [SetUp] SetUp()29 protected void SetUp () 30 { 31 var port = NetworkHelpers.FindFreePort (); 32 Environment.SetEnvironmentVariable ("MONO_CUSTOMPEERRESOLVERSERVICE_PORT", port.ToString ()); 33 cprs = new CustomPeerResolverService (); 34 } 35 36 [Test] 37 [Category ("NotWorking")] CloseTest()38 public void CloseTest () 39 { 40 cprs.Open (); 41 cprs.Close (); 42 } 43 44 [Test] 45 [ExpectedException (typeof (InvalidOperationException))] CloseTest1()46 public void CloseTest1 () 47 { 48 cprs.Close (); 49 } 50 51 [Test] 52 [ExpectedException (typeof (InvalidOperationException))] GetServiceSettingsTest()53 public void GetServiceSettingsTest () 54 { 55 ServiceSettingsResponseInfo ssri; 56 57 ssri = cprs.GetServiceSettings (); 58 } 59 60 [Test] 61 [ExpectedException (typeof (ArgumentException))] OpenTest1()62 public void OpenTest1 () 63 { 64 cprs.CleanupInterval = TimeSpan.Zero; 65 cprs.Open (); 66 } 67 68 [Test] 69 [ExpectedException (typeof (ArgumentException))] OpenTest2()70 public void OpenTest2 () 71 { 72 cprs.RefreshInterval = TimeSpan.Zero; 73 cprs.Open (); 74 } 75 76 [Test] 77 [ExpectedException (typeof (ArgumentException))] OpenTest3()78 public void OpenTest3 () 79 { 80 cprs.CleanupInterval = TimeSpan.Zero; 81 cprs.RefreshInterval = TimeSpan.Zero; 82 cprs.Open (); 83 } 84 85 [Test] 86 [ExpectedException (typeof (InvalidOperationException))] 87 [Category ("NotWorking")] OpenTest4()88 public void OpenTest4 () 89 { 90 cprs.Open (); 91 try { 92 cprs.Open (); 93 } finally { 94 cprs.Close (); 95 } 96 } 97 98 [Test] 99 [ExpectedException (typeof (ArgumentException))] RefreshTest()100 public void RefreshTest () 101 { 102 cprs.Refresh (null); 103 } 104 105 [Test] 106 [ExpectedException (typeof (InvalidOperationException))] RefreshTest1()107 public void RefreshTest1 () 108 { 109 cprs.Refresh (new RefreshInfo ()); 110 } 111 112 //[Test] 113 //public void RefreshTest2 () 114 //{ 115 // cprs.Open (); 116 // cprs.Refresh(new RefreshInfo ("foo", new Guid ())); 117 //} 118 119 [Test] 120 [ExpectedException (typeof( ArgumentException))] RegisterTest()121 public void RegisterTest () 122 { 123 cprs.Register (null); 124 } 125 126 [Test] 127 [ExpectedException (typeof (InvalidOperationException))] RegisterTest1()128 public void RegisterTest1 () 129 { 130 cprs.Register (new RegisterInfo ()); 131 } 132 133 //[Test] 134 //public void RegisterTest2 () 135 //{ 136 // cprs.Open (); 137 // cprs.Register(new RegisterInfo ()); 138 //} 139 140 [Test] 141 [ExpectedException (typeof (ArgumentException))] ResolveTest()142 public void ResolveTest () 143 { 144 cprs.Resolve (null); 145 } 146 147 [Test] 148 [ExpectedException (typeof (InvalidOperationException))] ResolveTest1()149 public void ResolveTest1 () 150 { 151 cprs.Resolve (new ResolveInfo ()); 152 } 153 154 //[Test] 155 //public void ResolveTest2 () 156 //{ 157 // cprs.Open (); 158 // cprs.Resolve (new ResolveInfo ()); 159 //} 160 161 [Test] 162 [ExpectedException (typeof (ArgumentException))] UnregisterTest()163 public void UnregisterTest () 164 { 165 cprs.Unregister (null); 166 } 167 168 [Test] 169 [ExpectedException (typeof (InvalidOperationException))] UnregisterTest1()170 public void UnregisterTest1 () 171 { 172 cprs.Unregister (new UnregisterInfo ()); 173 } 174 175 //[Test] 176 //public void UnregisterTest2 () 177 //{ 178 // cprs.Open (); 179 // cprs.Unregister (new UnregisterInfo ()); 180 //} 181 182 [Test] 183 [ExpectedException (typeof (ArgumentException))] UpdateTest()184 public void UpdateTest () 185 { 186 cprs.Update (null); 187 } 188 189 [Test] 190 [ExpectedException (typeof (InvalidOperationException))] UpdateTest1()191 public void UpdateTest1 () 192 { 193 cprs.Update (new UpdateInfo ()); 194 } 195 196 //[Test] 197 //public void UpdateTest2 () 198 //{ 199 // cprs.Open (); 200 // cprs.Update (new UpdateInfo ()); 201 //} 202 203 [Test] Contract()204 public void Contract () 205 { 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"); 210 } 211 } 212 } 213 #endif 214