/// <summary> /// Gets an ElasticClient backed by an InMemoryConnection. This is used to mock the /// JSON returned by the elastic search so that we test the Nest mappings to our models. /// </summary> /// <param name="testFile"></param> /// <returns></returns> public static IElasticClient GetInMemoryElasticClient(string testFile) { //Get Response JSON byte[] responseBody = TestingTools.GetTestFileAsBytes(testFile); //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")); // Setup ElasticSearch stuff using the contents of the JSON file as the client response. InMemoryConnection conn = new InMemoryConnection(responseBody); var connectionSettings = new ConnectionSettings(pool, conn, sourceSerializer: JsonNetSerializer.Default); return(new ElasticClient(connectionSettings)); }
public void GetTestFileAsBytes_ReadExistingFile() { string data = @" { ""key"": ""value"", ""key2"": ""value2"" }"; byte[] expected = Encoding.UTF8.GetBytes(data); // Write the data to a temporary location. string path = Path.GetTempFileName(); File.WriteAllText(path, data); // Get the data back. byte[] actual = TestingTools.GetTestFileAsBytes(path); Assert.Equal(expected, actual); }
public void GetTestFileAsBytes_NonexistingFile() { Assert.Throws <FileNotFoundException>( () => TestingTools.GetTestFileAsBytes("NonExistingFile.json") ); }