public async Task GivenRetrieveMetadataRequestForInstance_WhenResourceIsFound_ThenAuditEntriesShouldBeCreated() { InstanceIdentifier dicomInstance = await CreateDicomFileAndGetInstanceIdentifierAsync(); await ExecuteAndValidate( () => _client.RetrieveInstanceMetadataAsync(dicomInstance.StudyInstanceUid, dicomInstance.SeriesInstanceUid, dicomInstance.SopInstanceUid), AuditEventSubType.RetrieveMetadata, $"studies/{dicomInstance.StudyInstanceUid}/series/{dicomInstance.SeriesInstanceUid}/instances/{dicomInstance.SopInstanceUid}/metadata", HttpStatusCode.OK); }
public async Task GivenRetrieveSopInstanceMetadataRequest_WhenSopInstanceUidDoesnotExists_ThenNotFoundIsReturned() { string studyInstanceUid = TestUidGenerator.Generate(); string seriesInstanceUid = TestUidGenerator.Generate(); await PostDicomFileAsync(ResourceType.Instance, studyInstanceUid, seriesInstanceUid, TestUidGenerator.Generate()); DicomWebException exception = await Assert.ThrowsAsync <DicomWebException>(() => _client.RetrieveInstanceMetadataAsync(studyInstanceUid, seriesInstanceUid, TestUidGenerator.Generate())); Assert.Equal(HttpStatusCode.NotFound, exception.StatusCode); }
public async Task GivenRetrieveInstanceMetadataRequest_WhenIfNoneMatchMatchesETag_ThenNotModifiedResponseIsReturned() { string studyInstanceUid = TestUidGenerator.Generate(); string seriesInstanceUid = TestUidGenerator.Generate(); string sopInstanceUid = TestUidGenerator.Generate(); await PostDicomFileAsync(ResourceType.Instance, studyInstanceUid, seriesInstanceUid, sopInstanceUid, dataSet : GenerateNewDataSet()); string eTag; using (DicomWebAsyncEnumerableResponse <DicomDataset> response = await _client.RetrieveInstanceMetadataAsync(studyInstanceUid, seriesInstanceUid, sopInstanceUid)) { eTag = GetEtagFromResponse(response); } using (DicomWebAsyncEnumerableResponse <DicomDataset> response = await _client.RetrieveInstanceMetadataAsync(studyInstanceUid, seriesInstanceUid, sopInstanceUid, eTag)) { Assert.Equal(HttpStatusCode.NotModified, response.StatusCode); ValidateNoContent(response); } }
private static async Task WadoMetadata(Message message, CancellationToken token) { (string studyInstanceUid, string seriesInstanceUid, string sopInstanceUid) = ParseMessageForUids(message); if (sopInstanceUid != null) { await client.RetrieveInstanceMetadataAsync(studyInstanceUid, seriesInstanceUid, sopInstanceUid, cancellationToken : token); } else if (seriesInstanceUid != null) { await client.RetrieveSeriesMetadataAsync(studyInstanceUid, seriesInstanceUid, cancellationToken : token); } else { await client.RetrieveStudyMetadataAsync(studyInstanceUid, cancellationToken : token); } return; }
private static void RetrieveInstanceMetadata(string studyUid, string seriesUid, string instanceUid) { s_client.RetrieveInstanceMetadataAsync(studyUid, seriesUid, instanceUid).Wait(); }