Skip to content

Commit 875309c

Browse files
authored
Remove dependency on RazorEngine in tests to fix Component Governance error (#9050)
1 parent 8528374 commit 875309c

2 files changed

Lines changed: 11 additions & 35 deletions

File tree

tests/NuGetGallery.Facts/NuGetGallery.Facts.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -364,9 +364,6 @@
364364
<PackageReference Include="Moq">
365365
<Version>4.8.2</Version>
366366
</PackageReference>
367-
<PackageReference Include="RazorEngine">
368-
<Version>3.10.0</Version>
369-
</PackageReference>
370367
<PackageReference Include="xunit.abstractions">
371368
<Version>2.0.1</Version>
372369
</PackageReference>

tests/NuGetGallery.Facts/Views/Packages/ValidationIssueFacts.cs

Lines changed: 11 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33

44
using System;
55
using System.Collections.Generic;
6+
using System.IO;
67
using System.Linq;
78
using System.Text.RegularExpressions;
89
using NuGet.Services.Validation;
910
using NuGet.Services.Validation.Issues;
10-
using RazorEngine.Configuration;
11-
using RazorEngine.Templating;
1211
using Xunit;
1312
using Xunit.Abstractions;
1413

@@ -24,25 +23,26 @@ public ValidationIssueFacts(ITestOutputHelper output)
2423
_output = output;
2524
}
2625

26+
[Theory]
2727
[MemberData(nameof(HasACaseForAllIssueTypesTestData))]
2828
public void HasACaseForAllIssueTypes(ValidationIssue issue)
2929
{
3030
// Arrange & Act
31-
var html = CompileView(issue);
31+
var template = GetTemplate();
3232

3333
// Assert
34-
Assert.DoesNotContain(UnknownIssueMessage, html);
34+
Assert.Contains("case ValidationIssueCode." + issue.IssueCode.ToString(), template);
3535
}
3636

3737
[Theory]
3838
[MemberData(nameof(HasExpectedMessageForUnknownIssueTestData))]
3939
public void HasExpectedMessageForUnknownIssue(ValidationIssue issue)
4040
{
4141
// Arrange & Act
42-
var html = CompileView(issue);
42+
var template = GetTemplate();
4343

4444
// Assert
45-
Assert.Equal(UnknownIssueMessage, html);
45+
Assert.DoesNotContain(issue.IssueCode.ToString(), template);
4646
}
4747

4848
[Theory]
@@ -57,34 +57,13 @@ public void AllIssueCodesAreHandled(ValidationIssueCode issueCode)
5757
Assert.Contains(issueCode, issueCodes);
5858
}
5959

60-
private string CompileView(ValidationIssue issue)
60+
private string GetTemplate()
6161
{
62-
// Arrange
63-
var config = new TemplateServiceConfiguration
64-
{
65-
TemplateManager = new EmbeddedResourceTemplateManager(GetType()),
66-
DisableTempFileLocking = true,
67-
};
68-
69-
using (var razorEngine = RazorEngineService.Create(config))
62+
using (var stream = GetType().Assembly.GetManifestResourceStream("NuGetGallery.Views.Packages._ValidationIssue.cshtml"))
63+
using (var streamReader = new StreamReader(stream))
7064
{
71-
_output.WriteLine($"Issue code: {issue.IssueCode}");
72-
_output.WriteLine($"Serialized: {issue.Serialize()}");
73-
74-
// Act
75-
var html = CollapseWhitespace(razorEngine.RunCompile("_ValidationIssue", model: issue))
76-
.Trim();
77-
78-
_output.WriteLine($"HTML:");
79-
_output.WriteLine(html);
80-
81-
return html;
82-
}
83-
}
84-
85-
private string CollapseWhitespace(string input)
86-
{
87-
return Regex.Replace(input, @"\s+", " ");
65+
return streamReader.ReadToEnd();
66+
}
8867
}
8968

9069
public static IEnumerable<ValidationIssue> KnownValidationIssues

0 commit comments

Comments
 (0)