SEBWIN-380: Extended tests for configuration data processor.
This commit is contained in:
parent
ad24146d9f
commit
1763394036
2 changed files with 26 additions and 5 deletions
|
@ -10,8 +10,10 @@ using System.Collections.Generic;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.Serialization.Formatters.Binary;
|
using System.Runtime.Serialization.Formatters.Binary;
|
||||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
using Moq;
|
||||||
using SafeExamBrowser.Configuration.ConfigurationData;
|
using SafeExamBrowser.Configuration.ConfigurationData;
|
||||||
using SafeExamBrowser.Settings;
|
using SafeExamBrowser.Settings;
|
||||||
|
using SafeExamBrowser.Settings.Applications;
|
||||||
|
|
||||||
namespace SafeExamBrowser.Configuration.UnitTests.ConfigurationData
|
namespace SafeExamBrowser.Configuration.UnitTests.ConfigurationData
|
||||||
{
|
{
|
||||||
|
@ -67,5 +69,21 @@ namespace SafeExamBrowser.Configuration.UnitTests.ConfigurationData
|
||||||
Assert.AreEqual("4fc002d2ae4faf994a14bede54d95ac58a1a2cb9b59bc5b4277ff29559b46e3d", settings2.Browser.ConfigurationKey);
|
Assert.AreEqual("4fc002d2ae4faf994a14bede54d95ac58a1a2cb9b59bc5b4277ff29559b46e3d", settings2.Browser.ConfigurationKey);
|
||||||
Assert.AreEqual("ab426e25b795c917f1fb40f7ef8e5757ef97d7c7ad6792e655c4421d47329d7a", settings3.Browser.ConfigurationKey);
|
Assert.AreEqual("ab426e25b795c917f1fb40f7ef8e5757ef97d7c7ad6792e655c4421d47329d7a", settings3.Browser.ConfigurationKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void MustRemoveLegacyBrowserEngines()
|
||||||
|
{
|
||||||
|
var settings = new AppSettings();
|
||||||
|
var firefox = new WhitelistApplication { ExecutablePath = @"C:\Program Files (x86)\Mozilla Firefox", ExecutableName = "firefox.exe" };
|
||||||
|
|
||||||
|
settings.Applications.Whitelist.Add(new WhitelistApplication { ExecutablePath = @"C:\some\path\xulrunner\etc", ExecutableName = "firefox.exe" });
|
||||||
|
settings.Applications.Whitelist.Add(new WhitelistApplication { ExecutablePath = @"C:\some\path\xulrunner\etc", ExecutableName = "xulrunner.exe" });
|
||||||
|
settings.Applications.Whitelist.Add(firefox);
|
||||||
|
|
||||||
|
sut.Process(Mock.Of<IDictionary<string, object>>(), settings);
|
||||||
|
|
||||||
|
Assert.AreEqual(1, settings.Applications.Whitelist.Count);
|
||||||
|
Assert.AreSame(firefox, settings.Applications.Whitelist[0]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
|
||||||
{
|
{
|
||||||
AllowReconfiguration(settings);
|
AllowReconfiguration(settings);
|
||||||
CalculateConfigurationKey(rawData, settings);
|
CalculateConfigurationKey(rawData, settings);
|
||||||
RemoveLegacyBrowser(settings);
|
RemoveLegacyBrowsers(settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AllowReconfiguration(AppSettings settings)
|
private void AllowReconfiguration(AppSettings settings)
|
||||||
|
@ -47,9 +47,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RemoveLegacyBrowser(AppSettings settings)
|
private void RemoveLegacyBrowsers(AppSettings settings)
|
||||||
{
|
{
|
||||||
var legacyBrowser = default(WhitelistApplication);
|
var legacyBrowsers = new List<WhitelistApplication>();
|
||||||
|
|
||||||
foreach (var application in settings.Applications.Whitelist)
|
foreach (var application in settings.Applications.Whitelist)
|
||||||
{
|
{
|
||||||
|
@ -59,11 +59,14 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
|
||||||
|
|
||||||
if (isEnginePath && (isFirefox || isXulRunner))
|
if (isEnginePath && (isFirefox || isXulRunner))
|
||||||
{
|
{
|
||||||
legacyBrowser = application;
|
legacyBrowsers.Add(application);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
settings.Applications.Whitelist.Remove(legacyBrowser);
|
foreach (var legacyBrowser in legacyBrowsers)
|
||||||
|
{
|
||||||
|
settings.Applications.Whitelist.Remove(legacyBrowser);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue