public async void GetById_DataLoading(BaseTermsQueryTestData data) { IElasticClient client = GetById_GetElasticClientWithData(data); // Setup the mocked Options IOptions <GlossaryAPIOptions> gTermsClientOptions = GetMockOptions(); ESTermsQueryService termsClient = new ESTermsQueryService(client, gTermsClientOptions, new NullLogger <ESTermsQueryService>()); GlossaryTerm glossaryTerm = await termsClient.GetById("cancer.gov", AudienceType.Patient, "en", 43966L); Assert.Equal(data.ExpectedData, glossaryTerm, new GlossaryTermComparer()); }
///<summary> ///A private method to enrich data from file for GetById ///</summary> private IElasticClient GetById_GetElasticClientWithData(BaseTermsQueryTestData data) { ElasticsearchInterceptingConnection conn = new ElasticsearchInterceptingConnection(); conn.RegisterRequestHandlerForType <Nest.GetResponse <GlossaryTerm> >((req, res) => { //Get the file name for this round res.Stream = TestingTools.GetTestFileAsStream("ESTermsQueryData/GetById/" + data.ESTermID + ".json"); res.StatusCode = 200; }); //While this has a URI, it does not matter, an InMemoryConnection never requests //from the server. var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200")); var connectionSettings = new ConnectionSettings(pool, conn); IElasticClient client = new ElasticClient(connectionSettings); return(client); }
public async void GetById_TestUriSetup(BaseTermsQueryTestData data) { Uri esURI = null; ElasticsearchInterceptingConnection conn = new ElasticsearchInterceptingConnection(); conn.RegisterRequestHandlerForType <Nest.GetResponse <GlossaryTerm> >((req, res) => { //Get the file name for this round res.Stream = TestingTools.GetTestFileAsStream("ESTermsQueryData/GetById/" + data.ESTermID + ".json"); res.StatusCode = 200; esURI = req.Uri; }); // While this has a URI, it does not matter, an InMemoryConnection never requests // from the server. var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200")); var connectionSettings = new ConnectionSettings(pool, conn); IElasticClient client = new ElasticClient(connectionSettings); // Setup the mocked Options IOptions <GlossaryAPIOptions> gTermsClientOptions = GetMockOptions(); ESTermsQueryService termsClient = new ESTermsQueryService(client, gTermsClientOptions, new NullLogger <ESTermsQueryService>()); // We don't actually care that this returns anything - only that the intercepting connection // sets up the request URI correctly. GlossaryTerm actDisplay = await termsClient.GetById( data.DictionaryName, data.Audience, data.Language, data.TermID ); Assert.Equal($"/glossaryv1/terms/{data.ESTermID}", esURI.AbsolutePath); }