Browse Source

Requested changes resolved and tests added.

pull/3720/head
Ahmet 6 years ago
parent
commit
5c7904cfe1
  1. 10
      modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Helpers/BlogNameControlHelper.cs
  2. 1
      modules/blogging/test/Volo.Blogging.Application.Tests/Volo.Blogging.Application.Tests.csproj
  3. 20
      modules/blogging/test/Volo.Blogging.Application.Tests/Volo/Blogging/BlogAppService_Tests.cs

10
modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Helpers/BlogNameControlHelper.cs

@ -5,18 +5,16 @@ namespace Volo.Blogging.Pages.Blogs.Shared.Helpers
{
public static class BlogNameControlHelper
{
public static readonly string[] ProhibitedFileExtensions = new string[] {".ico", ".txt", ".php"};
public static readonly string[] ProhibitedFileExtensions = new string[] {"ico", "txt", "php"};
public static bool IsProhibitedFileFormatName(string blogShortName)
{
if (!string.IsNullOrWhiteSpace(blogShortName))
if (string.IsNullOrWhiteSpace(blogShortName))
{
var fileInfo = new FileInfo(blogShortName);
return ProhibitedFileExtensions.Contains(fileInfo.Extension);
return false;
}
return false;
return ProhibitedFileExtensions.Any(x => blogShortName.ToLowerInvariant().EndsWith(x));
}
}
}

1
modules/blogging/test/Volo.Blogging.Application.Tests/Volo.Blogging.Application.Tests.csproj

@ -11,6 +11,7 @@
<ItemGroup>
<ProjectReference Include="..\..\src\Volo.Blogging.Application\Volo.Blogging.Application.csproj" />
<ProjectReference Include="..\..\src\Volo.Blogging.Web\Volo.Blogging.Web.csproj" />
<ProjectReference Include="..\Volo.Blogging.Domain.Tests\Volo.Blogging.Domain.Tests.csproj" />
</ItemGroup>

20
modules/blogging/test/Volo.Blogging.Application.Tests/Volo/Blogging/BlogAppService_Tests.cs

@ -6,6 +6,7 @@ using Volo.Blogging.Blogs;
using Volo.Blogging.Blogs.Dtos;
using Volo.Blogging.Comments;
using Volo.Blogging.Comments.Dtos;
using Volo.Blogging.Pages.Blogs.Shared.Helpers;
using Volo.Blogging.Posts;
using Xunit;
@ -41,6 +42,25 @@ namespace Volo.Blogging
blog.Name.ShouldBe(targetBlog.Name);
}
[Theory]
[InlineData("favicon.ICO")]
[InlineData("favicon.ico")]
[InlineData("wp-login.php")]
[InlineData("wp-login.PHP")]
[InlineData("robots.txt")]
public void Should_Return_True_For_FileExtension_Shortname(string blogShortName)
{
BlogNameControlHelper.IsProhibitedFileFormatName(blogShortName).ShouldBe(true);
}
[Theory]
[InlineData("test-post")]
[InlineData("Test.Module")]
public void Should_Return_False_For_Normal_Shortname(string blogShortName)
{
BlogNameControlHelper.IsProhibitedFileFormatName(blogShortName).ShouldBe(false);
}
[Fact]
public async Task Should_Create_A_Blog()
{

Loading…
Cancel
Save