Adding windows specific tests

This commit is contained in:
Brennan 2015-10-27 14:48:50 -07:00
parent 88af0e74c9
commit 0708c34331
4 changed files with 155 additions and 0 deletions

View File

@ -10,6 +10,7 @@ using Microsoft.AspNet.Builder;
using Microsoft.AspNet.FileProviders;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.TestHost;
using Microsoft.AspNet.Testing.xunit;
using Xunit;
namespace Microsoft.AspNet.StaticFiles
@ -34,6 +35,21 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("/subdir", @".", "/subdir/missing.dir")]
[InlineData("/subdir", @".", "/subdir/missing.dir/")]
[InlineData("", @"./", "/missing.dir")]
public async Task NoMatch_PassesThrough_All(string baseUrl, string baseDir, string requestUrl)
{
await NoMatch_PassesThrough(baseUrl, baseDir, requestUrl);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("", @".\", "/missing.dir")]
[InlineData("", @".\", "/Missing.dir")]
public async Task NoMatch_PassesThrough_Windows(string baseUrl, string baseDir, string requestUrl)
{
await NoMatch_PassesThrough(baseUrl, baseDir, requestUrl);
}
public async Task NoMatch_PassesThrough(string baseUrl, string baseDir, string requestUrl)
{
TestServer server = TestServer.Create(app =>
@ -55,6 +71,21 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("", @".", "/SubFolder/")]
[InlineData("", @"./", "/SubFolder/")]
[InlineData("", @"./SubFolder", "/")]
public async Task FoundDirectoryWithDefaultFile_PathModified_All(string baseUrl, string baseDir, string requestUrl)
{
await FoundDirectoryWithDefaultFile_PathModified(baseUrl, baseDir, requestUrl);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("", @".\", "/SubFolder/")]
[InlineData("", @".\subFolder", "/")]
public async Task FoundDirectoryWithDefaultFile_PathModified_Windows(string baseUrl, string baseDir, string requestUrl)
{
await FoundDirectoryWithDefaultFile_PathModified(baseUrl, baseDir, requestUrl);
}
public async Task FoundDirectoryWithDefaultFile_PathModified(string baseUrl, string baseDir, string requestUrl)
{
TestServer server = TestServer.Create(app =>
@ -76,6 +107,21 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("", @".", "/SubFolder", "")]
[InlineData("", @"./", "/SubFolder", "")]
[InlineData("", @"./", "/SubFolder", "?a=b")]
public async Task NearMatch_RedirectAddSlash_All(string baseUrl, string baseDir, string requestUrl, string queryString)
{
await NearMatch_RedirectAddSlash(baseUrl, baseDir, requestUrl, queryString);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("", @".\", "/SubFolder", "")]
[InlineData("", @".\", "/SubFolder", "?a=b")]
public async Task NearMatch_RedirectAddSlash_Windows(string baseUrl, string baseDir, string requestUrl, string queryString)
{
await NearMatch_RedirectAddSlash(baseUrl, baseDir, requestUrl, queryString);
}
public async Task NearMatch_RedirectAddSlash(string baseUrl, string baseDir, string requestUrl, string queryString)
{
TestServer server = TestServer.Create(app => app.UseDefaultFiles(new DefaultFilesOptions()
@ -95,6 +141,22 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("/SubFolder", @".", "/somedir/")]
[InlineData("", @"./SubFolder", "/")]
[InlineData("", @"./SubFolder/", "/")]
public async Task PostDirectory_PassesThrough_All(string baseUrl, string baseDir, string requestUrl)
{
await PostDirectory_PassesThrough(baseUrl, baseDir, requestUrl);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("/SubFolder", @".\", "/SubFolder/")]
[InlineData("", @".\SubFolder", "/")]
[InlineData("", @".\SubFolder\", "/")]
public async Task PostDirectory_PassesThrough_Windows(string baseUrl, string baseDir, string requestUrl)
{
await PostDirectory_PassesThrough(baseUrl, baseDir, requestUrl);
}
public async Task PostDirectory_PassesThrough(string baseUrl, string baseDir, string requestUrl)
{
TestServer server = TestServer.Create(app => app.UseDefaultFiles(new DefaultFilesOptions()

View File

@ -11,6 +11,7 @@ using Microsoft.AspNet.Builder;
using Microsoft.AspNet.FileProviders;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.TestHost;
using Microsoft.AspNet.Testing.xunit;
using Microsoft.Extensions.DependencyInjection;
using Xunit;
@ -45,6 +46,21 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("/subdir", @".", "/subdir/missing.dir")]
[InlineData("/subdir", @".", "/subdir/missing.dir/")]
[InlineData("", @"./", "/missing.dir")]
public async Task NoMatch_PassesThrough_All(string baseUrl, string baseDir, string requestUrl)
{
await NoMatch_PassesThrough(baseUrl, baseDir, requestUrl);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("", @".\", "/missing.dir")]
[InlineData("", @".\", "/Missing.dir")]
public async Task NoMatch_PassesThrough_Windows(string baseUrl, string baseDir, string requestUrl)
{
await NoMatch_PassesThrough(baseUrl, baseDir, requestUrl);
}
public async Task NoMatch_PassesThrough(string baseUrl, string baseDir, string requestUrl)
{
TestServer server = TestServer.Create(
@ -64,6 +80,21 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("/somedir", @".", "/somedir/")]
[InlineData("/somedir", @"./", "/somedir/")]
[InlineData("/somedir", @".", "/somedir/SubFolder/")]
public async Task FoundDirectory_Served_All(string baseUrl, string baseDir, string requestUrl)
{
await FoundDirectory_Served(baseUrl, baseDir, requestUrl);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("/somedir", @".\", "/somedir/")]
[InlineData("/somedir", @".", "/somedir/subFolder/")]
public async Task FoundDirectory_Served_Windows(string baseUrl, string baseDir, string requestUrl)
{
await FoundDirectory_Served(baseUrl, baseDir, requestUrl);
}
public async Task FoundDirectory_Served(string baseUrl, string baseDir, string requestUrl)
{
TestServer server = TestServer.Create(
@ -88,6 +119,21 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("", @".", "/SubFolder", "?a=b")]
[InlineData("/somedir", @".", "/somedir", "?a=b")]
[InlineData("/somedir", @".", "/somedir/SubFolder", "?a=b")]
public async Task NearMatch_RedirectAddSlash_All(string baseUrl, string baseDir, string requestUrl, string queryString)
{
await NearMatch_RedirectAddSlash(baseUrl, baseDir, requestUrl, queryString);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("/somedir", @".", "/somedir/subFolder", "")]
[InlineData("/somedir", @".", "/somedir/subFolder", "?a=b")]
public async Task NearMatch_RedirectAddSlash_Windows(string baseUrl, string baseDir, string requestUrl, string queryString)
{
await NearMatch_RedirectAddSlash(baseUrl, baseDir, requestUrl, queryString);
}
public async Task NearMatch_RedirectAddSlash(string baseUrl, string baseDir, string requestUrl, string queryString)
{
TestServer server = TestServer.Create(
@ -110,6 +156,20 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("", @".", "/SubFolder/")]
[InlineData("/somedir", @".", "/somedir/")]
[InlineData("/somedir", @".", "/somedir/SubFolder/")]
public async Task PostDirectory_PassesThrough_All(string baseUrl, string baseDir, string requestUrl)
{
await PostDirectory_PassesThrough(baseUrl, baseDir, requestUrl);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("/somedir", @".", "/somedir/subFolder/")]
public async Task PostDirectory_PassesThrough_Windows(string baseUrl, string baseDir, string requestUrl)
{
await PostDirectory_PassesThrough(baseUrl, baseDir, requestUrl);
}
public async Task PostDirectory_PassesThrough(string baseUrl, string baseDir, string requestUrl)
{
TestServer server = TestServer.Create(
@ -129,6 +189,20 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("", @".", "/SubFolder/")]
[InlineData("/somedir", @".", "/somedir/")]
[InlineData("/somedir", @".", "/somedir/SubFolder/")]
public async Task HeadDirectory_HeadersButNotBodyServed_All(string baseUrl, string baseDir, string requestUrl)
{
await HeadDirectory_HeadersButNotBodyServed(baseUrl, baseDir, requestUrl);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("/somedir", @".", "/somedir/subFolder/")]
public async Task HeadDirectory_HeadersButNotBodyServed_Windows(string baseUrl, string baseDir, string requestUrl)
{
await HeadDirectory_HeadersButNotBodyServed(baseUrl, baseDir, requestUrl);
}
public async Task HeadDirectory_HeadersButNotBodyServed(string baseUrl, string baseDir, string requestUrl)
{
TestServer server = TestServer.Create(

View File

@ -10,6 +10,7 @@ using Microsoft.AspNet.Builder;
using Microsoft.AspNet.FileProviders;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.TestHost;
using Microsoft.AspNet.Testing.xunit;
using Xunit;
namespace Microsoft.AspNet.StaticFiles
@ -52,6 +53,23 @@ namespace Microsoft.AspNet.StaticFiles
[InlineData("/SomeDir", @".", "/soMediR/TestDocument.txt")]
[InlineData("", @"SubFolder", "/ranges.txt")]
[InlineData("/somedir", @"SubFolder", "/somedir/ranges.txt")]
public async Task FoundFile_Served_All(string baseUrl, string baseDir, string requestUrl)
{
await FoundFile_Served(baseUrl, baseDir, requestUrl);
}
[ConditionalTheory]
[OSSkipCondition(OperatingSystems.Linux)]
[OSSkipCondition(OperatingSystems.MacOSX)]
[InlineData("", @".", "/testDocument.Txt")]
[InlineData("/somedir", @".", "/somedir/Testdocument.TXT")]
[InlineData("/SomeDir", @".", "/soMediR/testdocument.txT")]
[InlineData("/somedir", @"SubFolder", "/somedir/Ranges.tXt")]
public async Task FoundFile_Served_Windows(string baseUrl, string baseDir, string requestUrl)
{
await FoundFile_Served(baseUrl, baseDir, requestUrl);
}
public async Task FoundFile_Served(string baseUrl, string baseDir, string requestUrl)
{
TestServer server = TestServer.Create(app => app.UseStaticFiles(new StaticFileOptions()

View File

@ -6,6 +6,7 @@
"dependencies": {
"Microsoft.AspNet.StaticFiles": "1.0.0-*",
"Microsoft.AspNet.TestHost": "1.0.0-*",
"Microsoft.AspNet.Testing": "1.0.0-*",
"Microsoft.Extensions.Logging.Testing": "1.0.0-*",
"xunit.runner.aspnet": "2.0.0-aspnet-*"
},