Skip to content

Commit 3cd5e9a

Browse files
#61 Add artifactsPath configuration property
1 parent 873692a commit 3cd5e9a

File tree

5 files changed

+49
-0
lines changed

5 files changed

+49
-0
lines changed

src/Atata.Configuration.Json.Tests/Atata.Configuration.Json.Tests.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@
5757
<None Update="Configs\Chrome.json">
5858
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
5959
</None>
60+
<None Update="Configs\StandardSettings.json">
61+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
62+
</None>
6063
<None Update="Configs\EnvironmentVariables.json">
6164
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
6265
</None>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"driver": {
3+
"type": "chrome"
4+
},
5+
"baseUrl": "https://demo.atata.io/",
6+
"artifactsPath": "{basedir}/artifacts/{build-start:yyyy}{test-suite-name-sanitized:/*}{test-name-sanitized:/*}",
7+
8+
"useAllNUnitFeatures": true
9+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System;
2+
using System.IO;
3+
using NUnit.Framework;
4+
5+
namespace Atata.Configuration.Json.Tests
6+
{
7+
[TestFixture]
8+
public class StandardSettingsTests : TestFixture
9+
{
10+
[Test]
11+
public void Regular()
12+
{
13+
Subject<AtataContext> result = AtataContext.Configure()
14+
.ApplyJsonConfig(@"Configs/StandardSettings.json")
15+
.Build()
16+
.ToResultSubject();
17+
18+
result.ValueOf(x => x.BaseUrl).Should.Equal("https://demo.atata.io/");
19+
20+
result.ValueOf(x => x.Artifacts.FullName.Value).Should.Equal(
21+
Path.Combine(
22+
AppDomain.CurrentDomain.BaseDirectory,
23+
"artifacts",
24+
DateTime.Now.Year.ToString(),
25+
nameof(StandardSettingsTests),
26+
TestContext.CurrentContext.Test.Name));
27+
}
28+
}
29+
}

src/Atata.Configuration.Json/JsonConfig`1.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ public DriverJsonSection Driver
8686

8787
public string Culture { get; set; }
8888

89+
/// <summary>
90+
/// Gets or sets the Artifacts directory path.
91+
/// </summary>
92+
public string ArtifactsPath { get; set; }
93+
8994
/// <summary>
9095
/// Gets or sets the base retry timeout in seconds.
9196
/// </summary>

src/Atata.Configuration.Json/Mapping/JsonConfigMapper.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ public static AtataContextBuilder Map<TConfig>(TConfig config, AtataContextBuild
1515
if (config.Culture != null)
1616
builder.UseCulture(config.Culture);
1717

18+
if (config.ArtifactsPath != null)
19+
builder.UseArtifactsPath(config.ArtifactsPath);
20+
1821
if (config.BaseRetryTimeout != null)
1922
builder.UseBaseRetryTimeout(TimeSpan.FromSeconds(config.BaseRetryTimeout.Value));
2023

0 commit comments

Comments
 (0)