public PoaDeltaProducersProvider(IPeerRepository peerRepository, IPeerSettings peerSettings, IMemoryCache producersByPreviousDelta, IHashProvider hashProvider, ILogger logger) { _logger = logger; _selfAsPeer = new Peer { PeerId = peerSettings.PeerId }; PeerRepository = peerRepository; _hashProvider = hashProvider; _cacheEntryOptions = new MemoryCacheEntryOptions() .AddExpirationToken( new CancellationChangeToken(new CancellationTokenSource(TimeSpan.FromMinutes(3)).Token)); _producersByPreviousDelta = producersByPreviousDelta; }
public PoaDeltaProducersProviderTests() { var hashingAlgorithm = HashingAlgorithm.GetAlgorithmMetadata("blake2b-256"); _hashProvider = new HashProvider(hashingAlgorithm); var peerSettings = PeerIdHelper.GetPeerId("TEST").ToSubstitutedPeerSettings(); _selfAsPeer = new Peer { PeerId = peerSettings.PeerId }; var rand = new Random(); _peers = Enumerable.Range(0, 5) .Select(_ => { var peerIdentifier = PeerIdHelper.GetPeerId(rand.Next().ToString()); var peer = new Peer { PeerId = peerIdentifier }; return(peer); }).ToList(); var logger = Substitute.For <ILogger>(); var peerRepository = Substitute.For <IPeerRepository>(); peerRepository.GetAll().Returns(_ => _peers); _previousDeltaHash = _hashProvider.ComputeMultiHash(ByteUtil.GenerateRandomByteArray(32)); _previousDeltaHashString = _previousDeltaHash.ToBase32(); _producersByPreviousDelta = Substitute.For <IMemoryCache>(); _poaDeltaProducerProvider = new PoaDeltaProducersProvider(peerRepository, peerSettings, _producersByPreviousDelta, _hashProvider, logger); }
public void Init() { _hashProvider = new HashProvider(HashingAlgorithm.GetAlgorithmMetadata("keccak-256")); var peerSettings = PeerIdHelper.GetPeerId("TEST").ToSubstitutedPeerSettings(); _selfAsPeer = new Peer { PeerId = peerSettings.PeerId }; var rand = new Random(); _peers = Enumerable.Range(0, 5) .Select(_ => { var peerIdentifier = PeerIdHelper.GetPeerId(rand.Next().ToString()); var peer = new Peer { PeerId = peerIdentifier, LastSeen = DateTime.UtcNow }; return(peer); }).ToList(); var logger = Substitute.For <ILogger>(); var peerRepository = Substitute.For <IPeerRepository>(); peerRepository.GetActivePoaPeers().Returns(_ => _peers); _previousDeltaHash = _hashProvider.ComputeMultiHash(ByteUtil.GenerateRandomByteArray(32)).ToCid(); _producersByPreviousDelta = Substitute.For <IMemoryCache>(); _poaDeltaProducerProvider = new PoaDeltaProducersProvider(peerRepository, peerSettings, _producersByPreviousDelta, _hashProvider, logger); }