Dashboard\InteractionFileUploadStoreTests.cs (89)
27fileUploadStore.CompleteUpload(InteractionId, fileId);
28Assert.Equal("test.txt", Assert.Single(fileUploadStore.GetCompletedFiles(InteractionId, InputName)).Name);
39fileUploadStore.CompleteUpload(InteractionId, fileId);
41Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
52Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
54fileUploadStore.CompleteUpload(InteractionId, fileId);
56Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
65Assert.Null(fileUploadStore.GetFilePath("nonexistent", InteractionId, InputName));
75fileUploadStore.CompleteUpload(InteractionId, fileId);
77Assert.Equal("cert.pem", Assert.Single(fileUploadStore.GetCompletedFiles(InteractionId, InputName)).Name);
89fileUploadStore.RemoveEntry(InteractionId, fileId);
91Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
102fileUploadStore.CompleteUpload(InteractionId, fileId);
104fileUploadStore.CompleteInteraction(InteractionId);
106Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("other.bin", InteractionId, InputName));
108fileUploadStore.RemoveEntry(InteractionId, fileId);
110var (_, replacementPath) = fileUploadStore.CreateEntry("replacement.bin", InteractionId, InputName);
122var (fileId2, filePath2) = fileUploadStore.CreateEntry("file2.bin", InteractionId, InputName);
123fileUploadStore.CompleteUpload(InteractionId, fileId1);
124fileUploadStore.CompleteUpload(InteractionId, fileId2);
126fileUploadStore.CompleteInteraction(InteractionId);
128fileUploadStore.RemoveEntry(InteractionId, fileId1);
131Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("other.bin", InteractionId, InputName));
132Assert.Equal(filePath2, fileUploadStore.GetFilePath(fileId2, InteractionId, InputName));
134fileUploadStore.RemoveEntry(InteractionId, fileId2);
136var (_, replacementPath) = fileUploadStore.CreateEntry("replacement.bin", InteractionId, InputName);
148var otherInteractionId = InteractionId + 1;
154fileUploadStore.CancelInteraction(InteractionId);
156Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
159fileUploadStore.CompleteUpload(InteractionId, fileId);
161Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
172fileUploadStore.CompleteInteraction(InteractionId);
174Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
177fileUploadStore.CompleteUpload(InteractionId, fileId);
179Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
190fileUploadStore.CompleteUpload(InteractionId, fileId);
192Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
203fileUploadStore.CompleteUpload(InteractionId, fileId);
205fileUploadStore.CancelInteraction(InteractionId);
207Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
219fileUploadStore.CancelInteraction(InteractionId);
221Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
224fileUploadStore.CompleteUpload(InteractionId, fileId);
226Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
237fileUploadStore.CompleteUpload(InteractionId, fileId);
239fileUploadStore.CompleteInteraction(InteractionId);
241Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
251var (lateFileId, lateFilePath) = fileUploadStore.CreateEntry("late.bin", InteractionId, InputName);
252fileUploadStore.CompleteUpload(InteractionId, acceptedFileId);
255fileUploadStore.CompleteUpload(InteractionId, lateFileId);
256fileUploadStore.CompleteInteraction(InteractionId);
258Assert.Equal(acceptedFilePath, fileUploadStore.GetFilePath(acceptedFileId, InteractionId, InputName));
260Assert.Null(fileUploadStore.GetFilePath(lateFileId, InteractionId, InputName));
271fileUploadStore.CompleteUpload(InteractionId, fileId);
277Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
292fileUploadStore.CompleteUpload(InteractionId, fileId);
296Assert.Equal(expectedLeafName, Assert.Single(fileUploadStore.GetCompletedFiles(InteractionId, InputName)).Name);
310fileUploadStore.CompleteUpload(InteractionId, fileId);
314Assert.Equal(originalFileName, Assert.Single(fileUploadStore.GetCompletedFiles(InteractionId, InputName)).Name);
343fileUploadStore.CreateEntry($"file-{i}.txt", InteractionId, InputName);
346var exception = Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("excess.txt", InteractionId, InputName));
357var (fileId, _) = fileUploadStore.CreateEntry("first.txt", InteractionId, InputName);
359fileUploadStore.RemoveEntry(InteractionId, fileId);
360var (_, replacementPath) = fileUploadStore.CreateEntry("replacement.txt", InteractionId, InputName);
372var exception = Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("file.txt", InteractionId, "OtherFile"));
374Assert.Equal($"Interaction '{InteractionId}' is not accepting file uploads for input 'OtherFile'.", exception.Message);
384var (secondFileId, secondFilePath) = fileUploadStore.CreateEntry("second.pem", InteractionId, "CertInput");
385fileUploadStore.CompleteUpload(InteractionId, secondFileId);
386fileUploadStore.CompleteUpload(InteractionId, firstFileId);
388IReadOnlyList<InteractionFileUpload>? resolvedFiles = fileUploadStore.GetCompletedFiles(InteractionId, "CertInput");
418fileUploadStore.CompleteUpload(InteractionId, fileId);
419IReadOnlyList<InteractionFileUpload>? resolvedFiles = fileUploadStore.GetCompletedFiles(InteractionId, "CertInput");
432var (secondFileId, _) = fileUploadStore.CreateEntry("second.txt", InteractionId, InputName);
433fileUploadStore.CompleteUpload(InteractionId, firstFileId);
434fileUploadStore.CompleteUpload(InteractionId, secondFileId);
435IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId, InputName);
462fileUploadStore.CompleteUpload(InteractionId, fileId);
464IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId, "OtherFile");
478fileUploadStore.CompleteUpload(InteractionId, fileId);
480IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId + 1, InputName);
494IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId, InputName);
516Assert.Null(fileUploadStore.GetFilePath("anything", InteractionId, InputName));
527var exception = Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("temp.bin", InteractionId, InputName));
529Assert.Equal($"Interaction '{InteractionId}' is not accepting file uploads.", exception.Message);
538return fileUploadStore.CreateEntry(fileName, InteractionId, inputName);
543int interactionId = InteractionId,
555IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId, InputName);
557fileUploadStore.MarkFilesAccepted(InteractionId, InputName, files!.Select(file => file.Id).ToArray());
565fileUploadStore.CompleteInteraction(InteractionId);