public ReputationManagerTests(ITestOutputHelper output) : base(output) { ContainerProvider.ConfigureContainerBuilder(); _scope = ContainerProvider.Container.BeginLifetimeScope(CurrentTestName); _reputationManager = _scope.Resolve <IReputationManager>(); }
public void Init() { Setup(TestContext.CurrentContext); ContainerProvider.ConfigureContainerBuilder(); _scope = ContainerProvider.Container.BeginLifetimeScope(CurrentTestName); _reputationManager = _scope.Resolve <IReputationManager>(); }
public DeltaElectorTests() { _testScheduler = new TestScheduler(); _hashProvider = new HashProvider(HashingAlgorithm.GetAlgorithmMetadata("blake2b-256")); _logger = Substitute.For <ILogger>(); _reputationManager = new ReputationManager(new PeerRepository(new InMemoryRepository <Peer, string>()), _logger, _testScheduler); _cache = Substitute.For <IMemoryCache>(); _deltaProducersProvider = Substitute.For <IDeltaProducersProvider>(); }
public DiscoveryTestBuilder WithPeerMessageCorrelationManager(IPeerMessageCorrelationManager peerMessageCorrelationManager = default, IReputationManager reputationManager = default, IMemoryCache memoryCache = default, IChangeTokenProvider changeTokenProvider = default) { _peerCorrelationManager = peerMessageCorrelationManager ?? DiscoveryHelper.MockCorrelationManager(_scheduler, reputationManager, memoryCache, changeTokenProvider, _logger); return(this); }
public static IPeerMessageCorrelationManager MockCorrelationManager(IScheduler scheduler, IReputationManager reputationManager = default, IMemoryCache memoryCache = default, IChangeTokenProvider changeTokenProvider = default, ILogger logger = default) { return(new PeerMessageCorrelationManager( reputationManager ?? Substitute.For <IReputationManager>(), memoryCache ?? Substitute.For <IMemoryCache>(), logger ?? Substitute.For <ILogger>(), changeTokenProvider ?? new TtlChangeTokenProvider(3), scheduler)); }
public DeltaElector(IMemoryCache candidatesCache, IDeltaProducersProvider deltaProducersProvider, IReputationManager reputationManager, ILogger logger) { _candidatesCache = candidatesCache; _deltaProducersProvider = deltaProducersProvider; _reputationManager = reputationManager; _cacheEntryOptions = () => new MemoryCacheEntryOptions() .AddExpirationToken( new CancellationChangeToken(new CancellationTokenSource(TimeSpan.FromMinutes(3)).Token)); _logger = logger; }
public PeerMessageCorrelationManager(IReputationManager reputationManager, IMemoryCache cache, ILogger logger, IChangeTokenProvider changeTokenProvider, IScheduler scheduler = null) : base(cache, logger, changeTokenProvider) { var streamScheduler = scheduler ?? Scheduler.Default; _reputationEvent = new ReplaySubject <IPeerReputationChange>(0, streamScheduler); ReputationEventStream = _reputationEvent.AsObservable(); _evictionEvent = new ReplaySubject <KeyValuePair <ICorrelationId, PeerId> >(0, streamScheduler); EvictionEventStream = _evictionEvent.AsObservable(); reputationManager.MergeReputationStream(ReputationEventStream); }