77 строки
2.6 KiB
C#
77 строки
2.6 KiB
C#
//
|
|
// Unit tests for CFNetwork
|
|
//
|
|
// Authors:
|
|
// Sebastien Pouliot <sebastien@xamarin.com>
|
|
//
|
|
// Copyright 2012 Xamarin Inc. All rights reserved.
|
|
//
|
|
|
|
using System;
|
|
using System.Net;
|
|
using System.Threading.Tasks;
|
|
using System.IO;
|
|
using Foundation;
|
|
using CoreFoundation;
|
|
using NUnit.Framework;
|
|
// Mac tries to use CFNetwork Namespace instead of Class for calls without this:
|
|
#if !__WATCHOS__
|
|
using PlatformCFNetwork = CoreFoundation.CFNetwork;
|
|
#endif
|
|
using MonoTests.System.Net.Http;
|
|
|
|
|
|
namespace MonoTouchFixtures.CoreFoundation {
|
|
|
|
[TestFixture]
|
|
[Preserve (AllMembers = true)]
|
|
public class NetworkTest {
|
|
|
|
const string bug4715_url = "http://192.168.1.94:8080/telehealth/Services/External/Recipient.svc/List?OrgId={FDB521B6-1ADA-40D3-8AE9-0F59B9F2DB11}&Ticket=84DDB35C66B7EEF59C8B31D072A71C01E2F81158E98827C983FAF18C8B9D261A2D75680BFD6050B975E9F77EEEF1E9B235E631B957BC31D6C84CBDA6219DB11B2BC9F6BD39546158683F67A86947B034326A48B6E9F50C77D9A1578F50F26C861E514D1CE4721D011F037A1D2B0C91B7D60736B1021B7AC1A387BE28256794C7CF907B57CF2CA30F5D5D26CDAB55A986EDD8D00B9A6BD25FBADA1C583D6A13326851A92137F35DC69D4C565519E95365E6CA37FB60A8480B2297B106CE6DF9AC2A082B90D2755C2F4D73074CAFE1030512FC3A35";
|
|
#if !__TVOS__ && !__WATCHOS__
|
|
CFProxySettings settings = PlatformCFNetwork.GetSystemProxySettings ();
|
|
#endif
|
|
Uri uri = new Uri (bug4715_url);
|
|
|
|
#if !__TVOS__ && !__WATCHOS__
|
|
[Test]
|
|
public void WebProxy ()
|
|
{
|
|
IWebProxy proxy = PlatformCFNetwork.GetDefaultProxy ();
|
|
Assert.True (proxy.IsBypassed (uri), "IsBypassed");
|
|
Assert.That (proxy.GetProxy (uri), Is.SameAs (uri), "GetProxy");
|
|
}
|
|
|
|
[Test]
|
|
public void GetProxiesForUri ()
|
|
{
|
|
var proxies = PlatformCFNetwork.GetProxiesForUri (uri, settings);
|
|
Assert.That (proxies.Length, Is.EqualTo (1), "single");
|
|
var p = proxies [0];
|
|
Assert.Null (p.AutoConfigurationJavaScript, "AutoConfigurationJavaScript");
|
|
Assert.Null (p.AutoConfigurationUrl, "AutoConfigurationUrl");
|
|
Assert.Null (p.HostName, "HostName");
|
|
Assert.That (p.Port, Is.EqualTo (0), "Port");
|
|
Assert.Null (p.Password, "Password");
|
|
Assert.That (p.ProxyType, Is.EqualTo (CFProxyType.None), "Type");
|
|
Assert.Null (p.Username, "Username");
|
|
}
|
|
|
|
[Test]
|
|
public void Bug_7923 ()
|
|
{
|
|
// Bug #7923 - crash when proxy is in effect.
|
|
var uri = NetworkResources.MicrosoftUri;
|
|
|
|
if (PlatformCFNetwork.GetProxiesForUri (uri, settings).Length <= 1)
|
|
Assert.Ignore ("Only run when proxy is configured.");
|
|
|
|
var req = WebRequest.CreateHttp (uri);
|
|
using (var rsp = req.GetResponse ())
|
|
using (var str = new StreamReader (rsp.GetResponseStream ()))
|
|
Console.WriteLine (str.ReadToEnd ());
|
|
}
|
|
#endif // !__TVOS__
|
|
}
|
|
}
|