Skip to content

Commit a0f1f76

Browse files
authored
fix: Trim relative path indicators from Dockerfile path (#1203)
1 parent 7ecd79e commit a0f1f76

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/Testcontainers/Builders/ImageFromDockerfileBuilder.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ namespace DotNet.Testcontainers.Builders
33
using System;
44
using System.Collections.Generic;
55
using System.IO;
6+
using System.Text.RegularExpressions;
67
using Docker.DotNet.Models;
78
using DotNet.Testcontainers.Configurations;
89
using DotNet.Testcontainers.Images;
@@ -65,7 +66,8 @@ public ImageFromDockerfileBuilder WithName(IImage name)
6566
/// <inheritdoc />
6667
public ImageFromDockerfileBuilder WithDockerfile(string dockerfile)
6768
{
68-
return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(dockerfile: dockerfile));
69+
var dockerfileFilePath = Regex.Replace(dockerfile, "^\\.(\\/|\\\\)", string.Empty, RegexOptions.None, TimeSpan.FromSeconds(1));
70+
return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(dockerfile: dockerfileFilePath));
6971
}
7072

7173
/// <inheritdoc />

tests/Testcontainers.Tests/Unit/Images/ImageFromDockerfileTest.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,11 @@ public async Task ThrowsDockerfileDirectoryDoesNotExist()
100100
Assert.Equal($"Directory '{Path.GetFullPath(dockerfileDirectory)}' does not exist.", exception.Message);
101101
}
102102

103-
[Fact]
104-
public async Task BuildsDockerImage()
103+
[Theory]
104+
[InlineData("Dockerfile")]
105+
[InlineData("./Dockerfile")]
106+
[InlineData(".\\Dockerfile")]
107+
public async Task BuildsDockerImage(string dockerfile)
105108
{
106109
// Given
107110
IImage tag1 = new DockerImage("localhost/testcontainers", Guid.NewGuid().ToString("D"), string.Empty);
@@ -110,7 +113,7 @@ public async Task BuildsDockerImage()
110113

111114
var imageFromDockerfileBuilder = new ImageFromDockerfileBuilder()
112115
.WithName(tag1)
113-
.WithDockerfile("Dockerfile")
116+
.WithDockerfile(dockerfile)
114117
.WithDockerfileDirectory("Assets/")
115118
.WithDeleteIfExists(true)
116119
.WithCreateParameterModifier(parameterModifier => parameterModifier.Tags.Add(tag2.FullName))

0 commit comments

Comments
 (0)