Skip to content

Commit bac18f2

Browse files
committed
Merge branch 'feature/#3' into develop
2 parents 8a3b8b0 + 03a0b4d commit bac18f2

31 files changed

+344
-171
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
22
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DI/@EntryIndexedValue">DI</s:String>
3+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IO/@EntryIndexedValue">IO</s:String>
34
<s:Boolean x:Key="/Default/UserDictionary/Words/=registrator/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

src/Simplify.Web.Postman/CollectionBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/CollectionBuilder.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using Simplify.Web.Postman.Models;
44

5-
namespace Simplify.Web.Postman
5+
namespace Simplify.Web.Postman.Assembly.Collection
66
{
77
/// <summary>
88
/// Provides postman collection model builder
@@ -16,7 +16,8 @@ public class CollectionBuilder
1616
/// </summary>
1717
/// <param name="partBuilders">The part builders.</param>
1818
/// <exception cref="ArgumentNullException">partBuilders</exception>
19-
public CollectionBuilder(IList<ICollectionPartBuilder> partBuilders) => _partBuilders = partBuilders ?? throw new ArgumentNullException(nameof(partBuilders));
19+
public CollectionBuilder(IList<ICollectionPartBuilder> partBuilders) => _partBuilders = partBuilders ??
20+
throw new ArgumentNullException(nameof(partBuilders));
2021

2122
/// <summary>
2223
/// Builds the collection model.

src/Simplify.Web.Postman/ICollectionPartBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/ICollectionPartBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
using Simplify.Web.Postman.Models;
1+
using Simplify.Web.Postman.Models;
22

3-
namespace Simplify.Web.Postman
3+
namespace Simplify.Web.Postman.Assembly.Collection
44
{
55
/// <summary>
66
/// Provides postman collection part builder

src/Simplify.Web.Postman/PartBuilders/CollectionHeaderBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/PartBuilders/CollectionHeaderBuilder.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
using Simplify.Web.Postman.Models;
1+
using Simplify.Web.Postman.Models;
22
using Simplify.Web.Postman.Settings;
33

4-
namespace Simplify.Web.Postman.PartBuilders
4+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
55
{
66
/// <summary>
77
/// Provides CollectionHeader builder
@@ -24,7 +24,7 @@ public class CollectionHeaderBuilder : ICollectionPartBuilder
2424
public void Build(CollectionModel model) =>
2525
model.Header = new CollectionHeader
2626
{
27-
Name = _settings.CollectionName
27+
Name = _settings.ProjectName
2828
};
2929
}
3030
}

src/Simplify.Web.Postman/PartBuilders/CollectionItemsBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/PartBuilders/CollectionItemsBuilder.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
using System;
2-
using System.Linq;
31
using System.Collections.Generic;
42
using Simplify.Web.Meta;
53
using Simplify.Web.Postman.Models;
64

7-
namespace Simplify.Web.Postman.PartBuilders
5+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
86
{
97
/// <summary>
108
/// Provides CollectionItems builder

src/Simplify.Web.Postman/PartBuilders/RequestBuilder.cs renamed to src/Simplify.Web.Postman/Assembly/Collection/PartBuilders/RequestBuilder.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4-
using System.Text.Encodings.Web;
54
using System.Text.Json;
65
using Simplify.Web.Meta;
76
using Simplify.Web.Postman.Models;
87

9-
namespace Simplify.Web.Postman.PartBuilders
8+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
109
{
1110
/// <summary>
1211
/// Provides request builder
@@ -26,7 +25,7 @@ public static class RequestBuilder
2625
public static string BaseUrlPath
2726
{
2827
get => _baseUrlPath ?? DefaultBaseUrlPath;
29-
set => _baseUrlPath = value ?? throw new NotImplementedException(nameof(value));
28+
set => _baseUrlPath = value ?? throw new ArgumentNullException(nameof(value));
3029
}
3130

3231
/// <summary>
@@ -68,6 +67,7 @@ public static Request Build(IControllerMetaData metaData, KeyValuePair<HttpMetho
6867

6968
return body;
7069
}
70+
7171
private static string BuildRequestJsonData(Type modelType) => JsonSerializer.Serialize(Activator.CreateInstance(modelType), new()
7272
{
7373
WriteIndented = true
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
using System.Collections.Generic;
2+
using Simplify.Web.Postman.Models;
3+
using Simplify.Web.Postman.Settings;
4+
5+
namespace Simplify.Web.Postman.Assembly.Environment
6+
{
7+
/// <summary>
8+
/// Provides postman environment model builder
9+
/// </summary>
10+
public class EnvironmentBuilder
11+
{
12+
private readonly IPostmanGenerationSettings _settings;
13+
14+
/// <summary>
15+
/// Initializes a new instance of the <see cref="EnvironmentBuilder"/> class.
16+
/// </summary>
17+
/// <param name="settings">The settings.</param>
18+
public EnvironmentBuilder(IPostmanGenerationSettings settings) => _settings = settings;
19+
20+
/// <summary>
21+
/// Creates this environment model.
22+
/// </summary>
23+
/// <returns></returns>
24+
public EnvironmentModel Create() =>
25+
new()
26+
{
27+
Name = _settings.ProjectName,
28+
Values = new List<PostmanValue>
29+
{
30+
new PostmanValue
31+
{
32+
Key = "BaseUrl",
33+
Value = "http://localhost:5000"
34+
}
35+
}
36+
};
37+
}
38+
}

src/Simplify.Web.Postman/FileCollectionExporter.cs

Lines changed: 0 additions & 50 deletions
This file was deleted.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
using System.IO;
2+
using Simplify.Web.Postman.Assembly.Collection;
3+
using Simplify.Web.Postman.IO;
4+
using Simplify.Web.Postman.Settings;
5+
6+
namespace Simplify.Web.Postman.Generators
7+
{
8+
/// <summary>
9+
/// Provides file based collection generator
10+
/// </summary>
11+
public class FileBasedCollectionGenerator
12+
{
13+
private readonly CollectionBuilder _builder;
14+
private readonly ModelToFileExporter _exporter;
15+
private readonly IPostmanGenerationSettings _settings;
16+
17+
/// <summary>
18+
/// Initializes a new instance of the <see cref="FileBasedCollectionGenerator" /> class.
19+
/// </summary>
20+
/// <param name="builder">The builder.</param>
21+
/// <param name="exporter">The exporter.</param>
22+
/// <param name="settings">The settings.</param>
23+
public FileBasedCollectionGenerator(CollectionBuilder builder, ModelToFileExporter exporter, IPostmanGenerationSettings settings)
24+
{
25+
_exporter = exporter;
26+
_builder = builder;
27+
_settings = settings;
28+
}
29+
30+
/// <summary>
31+
/// Generates the collection
32+
/// </summary>
33+
public void Generate() => _exporter.Export(_builder.Create(), GenerateFileName());
34+
35+
private string GenerateFileName() =>
36+
Path.Combine(_settings.CollectionFileName + _settings.CollectionFileNamePostfix + ".json");
37+
}
38+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
using System.IO;
2+
using Simplify.Web.Postman.Assembly.Environment;
3+
using Simplify.Web.Postman.IO;
4+
using Simplify.Web.Postman.Settings;
5+
6+
namespace Simplify.Web.Postman.Generators
7+
{
8+
/// <summary>
9+
/// Provides file based postman environment generator
10+
/// </summary>
11+
public class FileBasedEnvironmentGenerator
12+
{
13+
private readonly EnvironmentBuilder _builder;
14+
private readonly ModelToFileExporter _exporter;
15+
private readonly IPostmanGenerationSettings _settings;
16+
17+
/// <summary>
18+
/// Initializes a new instance of the <see cref="FileBasedCollectionGenerator" /> class.
19+
/// </summary>
20+
/// <param name="builder">The builder.</param>
21+
/// <param name="exporter">The exporter.</param>
22+
/// <param name="settings">The settings.</param>
23+
public FileBasedEnvironmentGenerator(EnvironmentBuilder builder, ModelToFileExporter exporter, IPostmanGenerationSettings settings)
24+
{
25+
_exporter = exporter;
26+
_builder = builder;
27+
_settings = settings;
28+
}
29+
30+
/// <summary>
31+
/// Generates the collection
32+
/// </summary>
33+
public void Generate() => _exporter.Export(_builder.Create(), GenerateFileName());
34+
35+
private string GenerateFileName() =>
36+
Path.Combine(_settings.EnvironmentFileName + _settings.EnvironmentFileNamePostfix + ".json");
37+
}
38+
}

0 commit comments

Comments
 (0)