view Agendas/trunk/src/Agendas.Google.Test/GUrlShortenerTest.cs @ 232:806fd94727ce

Validación de parámetros en GUrlShortener
author juanjose.montesdeocaarbos
date Mon, 03 Oct 2011 07:50:54 -0300
parents 03c237cd5cc4
children
line wrap: on
line source

using System;
using System.Net;
using AltNetHispano.Agendas.Google;
using NUnit.Framework;

namespace Agendas.Google.Test
{
	[TestFixture]
	public class GUrlShortenerTest
	{
		[Test]
		public void Obtener_url_corta()
		{
			var gUrlShortener = new GUrlShortenerAdapter();

			var shortUrl = gUrlShortener.GetShortUrl("http://www.twitter.com");

			Console.WriteLine(shortUrl);

			Assert.AreEqual("http://goo.gl/CbHS", shortUrl);
		}

		[Test]
		public void Acceder_a_url_corta()
		{
			var gUrlShortener = new GUrlShortenerAdapter();

			var shortUrl = gUrlShortener.GetShortUrl("http://altnethispano.org");

			Console.WriteLine(shortUrl);

			var request = WebRequest.Create(shortUrl);
			var response = request.GetResponse() as HttpWebResponse;

			Assert.IsNotNull(response);
			Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);

			Assert.AreEqual(new Uri("http://altnethispano.org/Inicio.aspx"), response.ResponseUri);

		}

        [Test]
        public void Parametros_Invalidos_En_GetShortUrl()
        {
            var gUrlShortener = new GUrlShortenerAdapter();

            Assert.Throws<ArgumentException>(() => gUrlShortener.GetShortUrl(string.Empty));
            Assert.Throws<ArgumentNullException>(() => gUrlShortener.GetShortUrl(null));
        }
    }
}