Implemented Core client

This commit is contained in:
2024-10-23 21:00:23 +02:00
parent 3c8d5137ff
commit 83620cb450
43 changed files with 4218 additions and 2 deletions

View File

@@ -0,0 +1,80 @@
using System;
using System.Linq;
using System.Net.Http;
using AMWD.Net.Api.Cloudflare.Auth;
namespace Cloudflare.Core.Tests.Auth
{
[TestClass]
public class ApiKeyAuthenticationTest
{
[TestMethod]
public void ShouldAddHeaders()
{
// Arrange
string emailAddress = "test@example.com";
string apiKey = "some-api-key";
var auth = new ApiKeyAuthentication(emailAddress, apiKey);
using var clt = new HttpClient();
// Act
auth.AddHeader(clt);
// Assert
Assert.IsTrue(clt.DefaultRequestHeaders.Contains("X-Auth-Email"));
Assert.IsTrue(clt.DefaultRequestHeaders.Contains("X-Auth-Key"));
Assert.AreEqual(emailAddress, clt.DefaultRequestHeaders.GetValues("X-Auth-Email").First());
Assert.AreEqual(apiKey, clt.DefaultRequestHeaders.GetValues("X-Auth-Key").First());
}
[DataTestMethod]
[DataRow(null)]
[DataRow("")]
[DataRow(" ")]
[ExpectedException(typeof(ArgumentNullException))]
public void ShouldArgumentNullExceptionForEmailAddress(string emailAddress)
{
// Arrange
string apiKey = "some-api-key";
// Act
new ApiKeyAuthentication(emailAddress, apiKey);
// Assert - ArgumentNullException
}
[DataTestMethod]
[DataRow(null)]
[DataRow("")]
[DataRow(" ")]
[ExpectedException(typeof(ArgumentNullException))]
public void ShouldArgumentNullExceptionForApiKey(string apiKey)
{
// Arrange
string emailAddress = "test@example.com";
// Act
new ApiKeyAuthentication(emailAddress, apiKey);
// Assert - ArgumentNullException
}
[DataTestMethod]
[DataRow("test")]
[DataRow("test@example")]
[DataRow("example.com")]
[ExpectedException(typeof(ArgumentException))]
public void ShouldArgumentExceptionForInvalidEmailAddress(string emailAddress)
{
// Arrange
string apiKey = "some-api-key";
// Act
new ApiKeyAuthentication(emailAddress, apiKey);
// Assert - ArgumentException
}
}
}