Merge pull request #5428 from kumpera/wasm-support-p2
[mono.git] / mcs / class / System.ServiceModel / Test / System.ServiceModel.PeerResolvers / CustomPeerResolverServiceTest.cs
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
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]
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")]
38                 public void CloseTest ()
39                 {
40                         cprs.Open ();
41                         cprs.Close ();
42                 }
43
44                 [Test]
45                 [ExpectedException (typeof (InvalidOperationException))]
46                 public void CloseTest1 ()
47                 {
48                         cprs.Close ();
49                 }
50
51                 [Test]
52                 [ExpectedException (typeof (InvalidOperationException))]
53                 public void GetServiceSettingsTest ()
54                 {
55                         ServiceSettingsResponseInfo ssri;
56
57                         ssri = cprs.GetServiceSettings ();
58                 }
59
60                 [Test]
61                 [ExpectedException (typeof (ArgumentException))]
62                 public void OpenTest1 ()
63                 {
64                         cprs.CleanupInterval = TimeSpan.Zero;
65                         cprs.Open ();
66                 }
67
68                 [Test]
69                 [ExpectedException (typeof (ArgumentException))]
70                 public void OpenTest2 ()
71                 {
72                         cprs.RefreshInterval = TimeSpan.Zero;
73                         cprs.Open ();
74                 }
75
76                 [Test]
77                 [ExpectedException (typeof (ArgumentException))]
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")]
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))]
100                 public void RefreshTest ()
101                 {
102                         cprs.Refresh (null);
103                 }
104
105                 [Test]
106                 [ExpectedException (typeof (InvalidOperationException))]
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))]
121                 public void RegisterTest ()
122                 {
123                         cprs.Register (null);
124                 }
125
126                 [Test]
127                 [ExpectedException (typeof (InvalidOperationException))]
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))]
142                 public void ResolveTest ()
143                 {
144                         cprs.Resolve (null);
145                 }
146
147                 [Test]
148                 [ExpectedException (typeof (InvalidOperationException))]
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))]
163                 public void UnregisterTest ()
164                 {
165                         cprs.Unregister (null);
166                 }
167
168                 [Test]
169                 [ExpectedException (typeof (InvalidOperationException))]
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))]
184                 public void UpdateTest ()
185                 {
186                         cprs.Update (null);
187                 }
188
189                 [Test]
190                 [ExpectedException (typeof (InvalidOperationException))]
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]
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 }