Example #1
0
        public void Init()
        {
            Setup(TestContext.CurrentContext);

            _testMessageToSign = ByteString.CopyFromUtf8("TestMsg");

            ContainerProvider.ContainerBuilder.RegisterInstance(TestKeyRegistry.MockKeyRegistry()).As <IKeyRegistry>();
            ContainerProvider.ContainerBuilder.RegisterModule(new KeystoreModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new KeySignerModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new RpcServerModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new DfsModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new MempoolModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new ConsensusModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new BulletProofsModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new AuthenticationModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new HashingModule());
            ContainerProvider.ContainerBuilder.RegisterType <VerifyMessageRequestObserver>().As <IRpcRequestObserver>();

            ContainerProvider.ContainerBuilder.RegisterInstance(PeerIdHelper.GetPeerId("Test"))
            .As <PeerId>();

            ContainerProvider.ConfigureContainerBuilder();

            _scope       = ContainerProvider.Container.BeginLifetimeScope(CurrentTestName);
            _keySigner   = ContainerProvider.Container.Resolve <IKeySigner>();
            _peerId      = ContainerProvider.Container.Resolve <PeerId>();
            _fakeContext = Substitute.For <IChannelHandlerContext>();

            var fakeChannel = Substitute.For <IChannel>();

            _fakeContext.Channel.Returns(fakeChannel);
            _verifyMessageRequestObserver = _scope.Resolve <IRpcRequestObserver>();
        }
        public PeerValidationIntegrationTest(ITestOutputHelper output) : base(output)
        {
            var logger = Substitute.For <ILogger>();

            var keyRegistry = TestKeyRegistry.MockKeyRegistry();

            ContainerProvider.ContainerBuilder.RegisterInstance(keyRegistry).As <IKeyRegistry>();

            ContainerProvider.ContainerBuilder.RegisterModule(new KeystoreModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new KeySignerModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new HashingModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new BulletProofsModule());

            _peerSettings = new PeerSettings(ContainerProvider.ConfigurationRoot);

            var peerSettings =
                PeerIdHelper.GetPeerId("sender", _peerSettings.BindAddress, _peerSettings.Port)
                .ToSubstitutedPeerSettings();

            ContainerProvider.ContainerBuilder.Register(c =>
            {
                var peerClient = c.Resolve <IPeerClient>();
                peerClient.StartAsync().ConfigureAwait(false).GetAwaiter().GetResult();
                return(new PeerChallengeRequest(logger, peerClient, peerSettings, 10));
            }).As <IPeerChallengeRequest>().SingleInstance();
        }
        public void Init()
        {
            Setup(TestContext.CurrentContext);

            var logger = Substitute.For <ILogger>();

            var keyRegistry = TestKeyRegistry.MockKeyRegistry();

            ContainerProvider.ContainerBuilder.RegisterInstance(keyRegistry).As <IKeyRegistry>();

            ContainerProvider.ContainerBuilder.RegisterModule(new KeystoreModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new KeySignerModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new HashingModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new BulletProofsModule());

            _peerSettings = new PeerSettings(ContainerProvider.ConfigurationRoot);

            var peerSettings =
                PeerIdHelper.GetPeerId("sender", _peerSettings.BindAddress, _peerSettings.Port)
                .ToSubstitutedPeerSettings();

            ContainerProvider.ContainerBuilder.Register(c =>
            {
                var peerClient = c.Resolve <IPeerClient>();
                peerClient.StartAsync().ConfigureAwait(false).GetAwaiter().GetResult();
                return(new PeerChallengeRequest(logger, peerClient, peerSettings, 10));
            }).As <IPeerChallengeRequest>().SingleInstance();

            _peerChallengeRequest = ContainerProvider.Container.Resolve <IPeerChallengeRequest>();

            var eventLoopGroupFactoryConfiguration = new EventLoopGroupFactoryConfiguration
            {
                TcpClientHandlerWorkerThreads = 2,
                TcpServerHandlerWorkerThreads = 3,
                UdpServerHandlerWorkerThreads = 4,
                UdpClientHandlerWorkerThreads = 5
            };

            var keySigner = ContainerProvider.Container.Resolve <IKeySigner>(); // @@

            _peerService = new PeerService(
                new UdpServerEventLoopGroupFactory(eventLoopGroupFactoryConfiguration),
                new PeerServerChannelFactory(ContainerProvider.Container.Resolve <IPeerMessageCorrelationManager>(),
                                             ContainerProvider.Container.Resolve <IBroadcastManager>(),
                                             keySigner,
                                             ContainerProvider.Container.Resolve <IPeerIdValidator>(),
                                             ContainerProvider.Container.Resolve <IPeerSettings>()),
                new DiscoveryHelper.DevDiscover(),
                ContainerProvider.Container.Resolve <IEnumerable <IP2PMessageObserver> >(),
                _peerSettings,
                ContainerProvider.Container.Resolve <ILogger>(),
                ContainerProvider.Container.Resolve <IHealthChecker>());

            _peerService.StartAsync().Wait();
        }
Example #4
0
        public void Init()
        {
            Setup(TestContext.CurrentContext);
            _testScheduler = new TestScheduler();
            ContainerProvider.ContainerBuilder.RegisterInstance(TestKeyRegistry.MockKeyRegistry()).As <IKeyRegistry>();
            ContainerProvider.ContainerBuilder.RegisterModule(new KeystoreModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new KeySignerModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new BulletProofsModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new HashingModule());
            ContainerProvider.ConfigureContainerBuilder();

            _scope       = ContainerProvider.Container.BeginLifetimeScope(CurrentTestName);
            _keySigner   = ContainerProvider.Container.Resolve <IKeySigner>();
            _logger      = Substitute.For <ILogger>();
            _fakeContext = Substitute.For <IChannelHandlerContext>();
            var fakeChannel = Substitute.For <IChannel>();

            _fakeContext.Channel.Returns(fakeChannel);
        }
Example #5
0
        public SignMessageRequestObserverTests(ITestOutputHelper output) : base(output, new[]
        {
            Path.Combine(Constants.ConfigSubFolder, TestConstants.TestShellNodesConfigFile)
        })
        {
            _testScheduler = new TestScheduler();
            ContainerProvider.ContainerBuilder.RegisterInstance(TestKeyRegistry.MockKeyRegistry()).As <IKeyRegistry>();
            ContainerProvider.ContainerBuilder.RegisterModule(new KeystoreModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new KeySignerModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new BulletProofsModule());
            ContainerProvider.ContainerBuilder.RegisterModule(new HashingModule());
            ContainerProvider.ConfigureContainerBuilder();

            _scope       = ContainerProvider.Container.BeginLifetimeScope(CurrentTestName);
            _keySigner   = ContainerProvider.Container.Resolve <IKeySigner>();
            _logger      = Substitute.For <ILogger>();
            _fakeContext = Substitute.For <IChannelHandlerContext>();
            var fakeChannel = Substitute.For <IChannel>();

            _fakeContext.Channel.Returns(fakeChannel);
        }