From 5c7904cfe13380cb541f6822fa5fcac39d1d5995 Mon Sep 17 00:00:00 2001 From: Ahmet Date: Wed, 20 May 2020 10:58:30 +0300 Subject: [PATCH] Requested changes resolved and tests added. --- .../Shared/Helpers/BlogNameControlHelper.cs | 10 ++++------ .../Volo.Blogging.Application.Tests.csproj | 1 + .../Volo/Blogging/BlogAppService_Tests.cs | 20 +++++++++++++++++++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Helpers/BlogNameControlHelper.cs b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Helpers/BlogNameControlHelper.cs index 41ffa74683..94c88cd036 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Helpers/BlogNameControlHelper.cs +++ b/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)); } } } \ No newline at end of file diff --git a/modules/blogging/test/Volo.Blogging.Application.Tests/Volo.Blogging.Application.Tests.csproj b/modules/blogging/test/Volo.Blogging.Application.Tests/Volo.Blogging.Application.Tests.csproj index 926daa142c..e41384500b 100644 --- a/modules/blogging/test/Volo.Blogging.Application.Tests/Volo.Blogging.Application.Tests.csproj +++ b/modules/blogging/test/Volo.Blogging.Application.Tests/Volo.Blogging.Application.Tests.csproj @@ -11,6 +11,7 @@ + diff --git a/modules/blogging/test/Volo.Blogging.Application.Tests/Volo/Blogging/BlogAppService_Tests.cs b/modules/blogging/test/Volo.Blogging.Application.Tests/Volo/Blogging/BlogAppService_Tests.cs index b127f8683d..7c67db978b 100644 --- a/modules/blogging/test/Volo.Blogging.Application.Tests/Volo/Blogging/BlogAppService_Tests.cs +++ b/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() {