public Task <IPingReport> PingAsync(PingOptions?options = null)
        {
            ThrowIfBootStrapFailed();

            options ??= new PingOptions();
            return(Task.Run(() => DiagnosticsReportProvider.CreatePingReport(Context, BucketConfig, options)));
        }
Beispiel #2
0
        public void Can_Create_Ping_Report()
        {
            var reportId = Guid.NewGuid().ToString();

            var kvLastActivity        = DateTime.UtcNow;
            var viewLastActivity      = kvLastActivity.AddSeconds(-5);
            var queryLastActivity     = kvLastActivity.AddSeconds(-10);
            var searchLastActivity    = kvLastActivity.AddSeconds(-15);
            var analyticsLastActivity = kvLastActivity.AddSeconds(-20);

            var connection = Mock.Of <IConnection>(c =>
                                                   c.LastActivity == kvLastActivity &&
                                                   c.IsConnected == true &&
                                                   c.IsAuthenticated == true
                                                   );

            var connectionPool = Mock.Of <IConnectionPool>(p =>
                                                           p.Connections == new List <IConnection> {
                connection
            }
                                                           );

            var server = Mock.Of <IServer>(s =>
                                           s.IsDataNode == true &&
                                           s.ConnectionPool == connectionPool &&
                                           s.IsViewNode == true &&
                                           s.ViewClient.LastActivity == viewLastActivity &&
                                           s.IsQueryNode == true &&
                                           s.QueryClient.LastActivity == queryLastActivity &&
                                           s.IsSearchNode == true &&
                                           s.SearchClient.LastActivity == searchLastActivity &&
                                           s.IsAnalyticsNode == true &&
                                           s.AnalyticsClient.LastActivity == analyticsLastActivity
                                           );

            var configInfo = Mock.Of <IConfigInfo>(c =>
                                                   c.Servers == new List <IServer> {
                server
            }
                                                   );

            var report = DiagnosticsReportProvider.CreatePingReport(reportId, configInfo, new[] { ServiceType.KeyValue, ServiceType.Query });

            Assert.IsNotNull(report);
            Assert.AreEqual(reportId, report.Id);
            Assert.AreEqual(1, report.Version);
            Assert.AreEqual(ClientIdentifier.GetClientDescription(), report.Sdk);
        }
Beispiel #3
0
 public Task <IPingReport> PingAsync(PingOptions options = null)
 {
     options = options ?? new PingOptions();
     return(Task.Run(() => DiagnosticsReportProvider.CreatePingReport(Context, BucketConfig, options)));
 }