|
| 1 | +using System; |
| 2 | +using System.Collections.Generic; |
| 3 | +using System.Threading; |
| 4 | +using System.Threading.Tasks; |
| 5 | +using Moq; |
| 6 | +using NuGet.Services.Metadata.Catalog.Persistence; |
| 7 | +using Xunit; |
| 8 | + |
| 9 | +namespace CatalogTests.Persistence |
| 10 | +{ |
| 11 | + public class StorageTests |
| 12 | + { |
| 13 | + [Theory] |
| 14 | + [InlineData("http://contoso.blob.core.windows.net/packages/package.1.0.0.nupkg", "package.1.0.0.nupkg")] |
| 15 | + [InlineData("http://contoso.blob.core.windows.net/packages/another-package123.2.0.0.nupkg", "another-package123.2.0.0.nupkg")] |
| 16 | + public void GetName_NonUnicodeUri_ReturnsCorrectName(string uriString, string expectedName) |
| 17 | + { |
| 18 | + // Arrange |
| 19 | + Uri baseAddress = new Uri("http://contoso.blob.core.windows.net/packages/"); |
| 20 | + var storage = new Mock<Storage>(baseAddress) { CallBase = true }; |
| 21 | + var uri = new Uri(uriString); |
| 22 | + |
| 23 | + // Act |
| 24 | + var name = storage.Object.GetUri(expectedName).ToString(); |
| 25 | + |
| 26 | + // Assert |
| 27 | + Assert.EndsWith(expectedName, name); |
| 28 | + } |
| 29 | + |
| 30 | + [Theory] |
| 31 | + [InlineData("http://contoso.blob.core.windows.net/packages/邮件.1.0.0.nupkg", "邮件.1.0.0.nupkg")] |
| 32 | + [InlineData("http://contoso.blob.core.windows.net/packages/пакет.2.0.0.nupkg", "пакет.2.0.0.nupkg")] |
| 33 | + [InlineData("http://contoso.blob.core.windows.net/packages/パッケージ.3.0.0.nupkg", "パッケージ.3.0.0.nupkg")] |
| 34 | + public void GetName_UnicodeUri_ReturnsCorrectName(string uriString, string expectedName) |
| 35 | + { |
| 36 | + // Arrange |
| 37 | + Uri baseAddress = new Uri("http://contoso.blob.core.windows.net/packages/"); |
| 38 | + var storage = new Mock<Storage>(baseAddress) { CallBase = true }; |
| 39 | + var uri = new Uri(uriString); |
| 40 | + |
| 41 | + // Act |
| 42 | + var name = storage.Object.GetUri(expectedName).ToString(); |
| 43 | + |
| 44 | + // Assert |
| 45 | + Assert.EndsWith(expectedName, name); |
| 46 | + } |
| 47 | + } |
| 48 | +} |
0 commit comments