public void Import_throws_exception_when_json_is_invalid(string handleUri)
        {
            var configuration = new ClusterOptions().WithServers("http://localhost");

            var httpClient = new HttpClient(
                FakeHttpMessageHandler.Create(request => new HttpResponseMessage(HttpStatusCode.OK))
                );

            var client = new AnalyticsClient(httpClient,
                                             new JsonDataMapper(new DefaultSerializer()),
                                             configuration);

            var json = JsonConvert.SerializeObject(new { v = 1, uri = handleUri });

            Assert.Throws <ArgumentException>(() => client.ImportDeferredQueryHandle <dynamic>(json));
        }
        public void Can_import_deferred_handle()
        {
            const string expectedHandle = "/analytics/service/status/3-0";
            const string json           = "{\"v\":1,\"uri\":\"/analytics/service/status/3-0\"}";

            var configuration = new ClusterOptions().WithServers("http://localhost");

            var httpClient = new HttpClient(
                FakeHttpMessageHandler.Create(request => new HttpResponseMessage(HttpStatusCode.OK))
                );

            var client = new AnalyticsClient(httpClient,
                                             new JsonDataMapper(new DefaultSerializer()),
                                             configuration);

            var handle = client.ImportDeferredQueryHandle <dynamic>(json);

            Assert.NotNull(handle);
            Assert.Equal(expectedHandle, (handle as AnalyticsDeferredResultHandle <dynamic>).HandleUri);
        }