Skip to content
This repository was archived by the owner on May 17, 2024. It is now read-only.

Update 3.1 to follow BASHER and Zero Trust guidelines #182

Merged
merged 26 commits into from
Aug 25, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Updated tests
  • Loading branch information
v-michaelmi committed Jul 12, 2022
commit 5e2e159085e7988d76141bc659df9e5a5ec28633
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using System;
using Xunit;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Configuration;

namespace TodoListAPI.Tests
Expand All @@ -17,37 +16,30 @@ public static IConfiguration InitConfiguration()
}

[Fact]
public void ShouldNotContainClientId()
public void ShouldContainClientId()
{
var myConfiguration = ConfigurationTests.InitConfiguration();
string clientId = myConfiguration.GetSection("AzureAd")["ClientId"];
var clientId = myConfiguration.GetSection("AzureAd")["ClientId"];

string pattern = @"(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}";
var regex = new Regex(pattern);
Assert.DoesNotMatch(regex, clientId);
Assert.True(Guid.TryParse(clientId, out var theGuid));
}

[Fact]
public void ShouldNotContainTenantId()
public void ShouldContainTenantId()
{
var myConfiguration = ConfigurationTests.InitConfiguration();
string tenantId = myConfiguration.GetSection("AzureAd")["TenantId"];
var tenantId = myConfiguration.GetSection("AzureAd")["TenantId"];

string pattern = @"(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}";
var regex = new Regex(pattern);
Assert.DoesNotMatch(regex, tenantId);
Assert.True(Guid.TryParse(tenantId, out var theGuid));
}

[Fact]
public void ShouldNotContainDomain()
public void ShouldContainDomain()
{
var myConfiguration = ConfigurationTests.InitConfiguration();
string domain = myConfiguration.GetSection("AzureAd")["Domain"];
var domain = $"https://{myConfiguration.GetSection("AzureAd")["Domain"]}";

string pattern = @"(^http[s]?:\/\/|[a-z]*\.[a-z]{3}\.[a-z]{2})|([a-z]*\.[a-z]{3}$)";
var regex = new Regex(pattern);

Assert.DoesNotMatch(regex, domain);
Assert.True(Uri.TryCreate(domain, UriKind.Absolute, out var uri));
}
}
}