예제 #1
0
        public async Task disable_data_stream_should_succeed_for_existing_deposit_and_unlocked_account_and_available_data_asset()
        {
            var depositId = Keccak.Zero;
            var client    = "test";
            var session   = GetConsumerSession();
            var deposit   = GetDepositDetails();
            var dataAsset = GetDataAsset();

            _sessionService.GetActive(depositId).Returns(session);
            _providerService.GetPeer(session.ProviderAddress).Returns(_providerPeer);
            _depositProvider.GetAsync(session.DepositId).Returns(deposit);
            _wallet.IsUnlocked(deposit.Consumer).Returns(true);
            _dataAssetService.GetDiscovered(deposit.DataAsset.Id).Returns(dataAsset);
            _dataAssetService.IsAvailable(dataAsset).Returns(true);

            var result = await _dataStreamService.DisableDataStreamAsync(depositId, client);

            result.Should().Be(depositId);
            _providerPeer.Received(1).SendDisableDataStream(depositId, client);
            _sessionService.Received(1).GetActive(depositId);
            _providerService.Received(1).GetPeer(session.ProviderAddress);
            await _depositProvider.Received(1).GetAsync(session.DepositId);

            _wallet.Received(1).IsUnlocked(deposit.Consumer);
            _dataAssetService.Received(1).GetDiscovered(deposit.DataAsset.Id);
            _dataAssetService.Received(1).IsAvailable(dataAsset);
        }
예제 #2
0
        public async Task Can_request_session_finish()
        {
            ConsumerSession consumerSession = new ConsumerSession(_session1Id, _deposit1Id, _asset1Id, _consumerAddress, _consumerNodeId, _providerAddress, _providerNodeId, SessionState.Started, 1, 2, 4);
            await _sessionService.StartSessionAsync(consumerSession, _ndmPeer);

            await _sessionService.SendFinishSessionAsync(_deposit1Id);

            _ndmPeer.Received().SendFinishSession(_deposit1Id);
        }