Example #1
0
        public void DisposeCommitsAggregate_Be0()
        {
            var settings = new ConnectionSettings(new Uri(JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.Parent.FullName, "es.json"))).ElasticSearchUrl));

            settings.DefaultIndex("elasticseriestest");

            using var client = new SeriesClient(settings);

            var gauge = client.CreateAggregateGauge("test", 20);

            gauge.Record(400);
            gauge.Record(300);
            gauge.Record(420);
            gauge.Record(410);
            gauge.Record(200);
            gauge.Record(324);
            gauge.Record(542);
            gauge.Record(401);
            gauge.Record(434);
            gauge.Record(290);

            gauge.Dispose();

            gauge.GetCurrentBatchCount().Should().Be(0);
        }
Example #2
0
        public async Task AggregateNotSavedWhenBatchIsNotFullAsync_BeNullOrEmpty()
        {
            var settings = new ConnectionSettings(new Uri(JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.Parent.FullName, "es.json"))).ElasticSearchUrl));

            settings.DefaultIndex("elasticseriestest");

            await using var client = new SeriesClient(settings);

            var gauge = client.CreateAggregateGauge("test", 20);
            await gauge.RecordAsync(400);

            await gauge.RecordAsync(300);

            await gauge.RecordAsync(420);

            await gauge.RecordAsync(410);

            await gauge.RecordAsync(200);

            await gauge.RecordAsync(324);

            await gauge.RecordAsync(542);

            await gauge.RecordAsync(401);

            await gauge.RecordAsync(434);

            await gauge.RecordAsync(290);

            var save = await gauge.RecordAsync(290);

            save.Should().BeNullOrEmpty();
        }
Example #3
0
        public void AggregateSaved_NotBeNullOrEmpty()
        {
            var settings = new ConnectionSettings(new Uri(JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.Parent.FullName, "es.json"))).ElasticSearchUrl));

            settings.DefaultIndex("elasticseriestest");

            using var client = new SeriesClient(settings);

            var gauge = client.CreateAggregateGauge("test");

            gauge.Record(400);
            gauge.Record(300);
            gauge.Record(420);
            gauge.Record(410);
            gauge.Record(200);
            gauge.Record(324);
            gauge.Record(542);
            gauge.Record(401);
            gauge.Record(434);
            gauge.Record(290);

            var id = gauge.CommitAggregate();

            id.Should().NotBeNullOrEmpty();
        }
Example #4
0
        public async Task CallingDisposeWhenBatchIsEmptyDoesntErrorAsync_NotThrow()
        {
            var settings = new ConnectionSettings(new Uri(JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.Parent.FullName, "es.json"))).ElasticSearchUrl));

            settings.DefaultIndex("elasticseriestest");

            Func <Task> act = async() =>
            {
                await using (var client = new SeriesClient(settings))
                {
                    client.CreateAggregateGauge("test", 20);
                }
            };
            await act.Should().NotThrowAsync <ArgumentException>();
        }
Example #5
0
        public void CanOnlyStopWhenTimerRunning_ThrowsInvalidOperationException()
        {
            var settings = new ConnectionSettings(new Uri(JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.Parent.FullName, "es.json"))).ElasticSearchUrl));

            settings.DefaultIndex("elasticseriestest");

            using var client = new SeriesClient(settings);

            var gauge = client.CreateAggregateGauge("test");

            Action act = () =>
            {
                gauge.StopTimer();
            };

            act.Should().Throw <InvalidOperationException>();
        }
Example #6
0
        public void DataCommitedWhenTimerTicks_Be0()
        {
            var settings = new ConnectionSettings(new Uri(JsonConvert.DeserializeObject <Config>(File.ReadAllText(Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.Parent.FullName, "es.json"))).ElasticSearchUrl));

            settings.DefaultIndex("elasticseriestest");

            using var client = new SeriesClient(settings);

            var gauge = client.CreateAggregateGauge("test");

            gauge.StartTimer(TimeSpan.FromSeconds(2));

            gauge.Record(400);

            Thread.Sleep(TimeSpan.FromSeconds(3));

            gauge.GetCurrentBatchCount().Should().Be(0);
        }