Implement PSInfisicalAPI module per design spec with env-var auto-discovery
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using Xunit;
|
||||
|
||||
namespace PSInfisicalAPI.Tests
|
||||
{
|
||||
public class SourcePolicyTests
|
||||
{
|
||||
private static DirectoryInfo RepositoryRoot()
|
||||
{
|
||||
DirectoryInfo current = new DirectoryInfo(System.AppContext.BaseDirectory);
|
||||
while (current != null)
|
||||
{
|
||||
if (File.Exists(Path.Combine(current.FullName, "PSInfisicalAPI.sln")))
|
||||
{
|
||||
return current;
|
||||
}
|
||||
current = current.Parent;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void No_Async_Or_Await_Keywords_In_Production_Source()
|
||||
{
|
||||
DirectoryInfo root = RepositoryRoot();
|
||||
Assert.NotNull(root);
|
||||
DirectoryInfo src = new DirectoryInfo(Path.Combine(root.FullName, "src", "PSInfisicalAPI"));
|
||||
Assert.True(src.Exists);
|
||||
|
||||
Regex asyncRegex = new Regex(@"\basync\b");
|
||||
Regex awaitRegex = new Regex(@"\bawait\b");
|
||||
|
||||
foreach (FileInfo file in src.EnumerateFiles("*.cs", SearchOption.AllDirectories))
|
||||
{
|
||||
string content = File.ReadAllText(file.FullName);
|
||||
Assert.DoesNotMatch(asyncRegex, content);
|
||||
Assert.DoesNotMatch(awaitRegex, content);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user