Add kestrel tests.
Tests will 'build', 'run', 'publish' and 'execute' a Kestrel Hello World server as a PortableFatApp and as a Standalone app.
This commit is contained in:
parent
f665c28173
commit
8f00b95783
17 changed files with 766 additions and 25 deletions
|
@ -14,11 +14,11 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
|
|||
{
|
||||
public class DirectoryInfoAssertions
|
||||
{
|
||||
private DirectoryInfo _dirInfo;
|
||||
private DirectoryInfo _dirInfo;
|
||||
|
||||
public DirectoryInfoAssertions(DirectoryInfo dir)
|
||||
{
|
||||
_dirInfo = dir;
|
||||
_dirInfo = dir;
|
||||
}
|
||||
|
||||
public DirectoryInfo DirectoryInfo => _dirInfo;
|
||||
|
@ -64,5 +64,21 @@ namespace Microsoft.DotNet.Tools.Test.Utilities
|
|||
|
||||
return new AndConstraint<DirectoryInfoAssertions>(new DirectoryInfoAssertions(dir));
|
||||
}
|
||||
|
||||
public AndConstraint<DirectoryInfoAssertions> OnlyHaveFiles(IEnumerable<string> expectedFiles)
|
||||
{
|
||||
var actualFiles = _dirInfo.EnumerateFiles("*", SearchOption.TopDirectoryOnly).Select(f => f.Name);
|
||||
var missingFiles = Enumerable.Except(expectedFiles, actualFiles);
|
||||
var extraFiles = Enumerable.Except(actualFiles, expectedFiles);
|
||||
var nl = Environment.NewLine;
|
||||
|
||||
Execute.Assertion.ForCondition(!missingFiles.Any())
|
||||
.FailWith($"Following files cannot be found inside directory {_dirInfo.FullName} {nl} {string.Join(nl, missingFiles)}");
|
||||
|
||||
Execute.Assertion.ForCondition(!extraFiles.Any())
|
||||
.FailWith($"Following extra files are found inside directory {_dirInfo.FullName} {nl} {string.Join(nl, extraFiles)}");
|
||||
|
||||
return new AndConstraint<DirectoryInfoAssertions>(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue