Dashboard\InteractionFileUploadStoreTests.cs (89)
29fileUploadStore.CompleteUpload(InteractionId, fileId);
30Assert.Equal("test.txt", Assert.Single(fileUploadStore.GetCompletedFiles(InteractionId, InputName)).Name);
41fileUploadStore.CompleteUpload(InteractionId, fileId);
43Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
54Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
56fileUploadStore.CompleteUpload(InteractionId, fileId);
58Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
67Assert.Null(fileUploadStore.GetFilePath("nonexistent", InteractionId, InputName));
77fileUploadStore.CompleteUpload(InteractionId, fileId);
79Assert.Equal("cert.pem", Assert.Single(fileUploadStore.GetCompletedFiles(InteractionId, InputName)).Name);
91fileUploadStore.RemoveEntry(InteractionId, fileId);
93Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
104fileUploadStore.CompleteUpload(InteractionId, fileId);
106fileUploadStore.CompleteInteraction(InteractionId);
108Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("other.bin", InteractionId, InputName));
110fileUploadStore.RemoveEntry(InteractionId, fileId);
112var (_, replacementPath) = fileUploadStore.CreateEntry("replacement.bin", InteractionId, InputName);
124var (fileId2, filePath2) = fileUploadStore.CreateEntry("file2.bin", InteractionId, InputName);
125fileUploadStore.CompleteUpload(InteractionId, fileId1);
126fileUploadStore.CompleteUpload(InteractionId, fileId2);
128fileUploadStore.CompleteInteraction(InteractionId);
130fileUploadStore.RemoveEntry(InteractionId, fileId1);
133Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("other.bin", InteractionId, InputName));
134Assert.Equal(filePath2, fileUploadStore.GetFilePath(fileId2, InteractionId, InputName));
136fileUploadStore.RemoveEntry(InteractionId, fileId2);
138var (_, replacementPath) = fileUploadStore.CreateEntry("replacement.bin", InteractionId, InputName);
150var otherInteractionId = InteractionId + 1;
156fileUploadStore.CancelInteraction(InteractionId);
158Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
161fileUploadStore.CompleteUpload(InteractionId, fileId);
163Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
174fileUploadStore.CompleteInteraction(InteractionId);
176Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
179fileUploadStore.CompleteUpload(InteractionId, fileId);
181Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
192fileUploadStore.CompleteUpload(InteractionId, fileId);
194Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
205fileUploadStore.CompleteUpload(InteractionId, fileId);
207fileUploadStore.CancelInteraction(InteractionId);
209Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
221fileUploadStore.CancelInteraction(InteractionId);
223Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
226fileUploadStore.CompleteUpload(InteractionId, fileId);
228Assert.Null(fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
239fileUploadStore.CompleteUpload(InteractionId, fileId);
241fileUploadStore.CompleteInteraction(InteractionId);
243Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
253var (lateFileId, lateFilePath) = fileUploadStore.CreateEntry("late.bin", InteractionId, InputName);
254fileUploadStore.CompleteUpload(InteractionId, acceptedFileId);
257fileUploadStore.CompleteUpload(InteractionId, lateFileId);
258fileUploadStore.CompleteInteraction(InteractionId);
260Assert.Equal(acceptedFilePath, fileUploadStore.GetFilePath(acceptedFileId, InteractionId, InputName));
262Assert.Null(fileUploadStore.GetFilePath(lateFileId, InteractionId, InputName));
273fileUploadStore.CompleteUpload(InteractionId, fileId);
279Assert.Equal(filePath, fileUploadStore.GetFilePath(fileId, InteractionId, InputName));
294fileUploadStore.CompleteUpload(InteractionId, fileId);
298Assert.Equal(expectedLeafName, Assert.Single(fileUploadStore.GetCompletedFiles(InteractionId, InputName)).Name);
312fileUploadStore.CompleteUpload(InteractionId, fileId);
316Assert.Equal(originalFileName, Assert.Single(fileUploadStore.GetCompletedFiles(InteractionId, InputName)).Name);
345fileUploadStore.CreateEntry($"file-{i}.txt", InteractionId, InputName);
348var exception = Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("excess.txt", InteractionId, InputName));
359var (fileId, _) = fileUploadStore.CreateEntry("first.txt", InteractionId, InputName);
361fileUploadStore.RemoveEntry(InteractionId, fileId);
362var (_, replacementPath) = fileUploadStore.CreateEntry("replacement.txt", InteractionId, InputName);
374var exception = Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("file.txt", InteractionId, "OtherFile"));
376Assert.Equal($"Interaction '{InteractionId}' is not accepting file uploads for input 'OtherFile'.", exception.Message);
386var (secondFileId, secondFilePath) = fileUploadStore.CreateEntry("second.pem", InteractionId, "CertInput");
387fileUploadStore.CompleteUpload(InteractionId, secondFileId);
388fileUploadStore.CompleteUpload(InteractionId, firstFileId);
390IReadOnlyList<InteractionFileUpload>? resolvedFiles = fileUploadStore.GetCompletedFiles(InteractionId, "CertInput");
420fileUploadStore.CompleteUpload(InteractionId, fileId);
421IReadOnlyList<InteractionFileUpload>? resolvedFiles = fileUploadStore.GetCompletedFiles(InteractionId, "CertInput");
434var (secondFileId, _) = fileUploadStore.CreateEntry("second.txt", InteractionId, InputName);
435fileUploadStore.CompleteUpload(InteractionId, firstFileId);
436fileUploadStore.CompleteUpload(InteractionId, secondFileId);
437IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId, InputName);
464fileUploadStore.CompleteUpload(InteractionId, fileId);
466IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId, "OtherFile");
480fileUploadStore.CompleteUpload(InteractionId, fileId);
482IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId + 1, InputName);
496IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId, InputName);
518Assert.Null(fileUploadStore.GetFilePath("anything", InteractionId, InputName));
529var exception = Assert.Throws<InvalidOperationException>(() => fileUploadStore.CreateEntry("temp.bin", InteractionId, InputName));
531Assert.Equal($"Interaction '{InteractionId}' is not accepting file uploads.", exception.Message);
540return fileUploadStore.CreateEntry(fileName, InteractionId, inputName);
545int interactionId = InteractionId,
557IReadOnlyList<InteractionFileUpload>? files = fileUploadStore.GetCompletedFiles(InteractionId, InputName);
559fileUploadStore.MarkFilesAccepted(InteractionId, InputName, files!.Select(file => file.Id).ToArray());
567fileUploadStore.CompleteInteraction(InteractionId);