Exemple #1
0
        public async Task Client_sets_AnalyticsPriority_Header(bool priority)
        {
            var httpClient = new CouchbaseHttpClient(
                FakeHttpMessageHandler.Create(request =>
            {
                if (priority)
                {
                    Assert.True(request.Headers.TryGetValues(AnalyticsClient.AnalyticsPriorityHeaderName,
                                                             out var values));
                    Assert.Equal("-1", values.First());
                }
                else
                {
                    Assert.False(request.Headers.TryGetValues(AnalyticsClient.AnalyticsPriorityHeaderName, out _));
                }

                return(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent("{}")
                });
            })
                );

            var mockServiceUriProvider = new Mock <IServiceUriProvider>();

            mockServiceUriProvider
            .Setup(m => m.GetRandomAnalyticsUri())
            .Returns(new Uri("http://localhost:8096"));

            var serializer = new DefaultSerializer();
            var client     = new AnalyticsClient(httpClient, mockServiceUriProvider.Object, serializer,
                                                 new Mock <ILogger <AnalyticsClient> >().Object);

            var queryRequest = new AnalyticsRequest("SELECT * FROM `default`;");

            queryRequest.Priority(priority);

            await client.QueryAsync <dynamic>(queryRequest);
        }
        public async Task TestSuccess(Type serializerType)
        {
            using var response = ResourceHelper.ReadResourceAsStream(@"Documents\Analytics\good-request.json");

            var buffer = new byte[response.Length];

            response.Read(buffer, 0, buffer.Length);

            var handlerMock = new Mock <HttpMessageHandler>();

            handlerMock.Protected().Setup <Task <HttpResponseMessage> >(
                "SendAsync",
                ItExpr.IsAny <HttpRequestMessage>(),
                ItExpr.IsAny <CancellationToken>()).ReturnsAsync(new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new ByteArrayContent(buffer)
            });

            var httpClient = new CouchbaseHttpClient(handlerMock.Object)
            {
                BaseAddress = new Uri("http://localhost:8091")
            };

            var mockServiceUriProvider = new Mock <IServiceUriProvider>();

            mockServiceUriProvider
            .Setup(m => m.GetRandomAnalyticsUri())
            .Returns(new Uri("http://localhost:8096"));

            var serializer = (ITypeSerializer)Activator.CreateInstance(serializerType);
            var client     = new AnalyticsClient(httpClient, mockServiceUriProvider.Object, serializer,
                                                 new Mock <ILogger <AnalyticsClient> >().Object, NoopRequestTracer.Instance);

            var result = await client.QueryAsync <dynamic>(new AnalyticsRequest("SELECT * FROM `default`"), default);

            Assert.Equal(5, await result.CountAsync());
        }
        public async Task QueryAsync_Sets_LastActivity()
        {
            var configuration = new ClusterOptions().WithServers("http://localhost");

            configuration.GlobalNodes.Add(new ClusterNode {
                AnalyticsUri = new Uri("http://localhost:8094/query")
            });

            var httpClient = new HttpClient(
                FakeHttpMessageHandler.Create(request => new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent("{}")
            })
                );

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

            Assert.Null(client.LastActivity);

            var queryRequest = new AnalyticsRequest("SELECT * FROM `default`;");
            await client.QueryAsync <dynamic>(queryRequest, CancellationToken.None).ConfigureAwait(false);

            Assert.NotNull(client.LastActivity);
        }
Exemple #4
0
        public async Task QueryAsync_Sets_LastActivity()
        {
            var httpClient = new CouchbaseHttpClient(
                FakeHttpMessageHandler.Create(request => new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent("{}")
            })
                );

            var mockServiceUriProvider = new Mock <IServiceUriProvider>();

            mockServiceUriProvider
            .Setup(m => m.GetRandomAnalyticsUri())
            .Returns(new Uri("http://localhost:8096"));

            var serializer = new DefaultSerializer();
            var client     = new AnalyticsClient(httpClient, mockServiceUriProvider.Object, serializer,
                                                 new Mock <ILogger <AnalyticsClient> >().Object, NoopRequestTracer.Instance);

            Assert.Null(client.LastActivity);
            await client.QueryAsync <dynamic>("SELECT * FROM `default`;", new AnalyticsOptions()).ConfigureAwait(false);

            Assert.NotNull(client.LastActivity);
        }