public async Task UpdateVaultStatus_LinkNotRequired_StatusUnchanged(HesConnectionState hesConnectionState)
        {
            // Arrange
            var logMock = new Mock <ILog>();

            var vaultMock = GetVaultMock(ALL_OK_ACCESSLEVEL);

            var hesAppConnectionMock = GetHesAppConnectionMock(hesConnectionState, vaultMock);

            hesAppConnectionMock
            .Setup(x => x.UpdateHwVaultStatus(It.IsAny <HwVaultInfoFromClientDto>(), It.IsAny <CancellationToken>()))
            .Throws(new InvalidOperationException("Unexpected request to server"));

            var stateUpdateProcessors = new StateUpdateProcessor(hesAppConnectionMock.Object, logMock.Object);

            // Act
            var newVaultInfo = await stateUpdateProcessors.UpdateVaultStatus(vaultMock.Object, ALL_OK_INFO, CancellationToken.None);

            // Assert
            Assert.AreEqual(ALL_OK_INFO, newVaultInfo);
        }
Ejemplo n.º 2
0
        Mock <IHesAppConnection> GetHesAppConnectionMock(HesConnectionState connectionState, Mock <IDevice> vaultMock)
        {
            var hesAppConnectionMock = new Mock <IHesAppConnection>();

            hesAppConnectionMock.SetupGet(x => x.State).Returns(connectionState);

            // When IHesAppConnectio.AuthHwVault is called, we update Vault mock so that
            // when IVault.RefreshDeviceInfo() is called, the AccessLevel of vault will be updated to reflect
            // successfull execution of IHesAppConnectio.AuthHwVault
            hesAppConnectionMock
            .Setup(x => x.AuthHwVault(It.IsAny <string>()))
            .Returns(Task.CompletedTask)
            .Callback(() =>
            {
                vaultMock.Setup(x => x.RefreshDeviceInfo()).Callback(() =>
                {
                    vaultMock.SetupGet(d => d.AccessLevel).Returns(ALL_OK_ACCESSLEVEL);
                });
            });

            return(hesAppConnectionMock);
        }
Ejemplo n.º 3
0
        public async Task UpdateVaultStatus_AuthNotRequired_StatusUnchanged(HesConnectionState hesConnectionState)
        {
            // Arrange
            var logMock = new Mock <ILog>();

            var uiMock = new Mock <IClientUiManager>();

            var vaultMock = GetVaultMock(ALL_OK_ACCESSLEVEL);

            var hesAppConnectionMock = GetHesAppConnectionMock(hesConnectionState, vaultMock);

            hesAppConnectionMock
            .Setup(x => x.AuthHwVault(It.IsAny <string>()))
            .Throws(new InvalidOperationException("Unexpected request to server"));

            var vaultAuthProcessor = new VaultAuthorizationProcessor(hesAppConnectionMock.Object, uiMock.Object, logMock.Object);

            // Act
            await vaultAuthProcessor.AuthVault(vaultMock.Object, CancellationToken.None);

            // Assert
        }
        Mock <IHesAppConnection> GetHesAppConnectionMock(HesConnectionState connectionState, Mock <IDevice> vaultMock)
        {
            var hesAppConnectionMock = new Mock <IHesAppConnection>();

            hesAppConnectionMock.SetupGet(x => x.State).Returns(connectionState);

            // When IHesAppConnectio.UpdateHwVaultStatus is called, we update Vault mock so that
            // when IVault.RefreshDeviceInfo() is called, the AccessLevel of vault will be updated to reflect
            // successfull execution of IHesAppConnectio.UpdateHwVaultStatus
            hesAppConnectionMock
            .Setup(x => x.UpdateHwVaultStatus(It.IsAny <HwVaultInfoFromClientDto>(), It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(ALL_OK_INFO))
            .Callback(() =>
            {
                vaultMock.Setup(x => x.RefreshDeviceInfo()).Callback(() =>
                {
                    vaultMock.SetupGet(d => d.AccessLevel).Returns(ALL_OK_ACCESSLEVEL);
                });
            });

            return(hesAppConnectionMock);
        }