public void RemoteFacetedSearchHonorsConditionalGet() { using (GetNewServer()) using (var store = new DocumentStore { Url = "http://localhost:8079" }.Initialize()) { Setup(store, _stronglyTypedFacets); Etag firstEtag; var queryUrl = store.Url + "/facets/CameraCost?facetDoc=facets%2FCameraFacets&query=Manufacturer%253A{0}&facetStart=0&facetPageSize="; var url = string.Format(queryUrl, "canon"); Assert.Equal(HttpStatusCode.OK, ConditionalGetHelper.PerformGet(url, null, out firstEtag)); //second request should give 304 not modified Assert.Equal(HttpStatusCode.NotModified, ConditionalGetHelper.PerformGet(url, firstEtag, out firstEtag)); //change index etag by inserting new doc InsertCameraDataAndWaitForNonStaleResults(store, GetCameras(1)); Etag secondEtag; //changing the index should give 200 OK Assert.Equal(HttpStatusCode.OK, ConditionalGetHelper.PerformGet(url, firstEtag, out secondEtag)); //next request should give 304 not modified Assert.Equal(HttpStatusCode.NotModified, ConditionalGetHelper.PerformGet(url, secondEtag, out secondEtag)); } }
public void RemoteDynamicFacetedSearchHonorsConditionalGet() { using (GetNewServer()) using (var store = new DocumentStore { Url = "http://localhost:8079" }.Initialize()) { CreateCameraCostIndex(store); InsertCameraDataAndWaitForNonStaleResults(store, GetCameras(1)); var facets = GetFacets(); var jsonFacets = JsonConvert.SerializeObject(facets); Etag firstEtag; var queryUrl = store.Url + "/facets/CameraCost?query=Manufacturer%253A{0}&facetStart=0&facetPageSize="; var requestUrl = string.Format(queryUrl, "canon"); Assert.Equal(HttpStatusCode.OK, ConditionalGetHelper.PerformPost(requestUrl, jsonFacets, null, out firstEtag)); //second request should give 304 not modified Assert.Equal(HttpStatusCode.NotModified, ConditionalGetHelper.PerformPost(requestUrl, jsonFacets, firstEtag, out firstEtag)); //change index etag by inserting new doc InsertCameraDataAndWaitForNonStaleResults(store, GetCameras(1)); Etag secondEtag; //changing the index should give 200 OK Assert.Equal(HttpStatusCode.OK, ConditionalGetHelper.PerformPost(requestUrl, jsonFacets, firstEtag, out secondEtag)); //next request should give 304 not modified Assert.Equal(HttpStatusCode.NotModified, ConditionalGetHelper.PerformPost(requestUrl, jsonFacets, secondEtag, out secondEtag)); } }