|
5 | 5 | using System.Collections.Generic; |
6 | 6 | using System.IO; |
7 | 7 | using System.IO.Compression; |
| 8 | +using System.Linq; |
8 | 9 | using System.Threading.Tasks; |
9 | 10 | using Moq; |
10 | 11 | using NuGet.Services.Entities; |
@@ -47,13 +48,12 @@ private static List<ClientPackageType> CreateSymbolPackageTypesObject() |
47 | 48 | }; |
48 | 49 | } |
49 | 50 |
|
50 | | - private static Action<ZipArchive> CreatePopulatePackageAction(string extension) |
| 51 | + private static Action<ZipArchive> CreatePopulatePackageAction(params string[] extensions) |
51 | 52 | { |
52 | 53 | return archive => |
53 | 54 | { |
54 | | - var entryList = new List<ZipArchiveEntry>() { |
55 | | - archive.CreateEntry("file1" + extension) |
56 | | - }; |
| 55 | + int fileIndex = 0; |
| 56 | + var entryList = extensions.Select(extension => archive.CreateEntry($"file{fileIndex++}{extension}")); |
57 | 57 |
|
58 | 58 | foreach (var entry in entryList) |
59 | 59 | { |
@@ -162,13 +162,25 @@ public async Task WillThrowForInvalidFilesInSnupkg(string extension) |
162 | 162 | public async Task WillNotThrowForValidSnupkgFile(string extension) |
163 | 163 | { |
164 | 164 | var service = CreateService(); |
165 | | - var action = CreatePopulatePackageAction(extension); |
| 165 | + var action = CreatePopulatePackageAction(new string[] { extension, ".pdb" }); |
166 | 166 |
|
167 | 167 | var validSymbolPackageStream = TestPackage.CreateTestSymbolPackageStream("theId", "1.0.42", populatePackage: action); |
168 | 168 | var packageArchiveReader = PackageServiceUtility.CreateArchiveReader(validSymbolPackageStream); |
169 | 169 |
|
170 | 170 | await service.EnsureValidAsync(packageArchiveReader); |
171 | 171 | } |
| 172 | + |
| 173 | + [Fact] |
| 174 | + public async Task WillThrowForSnupkgFileWithoutSymbols() |
| 175 | + { |
| 176 | + var service = CreateService(); |
| 177 | + var action = CreatePopulatePackageAction(".p7s"); |
| 178 | + |
| 179 | + var validSymbolPackageStream = TestPackage.CreateTestSymbolPackageStream("theId", "1.0.42", populatePackage: action); |
| 180 | + var packageArchiveReader = PackageServiceUtility.CreateArchiveReader(validSymbolPackageStream); |
| 181 | + |
| 182 | + await Assert.ThrowsAsync<InvalidDataException>(async () => await service.EnsureValidAsync(packageArchiveReader)); |
| 183 | + } |
172 | 184 | } |
173 | 185 |
|
174 | 186 | public class TheCreateSymbolPackageMethod |
|
0 commit comments