forked from microsoft/vstest
/
MSTestSettingsUtilitiesTests.cs
120 lines (99 loc) · 4.31 KB
/
MSTestSettingsUtilitiesTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
namespace Microsoft.TestPlatform.Utilities.Tests
{
using System;
using System.Xml;
using Microsoft.VisualStudio.TestPlatform.Utilities;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MSTest.TestFramework.AssertExtensions;
[TestClass]
public class MSTestSettingsUtilitiesTests
{
#region IsLegacyTestSettingsFile tests
[TestMethod]
public void IsLegacyTestSettingsFileShouldReturnTrueIfTestSettingsExtension()
{
Assert.IsTrue(MSTestSettingsUtilities.IsLegacyTestSettingsFile("C:\\temp\\t.testsettings"));
}
[TestMethod]
public void IsLegacyTestSettingsFileShouldReturnTrueIfTestRunConfigExtension()
{
Assert.IsTrue(MSTestSettingsUtilities.IsLegacyTestSettingsFile("C:\\temp\\t.testrunConfig"));
}
[TestMethod]
public void IsLegacyTestSettingsFileShouldReturnTrueIfVSMDIExtension()
{
Assert.IsTrue(MSTestSettingsUtilities.IsLegacyTestSettingsFile("C:\\temp\\t.vsmdi"));
}
#endregion
#region Import tests
[TestMethod]
public void ImportShouldThrowIfNotLegacySettingsFile()
{
var defaultRunSettingsXml = "<RunSettings></RunSettings>";
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(defaultRunSettingsXml);
Action action =
() =>
MSTestSettingsUtilities.Import(
"C:\\temp\\r.runsettings",
xmlDocument);
Assert.That.Throws<XmlException>(action).WithMessage("Unexpected settings file specified.");
}
[TestMethod]
public void ImportShouldThrowIfDefaultRunSettingsIsIncorrect()
{
var defaultRunSettingsXml = "<DataRunSettings></DataRunSettings>";
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(defaultRunSettingsXml);
Action action =
() =>
MSTestSettingsUtilities.Import(
"C:\\temp\\r.testsettings",
xmlDocument);
Assert.That.Throws<XmlException>(action).WithMessage("Could not find 'RunSettings' node.");
}
[TestMethod]
public void ImportShouldEmbedTestSettingsInformation()
{
var defaultRunSettingsXml = "<RunSettings><RunConfiguration></RunConfiguration></RunSettings>";
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(defaultRunSettingsXml);
var finalxPath = MSTestSettingsUtilities.Import(
"C:\\temp\\r.testsettings",
xmlDocument);
var finalSettingsXml = finalxPath.CreateNavigator().OuterXml;
var expectedSettingsXml =
"<RunSettings>\r\n" +
" <MSTest>\r\n" +
" <SettingsFile>C:\\temp\\r.testsettings</SettingsFile>\r\n" +
" <ForcedLegacyMode>true</ForcedLegacyMode>\r\n" +
" </MSTest>\r\n" +
" <RunConfiguration></RunConfiguration>\r\n" +
"</RunSettings>";
Assert.AreEqual(expectedSettingsXml, finalSettingsXml);
}
[TestMethod]
public void ImportShouldEmbedTestSettingsAndDefaultRunConfigurationInformation()
{
var defaultRunSettingsXml = "<RunSettings></RunSettings>";
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(defaultRunSettingsXml);
var finalxPath = MSTestSettingsUtilities.Import(
"C:\\temp\\r.testsettings",
xmlDocument);
var finalSettingsXml = finalxPath.CreateNavigator().OuterXml;
var expectedSettingsXml =
"<RunSettings>\r\n" +
" <RunConfiguration />\r\n" +
" <MSTest>\r\n" +
" <SettingsFile>C:\\temp\\r.testsettings</SettingsFile>\r\n" +
" <ForcedLegacyMode>true</ForcedLegacyMode>\r\n" +
" </MSTest>\r\n" +
"</RunSettings>";
Assert.AreEqual(expectedSettingsXml, finalSettingsXml);
}
#endregion
}
}