SEBWIN-221: Ensured all client operations do not allow repeating.
This commit is contained in:
parent
7a57cdf93b
commit
4ca2fac50e
25 changed files with 202 additions and 22 deletions
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Client.Operations;
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
@ -63,5 +64,12 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
|
|
||||||
controllerMock.Verify(c => c.Terminate(), Times.Once);
|
controllerMock.Verify(c => c.Terminate(), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
|
@ -97,13 +98,10 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void MustDoNothingOnRepeat()
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
{
|
{
|
||||||
var result = sut.Repeat();
|
sut.Repeat();
|
||||||
|
|
||||||
clientHost.VerifyNoOtherCalls();
|
|
||||||
|
|
||||||
Assert.AreEqual(OperationResult.Success, result);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Client.Operations;
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
@ -46,5 +47,12 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
|
|
||||||
nativeMethodsMock.Verify(n => n.EmptyClipboard(), Times.Once);
|
nativeMethodsMock.Verify(n => n.EmptyClipboard(), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
|
||||||
|
*
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
using Moq;
|
||||||
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
using SafeExamBrowser.Contracts.Communication.Proxies;
|
||||||
|
using SafeExamBrowser.Contracts.Configuration;
|
||||||
|
using SafeExamBrowser.Contracts.Logging;
|
||||||
|
|
||||||
|
namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
|
{
|
||||||
|
[TestClass]
|
||||||
|
public class ConfigurationOperationTests
|
||||||
|
{
|
||||||
|
private ClientConfiguration configuration;
|
||||||
|
private Mock<ILogger> logger;
|
||||||
|
private Mock<IRuntimeProxy> runtime;
|
||||||
|
private ConfigurationOperation sut;
|
||||||
|
|
||||||
|
[TestInitialize]
|
||||||
|
public void Initialize()
|
||||||
|
{
|
||||||
|
configuration = new ClientConfiguration();
|
||||||
|
logger = new Mock<ILogger>();
|
||||||
|
runtime = new Mock<IRuntimeProxy>();
|
||||||
|
|
||||||
|
sut = new ConfigurationOperation(configuration, logger.Object, runtime.Object);
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TODO()
|
||||||
|
{
|
||||||
|
Assert.Fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Client.Operations;
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
@ -63,5 +64,12 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
displayMonitorMock.Verify(d => d.StopMonitoringDisplayChanges(), Times.Once);
|
displayMonitorMock.Verify(d => d.StopMonitoringDisplayChanges(), Times.Once);
|
||||||
displayMonitorMock.Verify(d => d.ResetPrimaryDisplay(), Times.Once);
|
displayMonitorMock.Verify(d => d.ResetPrimaryDisplay(), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Client.Operations;
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
@ -49,5 +50,12 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
|
|
||||||
nativeMethodsMock.Verify(n => n.DeregisterKeyboardHook(It.IsAny<IKeyboardInterceptor>()), Times.Once);
|
nativeMethodsMock.Verify(n => n.DeregisterKeyboardHook(It.IsAny<IKeyboardInterceptor>()), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Client.Operations;
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
@ -49,5 +50,12 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
|
|
||||||
nativeMethodsMock.Verify(n => n.DeregisterMouseHook(It.IsAny<IMouseInterceptor>()), Times.Once);
|
nativeMethodsMock.Verify(n => n.DeregisterMouseHook(It.IsAny<IMouseInterceptor>()), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Client.Operations;
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
@ -70,5 +71,12 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
processMonitor.Verify(p => p.StartMonitoringExplorer(), Times.Never);
|
processMonitor.Verify(p => p.StartMonitoringExplorer(), Times.Never);
|
||||||
processMonitor.Verify(p => p.StopMonitoringExplorer(), Times.Never);
|
processMonitor.Verify(p => p.StopMonitoringExplorer(), Times.Never);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
|
||||||
|
*
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
using Moq;
|
||||||
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
using SafeExamBrowser.Contracts.Communication.Proxies;
|
||||||
|
using SafeExamBrowser.Contracts.Logging;
|
||||||
|
|
||||||
|
namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
|
{
|
||||||
|
[TestClass]
|
||||||
|
public class RuntimeConnectionOperationTests
|
||||||
|
{
|
||||||
|
private Mock<ILogger> logger;
|
||||||
|
private Mock<IRuntimeProxy> runtime;
|
||||||
|
|
||||||
|
[TestInitialize]
|
||||||
|
public void Initialize()
|
||||||
|
{
|
||||||
|
logger = new Mock<ILogger>();
|
||||||
|
runtime = new Mock<IRuntimeProxy>();
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TODO()
|
||||||
|
{
|
||||||
|
Assert.Fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
var sut = new RuntimeConnectionOperation(logger.Object, runtime.Object, Guid.Empty);
|
||||||
|
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,12 +6,13 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Client.Operations;
|
using SafeExamBrowser.Client.Operations;
|
||||||
using SafeExamBrowser.Contracts.Core;
|
|
||||||
using SafeExamBrowser.Contracts.Configuration;
|
using SafeExamBrowser.Contracts.Configuration;
|
||||||
using SafeExamBrowser.Contracts.Configuration.Settings;
|
using SafeExamBrowser.Contracts.Configuration.Settings;
|
||||||
|
using SafeExamBrowser.Contracts.Core;
|
||||||
using SafeExamBrowser.Contracts.I18n;
|
using SafeExamBrowser.Contracts.I18n;
|
||||||
using SafeExamBrowser.Contracts.Logging;
|
using SafeExamBrowser.Contracts.Logging;
|
||||||
using SafeExamBrowser.Contracts.SystemComponents;
|
using SafeExamBrowser.Contracts.SystemComponents;
|
||||||
|
@ -93,5 +94,12 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
powerSupplyMock.Verify(p => p.Terminate(), Times.Once);
|
powerSupplyMock.Verify(p => p.Terminate(), Times.Once);
|
||||||
wirelessNetworkMock.Verify(w => w.Terminate(), Times.Once);
|
wirelessNetworkMock.Verify(w => w.Terminate(), Times.Once);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Client.Operations;
|
using SafeExamBrowser.Client.Operations;
|
||||||
|
@ -105,5 +106,14 @@ namespace SafeExamBrowser.Client.UnitTests.Operations
|
||||||
|
|
||||||
windowMonitorMock.VerifyNoOtherCalls();
|
windowMonitorMock.VerifyNoOtherCalls();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
var sut = new WindowMonitorOperation(KioskMode.None, loggerMock.Object, windowMonitorMock.Object);
|
||||||
|
|
||||||
|
sut.Repeat();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,10 +80,12 @@
|
||||||
<Compile Include="Operations\BrowserOperationTests.cs" />
|
<Compile Include="Operations\BrowserOperationTests.cs" />
|
||||||
<Compile Include="Operations\ClientHostDisconnectionOperationTests.cs" />
|
<Compile Include="Operations\ClientHostDisconnectionOperationTests.cs" />
|
||||||
<Compile Include="Operations\ClipboardOperationTests.cs" />
|
<Compile Include="Operations\ClipboardOperationTests.cs" />
|
||||||
|
<Compile Include="Operations\ConfigurationOperationTests.cs" />
|
||||||
<Compile Include="Operations\DisplayMonitorOperationTests.cs" />
|
<Compile Include="Operations\DisplayMonitorOperationTests.cs" />
|
||||||
<Compile Include="Operations\KeyboardInterceptorOperationTests.cs" />
|
<Compile Include="Operations\KeyboardInterceptorOperationTests.cs" />
|
||||||
<Compile Include="Operations\MouseInterceptorOperationTests.cs" />
|
<Compile Include="Operations\MouseInterceptorOperationTests.cs" />
|
||||||
<Compile Include="Operations\ProcessMonitorOperationTests.cs" />
|
<Compile Include="Operations\ProcessMonitorOperationTests.cs" />
|
||||||
|
<Compile Include="Operations\RuntimeConnectionOperationTests.cs" />
|
||||||
<Compile Include="Operations\TaskbarOperationTests.cs" />
|
<Compile Include="Operations\TaskbarOperationTests.cs" />
|
||||||
<Compile Include="Operations\WindowMonitorOperationTests.cs" />
|
<Compile Include="Operations\WindowMonitorOperationTests.cs" />
|
||||||
<Compile Include="Communication\ClientHostTests.cs" />
|
<Compile Include="Communication\ClientHostTests.cs" />
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using SafeExamBrowser.Contracts.Configuration;
|
using SafeExamBrowser.Contracts.Configuration;
|
||||||
using SafeExamBrowser.Contracts.Core;
|
using SafeExamBrowser.Contracts.Core;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
|
@ -59,7 +60,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(BrowserOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using SafeExamBrowser.Contracts.Communication.Events;
|
using SafeExamBrowser.Contracts.Communication.Events;
|
||||||
using SafeExamBrowser.Contracts.Communication.Hosts;
|
using SafeExamBrowser.Contracts.Communication.Hosts;
|
||||||
|
@ -43,7 +44,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(ClientHostDisconnectionOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
||||||
using SafeExamBrowser.Contracts.I18n;
|
using SafeExamBrowser.Contracts.I18n;
|
||||||
|
@ -37,7 +38,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(ClipboardOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -63,7 +63,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(ConfigurationOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
||||||
using SafeExamBrowser.Contracts.I18n;
|
using SafeExamBrowser.Contracts.I18n;
|
||||||
|
@ -45,7 +46,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(DisplayMonitorOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
||||||
using SafeExamBrowser.Contracts.I18n;
|
using SafeExamBrowser.Contracts.I18n;
|
||||||
|
@ -46,7 +47,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(KeyboardInterceptorOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
||||||
using SafeExamBrowser.Contracts.I18n;
|
using SafeExamBrowser.Contracts.I18n;
|
||||||
|
@ -46,7 +47,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(MouseInterceptorOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using SafeExamBrowser.Contracts.Configuration.Settings;
|
using SafeExamBrowser.Contracts.Configuration.Settings;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
||||||
|
@ -46,7 +47,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(ProcessMonitorOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -53,7 +53,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(RuntimeConnectionOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using SafeExamBrowser.Contracts.Configuration;
|
using SafeExamBrowser.Contracts.Configuration;
|
||||||
using SafeExamBrowser.Contracts.Configuration.Settings;
|
using SafeExamBrowser.Contracts.Configuration.Settings;
|
||||||
using SafeExamBrowser.Contracts.Core;
|
using SafeExamBrowser.Contracts.Core;
|
||||||
|
@ -92,7 +93,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(TaskbarOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using SafeExamBrowser.Contracts.Configuration.Settings;
|
using SafeExamBrowser.Contracts.Configuration.Settings;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
||||||
|
@ -51,7 +52,7 @@ namespace SafeExamBrowser.Client.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(WindowMonitorOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
using Moq;
|
using Moq;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
|
@ -45,11 +46,18 @@ namespace SafeExamBrowser.Core.UnitTests.Operations
|
||||||
}
|
}
|
||||||
|
|
||||||
[TestMethod]
|
[TestMethod]
|
||||||
public void MustRepeatCorrectly()
|
public void MustDoNothingOnRevert()
|
||||||
{
|
{
|
||||||
var result = sut.Repeat();
|
sut.Revert();
|
||||||
|
|
||||||
Assert.AreEqual(OperationResult.Success, result);
|
text.VerifyNoOtherCalls();
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
[ExpectedException(typeof(InvalidOperationException))]
|
||||||
|
public void MustNotAllowRepeating()
|
||||||
|
{
|
||||||
|
sut.Repeat();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
using System;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel;
|
using SafeExamBrowser.Contracts.Core.OperationModel;
|
||||||
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
using SafeExamBrowser.Contracts.Core.OperationModel.Events;
|
||||||
|
@ -44,7 +45,7 @@ namespace SafeExamBrowser.Core.Operations
|
||||||
|
|
||||||
public OperationResult Repeat()
|
public OperationResult Repeat()
|
||||||
{
|
{
|
||||||
return OperationResult.Success;
|
throw new InvalidOperationException($"The '{nameof(I18nOperation)}' is not meant to be repeated!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Revert()
|
public void Revert()
|
||||||
|
|
Loading…
Reference in a new issue