diff --git a/src/Untappd.Net.UnitTests/Authentication/TestAuthenticationHelper.cs b/src/Untappd.Net.UnitTests/Authentication/TestAuthenticationHelper.cs new file mode 100644 index 0000000..4d2d1b5 --- /dev/null +++ b/src/Untappd.Net.UnitTests/Authentication/TestAuthenticationHelper.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using NUnit.Framework; +using Untappd.Net.Authentication; +using Untappd.Net.Client; + +namespace Untappd.Net.UnitTests.Authentication +{ + [TestFixture] + public class TestAuthenticationHelper + { + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestRedirectUserToException1() + { + + AuthenticationHelper.RedirectUserTo(null, "url"); + } + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestRedirectUserToException2() + { + + AuthenticationHelper.RedirectUserTo(new UnAuthenticatedUntappdCredentials("d", "d"), string.Empty); + } + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestTokenUrlException1() + { + + AuthenticationHelper.TokenUrl(null, "some", "code"); + } + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestTokenUrlException2() + { + + AuthenticationHelper.TokenUrl(new UnAuthenticatedUntappdCredentials("d", "d"), string.Empty, "code"); + } + [Test] + [ExpectedException(typeof(ArgumentNullException))] + public void TestTokenUrlException3() + { + + AuthenticationHelper.TokenUrl(new UnAuthenticatedUntappdCredentials("d", "d"), "ds", string.Empty); + } + } +} diff --git a/src/Untappd.Net.UnitTests/Untappd.Net.UnitTests.csproj b/src/Untappd.Net.UnitTests/Untappd.Net.UnitTests.csproj index 0986b69..9530b32 100644 --- a/src/Untappd.Net.UnitTests/Untappd.Net.UnitTests.csproj +++ b/src/Untappd.Net.UnitTests/Untappd.Net.UnitTests.csproj @@ -69,6 +69,7 @@ + diff --git a/src/Untappd.Net/Authentication/AuthenticationHelper.cs b/src/Untappd.Net/Authentication/AuthenticationHelper.cs index 7ce21e8..f7b59f3 100644 --- a/src/Untappd.Net/Authentication/AuthenticationHelper.cs +++ b/src/Untappd.Net/Authentication/AuthenticationHelper.cs @@ -18,6 +18,16 @@ namespace Untappd.Net.Authentication /// public static string RedirectUserTo(IUnAuthenticadedUntappdCredentials credentials, string redirectUrl) { + if (credentials == null) + { + throw new ArgumentNullException("credentials"); + } + + if (string.IsNullOrWhiteSpace(redirectUrl)) + { + throw new ArgumentNullException("redirectUrl"); + } + return string.Format("{0}/?client_id={1}&response_type=code&redirect_url={2}", Constants.BaseRequestString, credentials.ClientId, redirectUrl); } @@ -31,6 +41,19 @@ namespace Untappd.Net.Authentication /// public static string TokenUrl(IUnAuthenticadedUntappdCredentials credentials, string redirectUrl, string code) { + if (credentials == null) + { + throw new ArgumentNullException("credentials"); + } + + if (string.IsNullOrWhiteSpace(redirectUrl)) + { + throw new ArgumentNullException("redirectUrl"); + } + if (string.IsNullOrWhiteSpace(code)) + { + throw new ArgumentNullException("code"); + } return string.Format("{0}/?client_id={1}&client_secret={2}&response_type=code&redirect_url={3}&code={4}", Constants.OAuthTokenEndPoint, credentials.ClientId,