コード例 #1
0
        public async void ReceiveAsync_PullPointSubscription_PullMessagesThenRenewAreCalled()
        {
            var connectionParameters = CreateConnectionParametersFake();
            var deviceFake           = CreateDeviceMock();

            var cancellationTokeSource = new CancellationTokenSource();

            var pullPointSubscriptionMock = new Mock <PullPointSubscription>();

            pullPointSubscriptionMock.Setup(x => x.PullMessagesAsync(It.IsNotNull <PullMessagesRequest>())).
            Returns(Task.FromResult(new PullMessagesResponse(new System.DateTime(), new System.DateTime(), new NotificationMessageHolderType[0]))).
            Callback(() => cancellationTokeSource.Cancel());

            var subscriptionManagerMock = new Mock <SubscriptionManager>();

            var onvifClientFactoryFake = CreateOnvifClientFactoryMock(deviceFake.Object, pullPointSubscriptionMock.Object, subscriptionManagerMock.Object);

            var receiver = new OnvifEventReceiver(connectionParameters, onvifClientFactoryFake.Object, TimeSpan.FromSeconds(-1));
            await receiver.ConnectAsync(cancellationTokeSource.Token);

            await receiver.ReceiveAsync(cancellationTokeSource.Token);

            pullPointSubscriptionMock.Verify(x => x.PullMessagesAsync(It.IsNotNull <PullMessagesRequest>()));
            subscriptionManagerMock.Verify(x => x.RenewAsync(It.IsNotNull <RenewRequest>()));
        }
コード例 #2
0
        public async void ConnectAsync_SecondStage_GetCapabilitiesIsCalled()
        {
            var connectionParameters   = CreateConnectionParametersFake();
            var deviceMock             = CreateDeviceMock();
            var onvifClientFactoryFake = CreateOnvifClientFactoryMock(deviceMock.Object, null, null);

            var receiver = new OnvifEventReceiver(connectionParameters, onvifClientFactoryFake.Object, TimeSpan.Zero);
            await receiver.ConnectAsync(CancellationToken.None);

            deviceMock.Verify(x => x.GetCapabilitiesAsync(It.IsAny <GetCapabilitiesRequest>()));
        }
コード例 #3
0
        public async void ConnectAsync_LoginAndPasswordAreSet_SecurityTokenCreated()
        {
            var connectionParameters   = CreateConnectionParametersFake();
            var deviceFake             = CreateDeviceMock();
            var onvifClientFactoryMock = CreateOnvifClientFactoryMock(deviceFake.Object, null, null);

            var receiver = new OnvifEventReceiver(connectionParameters, onvifClientFactoryMock.Object, TimeSpan.Zero);
            await receiver.ConnectAsync(CancellationToken.None);

            onvifClientFactoryMock.Verify(x => x.SetSecurityToken(It.IsNotNull <SecurityToken>()));
        }
コード例 #4
0
        public async void ConnectAsync_FirstStage_GetSystemDateAndTimeIsCalled()
        {
            var connectionParameters   = CreateConnectionParametersFake();
            var deviceMock             = CreateDeviceMock();
            var onvifClientFactoryFake = CreateOnvifClientFactoryMock(deviceMock.Object, null, null);

            var receiver = new OnvifEventReceiver(connectionParameters, onvifClientFactoryFake.Object, TimeSpan.Zero);
            await receiver.ConnectAsync(CancellationToken.None);

            deviceMock.Verify(x => x.GetSystemDateAndTimeAsync());
        }