Beispiel #1
0
        public void Should_return_true_for_retryable_error_code(int errorCode, AnalyticsStatus status)
        {
            using var result = new StreamingAnalyticsResult <dynamic>(new MemoryStream(), new DefaultSerializer())
                  {
                      Errors   = new List <Error> { new Error { Code = errorCode } },
                      MetaData = new AnalyticsMetaData
                      {
                          Status = status,
                      }
                  };

            Assert.True(result.ShouldRetry());
        }
        public async Task <IItemStatus> GetStatus()
        {
            var tasks = new List <Task <double?> >();

            foreach (var query in Queries)
            {
                tasks.Add(query.GetStatus());
            }

            await Task.WhenAll(tasks);

            var result = new AnalyticsStatus();

            for (var i = 0; i < Queries.Count; i++)
            {
                result.Values.Add(new AnalyticsItem
                {
                    Name       = Queries[i].Name,
                    Value      = string.Format(Queries[i].Format, tasks[i].Result),
                    Postfix    = Queries[i].Postfix,
                    ErrorLevel = GetErrorRateLevel(tasks[i].Result, Queries[i])
                });
            }

            if (result.Values.Any(r => r.ErrorLevel == ErrorLevel.Error))
            {
                result.ErrorLevel = ErrorLevel.Error;
            }
            else if (result.Values.Any(r => r.ErrorLevel == ErrorLevel.Warning))
            {
                result.ErrorLevel = ErrorLevel.Warning;
            }
            else if (result.Values.Any(r => r.ErrorLevel == ErrorLevel.Normal))
            {
                result.ErrorLevel = ErrorLevel.Normal;
            }

            return(result);
        }
Beispiel #3
0
        public async Task GetAsyncEnumerator_AfterEnumeration_HasErrors(string filename, AnalyticsStatus expectedStatus)
        {
            // Arrange

            using var stream = ResourceHelper.ReadResourceAsStream(filename);

            using var queryResult = new StreamingAnalyticsResult <dynamic>(stream, new DefaultSerializer());
            await queryResult.InitializeAsync();

            // Act

            await queryResult.ToListAsync();

            var result = queryResult.MetaData.Status;

            // Assert

            Assert.Equal(expectedStatus, result);
            Assert.NotEmpty(queryResult.Errors);
        }
Beispiel #4
0
        public void Should_Throw_AmbiguousTimeoutException_For_Server_Timeout_Error_Code(int errorCode, AnalyticsStatus status)
        {
            using var result = new StreamingAnalyticsResult <dynamic>(new MemoryStream(), new DefaultSerializer())
                  {
                      Errors   = new List <Error> { new Error { Code = errorCode } },
                      MetaData = new AnalyticsMetaData
                      {
                          Status = status,
                      }
                  };

            Assert.Throws <AmbiguousTimeoutException>(() => result.ShouldRetry());
        }