mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-01-15 06:43:37 +01:00
* Improved relative path checking based on file existence If the file exists at the relative path, then use it. If not, then use the path as is. * Apply File.Exists logic to ReadResponseBodyAsString as well * Make path handling more robust since path is user defined * Unit tests for relative path feature * Replace all back and forward slashes with system dependent DirectorySeparatorChar * Attempt fix broken directory separator chars for Unix platforms * Revert wrapping GetMappingFolder with CleanPath * Move CleanPath logic to its own class * Remove whitespace * Remove more whitespace * Improve CleanPath method * Move PathUtils tests to separate class Add another test to ResponseWithBodyFromFileTests * Fix Response_ProvideResponse_WithBodyFromFile_InAdminMappingFolder * Debug Linux CI build * Debug Linux CI * print all files from admin mappings folder * Debug CleanPath * Fix removed leading directory separator char in Linux breaks file path Remove debugging statements * Move combine to PathUtils * PathUtils + PathUtilsTests * Remove replicated (3x) tests throughout ResponseWithBodyFromFileTests Co-authored-by: Stef Heyenrath <Stef.Heyenrath@gmail.com>
44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
using NFluent;
|
|
using System.IO;
|
|
using WireMock.Util;
|
|
using Xunit;
|
|
|
|
namespace WireMock.Net.Tests.Util
|
|
{
|
|
public class PathUtilsTests
|
|
{
|
|
[Theory]
|
|
[InlineData(@"subdirectory/MyXmlResponse.xml")]
|
|
[InlineData(@"subdirectory\MyXmlResponse.xml")]
|
|
public void PathUtils_CleanPath(string path)
|
|
{
|
|
// Act
|
|
var cleanPath = PathUtils.CleanPath(path);
|
|
|
|
// Assert
|
|
Check.That(cleanPath).Equals("subdirectory" + Path.DirectorySeparatorChar + "MyXmlResponse.xml");
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(null, null)]
|
|
[InlineData("", "")]
|
|
[InlineData("a", "a")]
|
|
[InlineData(@"/", "")]
|
|
[InlineData(@"//", "")]
|
|
[InlineData(@"//a", "a")]
|
|
[InlineData(@"\", "")]
|
|
[InlineData(@"\\", "")]
|
|
[InlineData(@"\\a", "a")]
|
|
public void PathUtils_CleanPath_RemoveLeadingDirectorySeparators(string path, string expected)
|
|
{
|
|
// Arrange
|
|
var cleanPath = PathUtils.CleanPath(path);
|
|
|
|
// Act
|
|
var withoutDirectorySeparators = PathUtils.RemoveLeadingDirectorySeparators(cleanPath);
|
|
|
|
// Assert
|
|
Check.That(withoutDirectorySeparators).Equals(expected);
|
|
}
|
|
}
|
|
} |