#4471 Remove Provider suffixes and Default prefixes for blob naming normalization

pull/4513/head
Halil İbrahim Kalkan 5 years ago
parent 9022a57d99
commit 2ac5e880a6

@ -15,7 +15,7 @@ namespace Volo.Abp.BlobStoring.Azure
Action<AzureBlobProviderConfiguration> azureConfigureAction)
{
containerConfiguration.ProviderType = typeof(AzureBlobProvider);
containerConfiguration.NamingNormalizerProviders.Add<DefaultAzureBlobNamingNormalizerProvider>();
containerConfiguration.NamingNormalizers.Add<AzureBlobNamingNormalizer>();
azureConfigureAction(new AzureBlobProviderConfiguration(containerConfiguration));

@ -3,7 +3,7 @@ using Volo.Abp.DependencyInjection;
namespace Volo.Abp.BlobStoring.Azure
{
public class DefaultAzureBlobNamingNormalizerProvider : IBlobNamingNormalizerProvider, ITransientDependency
public class AzureBlobNamingNormalizer : IBlobNamingNormalizer, ITransientDependency
{
/// <summary>
///https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#container-names

@ -15,7 +15,7 @@ namespace Volo.Abp.BlobStoring.FileSystem
Action<FileSystemBlobProviderConfiguration> fileSystemConfigureAction)
{
containerConfiguration.ProviderType = typeof(FileSystemBlobProvider);
containerConfiguration.NamingNormalizerProviders.Add<DefaultFileSystemBlobNamingNormalizerProvider>();
containerConfiguration.NamingNormalizers.Add<FileSystemBlobNamingNormalizer>();
fileSystemConfigureAction(new FileSystemBlobProviderConfiguration(containerConfiguration));

@ -6,11 +6,11 @@ using Volo.Abp.DependencyInjection;
namespace Volo.Abp.BlobStoring.FileSystem
{
public class DefaultFileSystemBlobNamingNormalizerProvider : IBlobNamingNormalizerProvider, ITransientDependency
public class FileSystemBlobNamingNormalizer : IBlobNamingNormalizer, ITransientDependency
{
private readonly IOSPlatformProvider _iosPlatformProvider;
public DefaultFileSystemBlobNamingNormalizerProvider(IOSPlatformProvider iosPlatformProvider)
public FileSystemBlobNamingNormalizer(IOSPlatformProvider iosPlatformProvider)
{
_iosPlatformProvider = iosPlatformProvider;
}

@ -1,4 +1,4 @@
using System;
using System;
using System.IO;
using System.Linq;
using System.Threading;
@ -106,17 +106,17 @@ namespace Volo.Abp.BlobStoring
private (string, string) NormalizeContainerNameAndBlobName(string containerName, string blobName)
{
if (!Configuration.NamingNormalizerProviders.Any())
if (!Configuration.NamingNormalizers.Any())
{
return (containerName, blobName);
}
using (var scope = ServiceProvider.CreateScope())
{
foreach (var provider in Configuration.NamingNormalizerProviders)
foreach (var provider in Configuration.NamingNormalizers)
{
var blobNamingNormalizerProvider = scope.ServiceProvider.GetRequiredService(provider)
.As<IBlobNamingNormalizerProvider>();
.As<IBlobNamingNormalizer>();
containerName = blobNamingNormalizerProvider.NormalizeContainerName(containerName);
blobName = blobNamingNormalizerProvider.NormalizeBlobName(blobName);

@ -24,7 +24,7 @@ namespace Volo.Abp.BlobStoring
/// </summary>
public bool IsMultiTenant { get; set; } = true;
public ITypeList<IBlobNamingNormalizerProvider> NamingNormalizerProviders { get; }
public ITypeList<IBlobNamingNormalizer> NamingNormalizers { get; }
[NotNull] private readonly Dictionary<string, object> _properties;
@ -32,7 +32,7 @@ namespace Volo.Abp.BlobStoring
public BlobContainerConfiguration(BlobContainerConfiguration fallbackConfiguration = null)
{
NamingNormalizerProviders = new TypeList<IBlobNamingNormalizerProvider>();
NamingNormalizers = new TypeList<IBlobNamingNormalizer>();
_fallbackConfiguration = fallbackConfiguration;
_properties = new Dictionary<string, object>();
}

@ -1,6 +1,6 @@
namespace Volo.Abp.BlobStoring
{
public interface IBlobNamingNormalizerProvider
public interface IBlobNamingNormalizer
{
string NormalizeContainerName(string containerName);

@ -5,18 +5,18 @@ namespace Volo.Abp.BlobStoring.Azure
{
public class DefaultAzureBlobNamingNormalizerProvider_Tests : AbpBlobStoringAzureTestCommonBase
{
private readonly IBlobNamingNormalizerProvider _blobNamingNormalizerProvider;
private readonly IBlobNamingNormalizer _blobNamingNormalizer;
public DefaultAzureBlobNamingNormalizerProvider_Tests()
{
_blobNamingNormalizerProvider = GetRequiredService<IBlobNamingNormalizerProvider>();
_blobNamingNormalizer = GetRequiredService<IBlobNamingNormalizer>();
}
[Fact]
public void NormalizeContainerName_Lowercase()
{
var filename = "ThisIsMyContainerName";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.ShouldBe("thisismycontainername");
}
@ -24,7 +24,7 @@ namespace Volo.Abp.BlobStoring.Azure
public void NormalizeContainerName_Only_Letters_Numbers_Dash()
{
var filename = ",./this-i,./s-my-c,./ont,./ai+*/.=!@#$n^&*er-name.+/";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.ShouldBe("this-is-my-container-name");
}
@ -32,7 +32,7 @@ namespace Volo.Abp.BlobStoring.Azure
public void NormalizeContainerName_Dash()
{
var filename = "-this--is----my-container----name-";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.ShouldBe("this-is-my-container-name");
}
@ -41,7 +41,7 @@ namespace Volo.Abp.BlobStoring.Azure
public void NormalizeContainerName_Min_Length()
{
var filename = "a";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.Length.ShouldBeGreaterThanOrEqualTo(3);
}
@ -50,7 +50,7 @@ namespace Volo.Abp.BlobStoring.Azure
public void NormalizeContainerName_Max_Length()
{
var filename = "abpabpabpabpabpabpabpabpabpabpabpabpabpabpabpabpabpabpabpabpabpabpabp";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.Length.ShouldBeLessThanOrEqualTo(63);
}
}

@ -9,11 +9,11 @@ namespace Volo.Abp.BlobStoring.FileSystem
{
public class DefaultFileSystemBlobNamingNormalizerProvider_Tests : AbpBlobStoringFileSystemTestBase
{
private readonly IBlobNamingNormalizerProvider _blobNamingNormalizerProvider;
private readonly IBlobNamingNormalizer _blobNamingNormalizer;
public DefaultFileSystemBlobNamingNormalizerProvider_Tests()
{
_blobNamingNormalizerProvider = GetRequiredService<IBlobNamingNormalizerProvider>();
_blobNamingNormalizer = GetRequiredService<IBlobNamingNormalizer>();
}
protected override void AfterAddApplication(IServiceCollection services)
@ -27,7 +27,7 @@ namespace Volo.Abp.BlobStoring.FileSystem
public void NormalizeContainerName()
{
var filename = "thisismy:*?\"<>|foldername";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.ShouldBe("thisismyfoldername");
}
@ -35,7 +35,7 @@ namespace Volo.Abp.BlobStoring.FileSystem
public void NormalizeBlobName()
{
var filename = "thisismy:*?\"<>|filename";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.ShouldBe("thisismyfilename");
}
@ -45,7 +45,7 @@ namespace Volo.Abp.BlobStoring.FileSystem
public void NormalizeContainerName_With_Directory(string delimiter)
{
var filename = $"thisis{delimiter}my:*?\"<>|{delimiter}foldername";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.ShouldBe($"thisis{delimiter}my{delimiter}foldername");
}
@ -55,7 +55,7 @@ namespace Volo.Abp.BlobStoring.FileSystem
public void NormalizeBlobName_With_Directory(string delimiter)
{
var filename = $"thisis{delimiter}my:*?\"<>|{delimiter}filename";
filename = _blobNamingNormalizerProvider.NormalizeContainerName(filename);
filename = _blobNamingNormalizer.NormalizeContainerName(filename);
filename.ShouldBe($"thisis{delimiter}my{delimiter}filename");
}
}

Loading…
Cancel
Save