public async Task SearchForStudies_AllStudies() { var studyUid = DicomUIDGenerator.GenerateDerivedFromUUID(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = _fixture.GenerateInstancesAsJson(1, studyUid), }; Mock <HttpMessageHandler> handlerMock; HttpClient httpClient; GenerateHttpClient(response, out handlerMock, out httpClient); var qido = new QidoService(httpClient); var count = 0; await foreach (var instance in qido.SearchForStudies()) { count++; Assert.IsType <string>(instance); } Assert.Equal(1, count); handlerMock.Protected().Verify( "SendAsync", Times.Exactly(1), ItExpr.Is <HttpRequestMessage>(req => req.Method == HttpMethod.Get && req.RequestUri.ToString().StartsWith($"{BaseUri}studies/")), ItExpr.IsAny <CancellationToken>()); }
public HttpResponseMessage SearchForSeries ( [ModelBinder(typeof(QidoRequestModelBinder))] IQidoRequestModel request ) { return(QidoService.SearchForSeries(request)); }
public async Task SearchForStudies_AllArguments() { var studyUid = DicomUIDGenerator.GenerateDerivedFromUUID(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = _fixture.GenerateInstancesAsJson(1, studyUid), }; Mock <HttpMessageHandler> handlerMock; HttpClient httpClient; GenerateHttpClient(response, out handlerMock, out httpClient); var qido = new QidoService(httpClient); var queryParameters = new Dictionary <string, string>(); queryParameters.Add("11112222", "value"); var fields = new List <string>(); fields.Add("1234"); var count = 0; await foreach (var instance in qido.SearchForStudies(queryParameters, fields, true, 1, 1)) { count++; Assert.IsType <string>(instance); } Assert.Equal(1, count); handlerMock.Protected().Verify( "SendAsync", Times.Exactly(1), ItExpr.Is <HttpRequestMessage>(req => req.Method == HttpMethod.Get && req.RequestUri.ToString().StartsWith($"{BaseUri}studies/") && req.RequestUri.Query.Contains("includefield=1234") && req.RequestUri.Query.Contains("fuzzymatching=true") && req.RequestUri.Query.Contains("limit=1") && req.RequestUri.Query.Contains("offset=1") && req.RequestUri.Query.Contains("11112222=value")), ItExpr.IsAny <CancellationToken>()); }