public void InvalidNetworkStatistics_Throws_ArgumentException(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            _processor = new NetworkStatisticsProcessor(storage);
            storage.Database.EnsureDeleted();
            Assert.ThrowsAsync <ArgumentException>(() => _processor.ProcessNetworkStatistics(value));
        }
        public void InvalidStdErrStream_Throws_ArgumentException(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            _processor = new StdErrorProcessor(storage);
            storage.Database.EnsureDeleted();
            Assert.ThrowsAsync <ArgumentException>(() => _processor.IngestLogEntry(value, 1));
        }
        public async Task ProcessValidStdErrStream(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            _processor = new StdErrorProcessor(storage);
            await _processor.IngestLogEntry(value, 1);

            var logs = await _processor.ProcessIngestedLogs();

            storage.Database.EnsureDeleted();
        }
        public async Task ProcessValidFragmentStream(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            _processor = new FragmentProcessor(storage);
            var fragments = await _processor.ProcessFragments(value);

            Assert.True(fragments != null, "fragements == null");
            Assert.True(fragments.TotalFragments == fragments.FragmentsInBlock + fragments.FragmentsRejected + fragments.FragmentsPending, $"Total Fragments = {fragments.TotalFragments}, All types added = {fragments.FragmentsInBlock + fragments.FragmentsRejected + fragments.FragmentsPending}");
            storage.Database.EnsureDeleted();
        }
        public void InvalidNodeStatisticStream_Throws_ArgumentException(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            var opts = new KongoOptions()
            {
                ApplicationStartedOn = DateTimeOffset.UtcNow
            };

            _processor = new NodeStatisticsProcessor(storage, opts);
            storage.Database.EnsureDeleted();
            Assert.ThrowsAsync <ArgumentException>(() => _processor.ProcessNodeStatistics(value));
        }
        public async Task ProcessValidNetworkStatisticsStreamAllNulls(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            _processor = new NetworkStatisticsProcessor(storage);
            var networkStats = await _processor.ProcessNetworkStatistics(value);

            storage.Database.EnsureDeleted();
            Assert.True(networkStats != null, "networkStats == null");
            Assert.True(networkStats.LastBlockReceivedAt == default(DateTimeOffset), $"LastBlockReceivedAt = {networkStats.LastFragmentReceivedAt}");
            Assert.True(networkStats.LastFragmentReceivedAt == default(DateTimeOffset), $"LastFragmentReceivedAt = {networkStats.LastFragmentReceivedAt}");
            Assert.True(networkStats.LastGossipReceivedAt == default(DateTimeOffset), $"LastGossipReceivedAt = {networkStats.LastGossipReceivedAt}");
            Assert.True(networkStats.TotalEstablishedConnections > 0, $"TotalEstablishedConnections = {networkStats.TotalEstablishedConnections}");
        }
        public async Task ProcessLeaders(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            var opts = new KongoOptions()
            {
                ApplicationStartedOn = DateTimeOffset.UtcNow
            };

            _processor = new LeadersProcessor(storage, opts);
            var processedLeaders = await _processor.ProcessLeaders(value);

            storage.Database.EnsureDeleted();
            Assert.True(processedLeaders.Leaders.Count > 0);
        }
        public async Task ParseAllValidStatusTypesFromFragmentStream(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            _processor = new FragmentProcessor(storage);
            var fragments = await _processor.ProcessFragments(value);

            Assert.True(fragments != null, "fragements == null");
            Assert.True(fragments.FragmentsReceviedFromNetwork > 0, $"FragmentsReceviedFromNetwork = {fragments.FragmentsReceviedFromNetwork}");
            Assert.True(fragments.FragmentsReceviedFromRest == 0, $"FragmentsReceviedFromRest = {fragments.FragmentsReceviedFromRest}");
            Assert.True(fragments.FragmentsInBlock > 0, $"FragmentsInBlock = {fragments.FragmentsInBlock}");
            Assert.True(fragments.FragmentsRejected > 0, $"FragmentsRejected = {fragments.FragmentsRejected}");
            Assert.True(fragments.FragmentsPending > 0, $"PendingFragments = {fragments.FragmentsPending}");
            storage.Database.EnsureDeleted();
        }
Beispiel #9
0
        public async Task ProcessSettings(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            var opts = new KongoOptions()
            {
                ApplicationStartedOn = DateTimeOffset.UtcNow
            };

            _processor = new SettingsProcessor(storage, opts);
            var settings = await _processor.ProcessSettings(value);

            storage.Database.EnsureDeleted();
            Assert.True(settings.Coefficient == 50);
        }
        public async Task ProcessValidNodeStatisticStream(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            var opts = new KongoOptions()
            {
                ApplicationStartedOn = DateTimeOffset.UtcNow
            };

            _processor = new NodeStatisticsProcessor(storage, opts);
            var nodeStats = await _processor.ProcessNodeStatistics(value);

            storage.Database.EnsureDeleted();
            Assert.True(nodeStats != null, "nodeStats == null");
            Assert.True(nodeStats.BlockRecvCnt > 0, $"BlockRecvCnt = {nodeStats.BlockRecvCnt}");
            Assert.True(nodeStats.LastBlockTime != default, $"LastBlockTime = {nodeStats.LastBlockTime}");
        }
        public async Task ProcessLeadersLogs(string value)
        {
            var storage = new KongoDataStorage($"Data Source={Path.GetRandomFileName()}");

            storage.Database.EnsureCreated();
            var opts = new KongoOptions()
            {
                ApplicationStartedOn = DateTimeOffset.UtcNow
            };

            _processor = new LeadersProcessor(storage, opts);
            var processedLeaders = await _processor.ProcessLeadersLogs(value);

            storage.Database.EnsureDeleted();

            var leadersLogs = JsonConvert.DeserializeObject <List <StoredLeadersLogsModel> >(processedLeaders.LeadersLogsJson);

            Assert.True(leadersLogs.Count > 0);
            Assert.False(leadersLogs[0].Scheduled_at_date.Equals(default));
Beispiel #12
0
 public FragmentProcessor(KongoDataStorage database)
 {
     _database = database;
 }
Beispiel #13
0
 public NodeStatisticsProcessor(KongoDataStorage database, KongoOptions opts)
 {
     _database = database;
     _opts     = opts;
 }
Beispiel #14
0
 public StdErrorProcessor(KongoDataStorage databaseName)
 {
     _db = databaseName;
 }
 public DatabaseMaintenance(KongoDataStorage database, KongoOptions opts)
 {
     _database = database;
     _opts     = opts;
 }
Beispiel #16
0
 public NetworkStatisticsProcessor(KongoDataStorage database)
 {
     _database = database;
 }
Beispiel #17
0
 public StakeProcessor(KongoDataStorage database, KongoOptions opts)
 {
     _database = database;
     _opts     = opts;
 }