[System.Web.Services] Test DiscoveryClientProtocol
authorMarcos Henrich <marcos.henrich@xamarin.com>
Sat, 30 Jan 2016 11:58:12 +0000 (11:58 +0000)
committerMarcos Henrich <marcos.henrich@xamarin.com>
Tue, 16 Feb 2016 11:56:02 +0000 (11:56 +0000)
Covers #36116

mcs/class/System.Web.Services/System.Web.Services_test.dll.sources
mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/DiscoveryClientProtocolTest.cs [new file with mode: 0644]

index 1d055d9cdafa9deda9d411059535ccdbb94f7c27..8d6ab724f1176714f7e35967db496155c1bf91c8 100644 (file)
@@ -10,6 +10,7 @@ System.Web.Services.Configuration/WsdlHelpGeneratorElementTest.cs
 System.Web.Services.Configuration/WsiProfilesElementTest.cs
 System.Web.Services.Configuration/XmlFormatExtensionAttributeTest.cs
 System.Web.Services.Discovery/ContractReferenceTest.cs
+System.Web.Services.Discovery/DiscoveryClientProtocolTest.cs
 System.Web.Services.Description/BindingCollectionTest.cs
 System.Web.Services.Description/DocumentableItemTest.cs
 System.Web.Services.Description/TypesTest.cs
diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/DiscoveryClientProtocolTest.cs b/mcs/class/System.Web.Services/Test/System.Web.Services.Discovery/DiscoveryClientProtocolTest.cs
new file mode 100644 (file)
index 0000000..4a12ce5
--- /dev/null
@@ -0,0 +1,45 @@
+//
+// MonoTests.System.Web.Services.Discovery.DiscoveryClientProtocolTest.cs
+//
+// Author:
+//   Marcos Henrich (marcos.henrich@xamarin.com)
+//
+// Copyright (C) Xamarin Inc. 2016
+//
+
+using NUnit.Framework;
+using System;
+using System.IO;
+using System.Web.Services.Discovery;
+
+namespace MonoTests.System.Web.Services.Discovery {
+
+       [TestFixture]
+       public class DiscoveryClientProtocolTest {
+
+               [Test] // Covers #36116
+               [Category ("InetAccess")]
+               public void ReadWriteTest ()
+               {
+                       string directory = Path.Combine (Path.GetTempPath (), Path.GetRandomFileName ());
+                       Directory.CreateDirectory (directory);
+                       try {
+                               string url = "http://www.w3schools.com/WebServices/TempConvert.asmx";
+                               var p1 = new DiscoveryClientProtocol ();
+                               p1.DiscoverAny (url);
+                               p1.ResolveAll ();
+
+                               p1.WriteAll (directory, "Reference.map");
+
+                               var p2 = new DiscoveryClientProtocol ();
+                               var results = p2.ReadAll (Path.Combine (directory, "Reference.map"));
+
+                               Assert.AreEqual (2, results.Count);
+                               Assert.AreEqual ("TempConvert.disco", results [0].Filename);
+                               Assert.AreEqual ("TempConvert.wsdl", results [1].Filename);
+                       } finally {
+                               Directory.Delete (directory, true);
+                       }
+               }
+       }
+}