(DISTFILES): Comment out a few missing files.
[mono-project.git] / mcs / class / System.Web.Services / Test / standalone / client / localhost / ConvDocLitBarTest.cs
blob855cb27a8bedf43eb5b324243344c1a92d7f47b2
1 /*
2 WARNING: This code was generated by a tool.
3 Changes to this file will be lost if the code is regenerated
4 */
6 using System;
7 using System.Threading;
8 using NUnit.Framework;
9 using System.Web.Services.Protocols;
10 using System.Xml;
11 using ConvDocLitBarTests.Soap;
13 namespace Localhost.ConvDocLitBarTests
15 [TestFixture]
16 public class ConverterTest: WebServiceTest
18 [Test]
19 public void TestService ()
21 ConverterService cs = new ConverterService ();
22 cs.Login ("lluis");
23 cs.SetCurrencyRate ("EUR", 0.5);
24 Assert.AreEqual (0.5, cs.GetCurrencyRate ("EUR"), "#1");
26 double res = cs.Convert ("EUR","USD",6);
27 Assert.AreEqual ((int)res, (int)12, "#2");
29 CurrencyInfo[] infos = cs.GetCurrencyInfo ();
30 Assert.IsNotNull (infos, "infos");
32 foreach (CurrencyInfo info in infos)
34 double val = 0;
35 Assert.IsNotNull (info.Name, "info.Name");
37 switch (info.Name)
39 case "USD": val = 1; break;
40 case "EUR": val = 0.5; break;
41 case "GBP": val = 0.611817; break;
42 case "JPY": val = 118.271; break;
43 case "CAD": val = 1.36338; break;
44 case "AUD": val = 1.51485; break;
45 case "CHF": val = 1.36915; break;
46 case "RUR": val = 30.4300; break;
47 case "CNY": val = 8.27740; break;
48 case "ZAR": val = 7.62645; break;
49 case "MXN": val = 10.5025; break;
51 Assert.AreEqual (val, info.Rate, "#3 " + info.Name);
53 cs.SetCurrencyRate ("EUR", 0.9);
56 // Async tests
58 ConverterService acs;
59 bool a1;
60 bool a2;
61 bool a3;
62 AutoResetEvent eve = new AutoResetEvent (false);
64 [Test]
65 public void AsyncTestService ()
67 IAsyncResult ar;
68 acs = new ConverterService ();
70 ar = acs.BeginLogin ("lluis", null, null);
71 acs.EndLogin (ar);
73 acs.BeginSetCurrencyRate ("EUR", 0.5, new AsyncCallback(Callback1), null);
75 Assert.IsTrue (eve.WaitOne (5000, false), "#0");
76 Assert.IsTrue (a1, "#1");
78 Assert.IsTrue (eve.WaitOne (5000, false), "#2");
79 Assert.IsTrue (a2, "#3");
81 Assert.IsTrue (eve.WaitOne (5000, false), "#4");
82 Assert.IsTrue (a3, "#5");
85 void Callback1 (IAsyncResult ar)
87 acs.EndSetCurrencyRate (ar);
88 acs.BeginGetCurrencyRate ("EUR", new AsyncCallback(Callback2), null);
91 void Callback2 (IAsyncResult ar)
93 double res = acs.EndGetCurrencyRate (ar);
94 a1 = (res == 0.5);
95 eve.Set ();
97 acs.BeginConvert ("EUR","USD",6, new AsyncCallback(Callback3), null);
100 void Callback3 (IAsyncResult ar)
102 double res = acs.EndConvert (ar);
103 a2 = (res == 12);
104 eve.Set ();
106 acs.BeginGetCurrencyInfo (new AsyncCallback(Callback4),null);
109 void Callback4 (IAsyncResult ar)
111 CurrencyInfo[] infos = acs.EndGetCurrencyInfo (ar);
113 foreach (CurrencyInfo info in infos)
115 double val = 0;
116 switch (info.Name)
118 case "USD": val = 1; break;
119 case "EUR": val = 0.5; break;
120 case "GBP": val = 0.611817; break;
121 case "JPY": val = 118.271; break;
122 case "CAD": val = 1.36338; break;
123 case "AUD": val = 1.51485; break;
124 case "CHF": val = 1.36915; break;
125 case "RUR": val = 30.4300; break;
126 case "CNY": val = 8.27740; break;
127 case "ZAR": val = 7.62645; break;
128 case "MXN": val = 10.5025; break;
130 a3 = (val == info.Rate);
131 if (!a3) break;
133 eve.Set ();
136 [Test]
137 public void TestException ()
139 ConverterService cs = new ConverterService ();
142 cs.SetCurrencyRate ("EUR", 0.5);
143 Assert.Fail ("#0");
145 catch (SoapException ex)
147 Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
148 Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
152 [Test]
153 public void AsyncTestException ()
155 ConverterService cs = new ConverterService ();
156 IAsyncResult ar = cs.BeginSetCurrencyRate ("EUR", 0.5, null, null);
159 cs.EndSetCurrencyRate (ar);
160 Assert.Fail ("#0");
162 catch (SoapException ex)
164 Assert.IsTrue (ex.Message.IndexOf ("User not logged") != -1, "#1");
165 Assert.AreEqual (SoapException.ServerFaultCode, ex.Code, "#2");
169 [Test]
170 public void TestObjectReturn ()
172 ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
174 // Test the Discover method.
175 et.Url = "http://localhost:8080/ConvDocLitBar.asmx?disco";
176 et.Discover ();
178 string d;
179 object res = et.GetTestInfo ("hi", out d);
181 Assert.AreEqual ("iii", d, "t1");
182 Assert.IsNotNull (res, "t2");
183 Assert.IsTrue (res is XmlNode[], "t3");
184 XmlNode[] nods = res as XmlNode[];
185 Assert.AreEqual (5, nods.Length, "t4");
187 Assert.IsTrue (nods[0] is XmlAttribute, "t5");
188 XmlAttribute at = nods[0] as XmlAttribute;
189 Assert.AreEqual ("id", at.LocalName, "t6");
191 Assert.IsTrue (nods[1] is XmlAttribute, "t7");
192 at = nods[1] as XmlAttribute;
193 Assert.AreEqual ("type", at.LocalName, "t8");
195 Assert.IsTrue (nods[2] is XmlAttribute, "t9");
196 at = nods[2] as XmlAttribute;
198 Assert.IsTrue (nods[3] is XmlElement, "t10");
199 XmlElement el = nods[3] as XmlElement;
200 Assert.AreEqual ("a", el.Name, "t11");
202 Assert.IsTrue (nods[4] is XmlElement, "t12");
203 el = nods[4] as XmlElement;
204 Assert.AreEqual ("b", el.Name, "t13");
207 [Test]
208 public void TestUnknownHeaders ()
210 ConverterServiceExtraTest et = new ConverterServiceExtraTest ();
211 et.Url = "http://localhost:8080/ConvDocLitBar.asmx";
213 et.myUserInfo = new MyUserInfo ();
214 et.myUserInfo.userId = 5;
215 et.myUserInfo.Actor = "hi";
217 et.TestUnknownHeader1 ();
219 et.TestUnknownHeader2 ();
221 int res = et.TestUnknownHeader3 ();
222 Assert.AreEqual (5, res, "TestUnknownHeader3");
224 res = et.TestUnknownHeader4 ();
225 Assert.AreEqual (5, res, "TestUnknownHeader4");
229 [System.Web.Services.WebServiceBindingAttribute(Name="ConverterServiceSoap", Namespace="urn:mono-ws-tests")]
230 public class ConverterServiceExtraTest : System.Web.Services.Protocols.SoapHttpClientProtocol
232 public MyUserInfo myUserInfo;
234 [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/GetTestInfo", RequestNamespace="urn:mono-ws-tests", ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
235 public object GetTestInfo(string s, out string d) {
236 object[] results = this.Invoke("GetTestInfo", new object[] {s});
237 d = (string) results[1];
238 return ((object)(results[0]));
241 [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
242 [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader1",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
243 public virtual void TestUnknownHeader1() {
244 this.Invoke("TestUnknownHeader1", new object[0]);
247 [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
248 [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader2",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
249 public virtual void TestUnknownHeader2() {
250 this.Invoke("TestUnknownHeader2", new object[0]);
253 [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
254 [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader3",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
255 public virtual int TestUnknownHeader3() {
256 System.Object[] results = this.Invoke("TestUnknownHeader3", new object[0]);
257 return ((int)(results[0]));
260 [System.Web.Services.Protocols.SoapHeaderAttribute("myUserInfo")]
261 [System.Web.Services.Protocols.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader4",RequestNamespace="urn:mono-ws-tests",ResponseNamespace="urn:mono-ws-tests" , Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=SoapParameterStyle.Bare)]
262 public virtual int TestUnknownHeader4() {
263 System.Object[] results = this.Invoke("TestUnknownHeader4", new object[0]);
264 return ((int)(results[0]));
268 public class MyUserInfo : System.Web.Services.Protocols.SoapHeader
270 public int userId;