Skip to content

Commit 41a3d3b

Browse files
committed
[r] file-scoped namespace
1 parent 11ad9f8 commit 41a3d3b

39 files changed

+818
-853
lines changed

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

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,34 @@
22
using System.Collections.Generic;
33
using Simplify.Web.Postman.Models;
44

5-
namespace Simplify.Web.Postman.Assembly.Collection
5+
namespace Simplify.Web.Postman.Assembly.Collection;
6+
7+
/// <summary>
8+
/// Provides postman collection model builder
9+
/// </summary>
10+
public class CollectionBuilder
611
{
12+
private readonly IList<ICollectionPartBuilder> _partBuilders;
13+
714
/// <summary>
8-
/// Provides postman collection model builder
15+
/// Initializes a new instance of the <see cref="CollectionBuilder"/> class.
916
/// </summary>
10-
public class CollectionBuilder
11-
{
12-
private readonly IList<ICollectionPartBuilder> _partBuilders;
13-
14-
/// <summary>
15-
/// Initializes a new instance of the <see cref="CollectionBuilder"/> class.
16-
/// </summary>
17-
/// <param name="partBuilders">The part builders.</param>
18-
/// <exception cref="ArgumentNullException">partBuilders</exception>
19-
public CollectionBuilder(IList<ICollectionPartBuilder> partBuilders) => _partBuilders = partBuilders ??
20-
throw new ArgumentNullException(nameof(partBuilders));
17+
/// <param name="partBuilders">The part builders.</param>
18+
/// <exception cref="ArgumentNullException">partBuilders</exception>
19+
public CollectionBuilder(IList<ICollectionPartBuilder> partBuilders) => _partBuilders = partBuilders ??
20+
throw new ArgumentNullException(nameof(partBuilders));
2121

22-
/// <summary>
23-
/// Builds the collection model.
24-
/// </summary>
25-
/// <returns></returns>
26-
public CollectionModel Create()
27-
{
28-
var model = new CollectionModel();
22+
/// <summary>
23+
/// Builds the collection model.
24+
/// </summary>
25+
/// <returns></returns>
26+
public CollectionModel Create()
27+
{
28+
var model = new CollectionModel();
2929

30-
foreach (var partBuilder in _partBuilders)
31-
partBuilder.Build(model);
30+
foreach (var partBuilder in _partBuilders)
31+
partBuilder.Build(model);
3232

33-
return model;
34-
}
33+
return model;
3534
}
3635
}
Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
using Simplify.Web.Postman.Models;
22

3-
namespace Simplify.Web.Postman.Assembly.Collection
3+
namespace Simplify.Web.Postman.Assembly.Collection;
4+
5+
/// <summary>
6+
/// Provides postman collection part builder
7+
/// </summary>
8+
public interface ICollectionPartBuilder
49
{
510
/// <summary>
6-
/// Provides postman collection part builder
11+
/// Builds the specified model part.
712
/// </summary>
8-
public interface ICollectionPartBuilder
9-
{
10-
/// <summary>
11-
/// Builds the specified model part.
12-
/// </summary>
13-
/// <param name="model">The model.</param>
14-
void Build(CollectionModel model);
15-
}
13+
/// <param name="model">The model.</param>
14+
void Build(CollectionModel model);
1615
}
Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,27 @@
11
using System.Collections.Generic;
22
using Simplify.Web.Postman.Models;
33

4-
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
4+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders;
5+
6+
/// <summary>
7+
/// Provides basic tests builder
8+
/// </summary>
9+
/// <seealso cref="ICollectionPartBuilder" />
10+
public static class BasicTestsBuilder
511
{
612
/// <summary>
7-
/// Provides basic tests builder
13+
/// Builds the basic test.
814
/// </summary>
9-
/// <seealso cref="ICollectionPartBuilder" />
10-
public static class BasicTestsBuilder
15+
public static Event Build()
1116
{
12-
/// <summary>
13-
/// Builds the basic test.
14-
/// </summary>
15-
public static Event Build()
17+
return new Event
1618
{
17-
return new Event
19+
Listen = "test",
20+
Script = new Script
1821
{
19-
Listen = "test",
20-
Script = new Script
21-
{
22-
Exec = new List<string> { "tests[\"HTTP Code Test\"] = pm.expect(pm.response.code).to.be.oneOf([200, 204]);" },
23-
Type = "text/javascript"
24-
}
25-
};
26-
}
22+
Exec = new List<string> { "tests[\"HTTP Code Test\"] = pm.expect(pm.response.code).to.be.oneOf([200, 204]);" },
23+
Type = "text/javascript"
24+
}
25+
};
2726
}
2827
}
Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
11
using Simplify.Web.Postman.Models;
22
using Simplify.Web.Postman.Settings;
33

4-
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
4+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders;
5+
6+
/// <summary>
7+
/// Provides CollectionHeader builder
8+
/// </summary>
9+
/// <seealso cref="ICollectionPartBuilder" />
10+
public class CollectionHeaderBuilder : ICollectionPartBuilder
511
{
12+
private readonly IPostmanGenerationSettings _settings;
13+
614
/// <summary>
7-
/// Provides CollectionHeader builder
15+
/// Initializes a new instance of the <see cref="CollectionHeaderBuilder"/> class.
816
/// </summary>
9-
/// <seealso cref="ICollectionPartBuilder" />
10-
public class CollectionHeaderBuilder : ICollectionPartBuilder
11-
{
12-
private readonly IPostmanGenerationSettings _settings;
13-
14-
/// <summary>
15-
/// Initializes a new instance of the <see cref="CollectionHeaderBuilder"/> class.
16-
/// </summary>
17-
/// <param name="settings">The settings.</param>
18-
public CollectionHeaderBuilder(IPostmanGenerationSettings settings) => _settings = settings;
17+
/// <param name="settings">The settings.</param>
18+
public CollectionHeaderBuilder(IPostmanGenerationSettings settings) => _settings = settings;
1919

20-
/// <summary>
21-
/// Builds the specified model part.
22-
/// </summary>
23-
/// <param name="model">The model.</param>
24-
public void Build(CollectionModel model) =>
25-
model.Header = new CollectionHeader
26-
{
27-
Name = _settings.ProjectName
28-
};
29-
}
20+
/// <summary>
21+
/// Builds the specified model part.
22+
/// </summary>
23+
/// <param name="model">The model.</param>
24+
public void Build(CollectionModel model) =>
25+
model.Header = new CollectionHeader
26+
{
27+
Name = _settings.ProjectName
28+
};
3029
}

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

Lines changed: 51 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -4,75 +4,74 @@
44
using Simplify.Web.Meta;
55
using Simplify.Web.Postman.Models;
66

7-
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders
7+
namespace Simplify.Web.Postman.Assembly.Collection.PartBuilders;
8+
9+
/// <summary>
10+
/// Provides CollectionItems builder
11+
/// </summary>
12+
/// <seealso cref="ICollectionPartBuilder" />
13+
public class CollectionItemsBuilder : ICollectionPartBuilder
814
{
915
/// <summary>
10-
/// Provides CollectionItems builder
16+
/// Builds the specified model part.
1117
/// </summary>
12-
/// <seealso cref="ICollectionPartBuilder" />
13-
public class CollectionItemsBuilder : ICollectionPartBuilder
18+
/// <param name="model">The model.</param>
19+
public void Build(CollectionModel model)
1420
{
15-
/// <summary>
16-
/// Builds the specified model part.
17-
/// </summary>
18-
/// <param name="model">The model.</param>
19-
public void Build(CollectionModel model)
21+
foreach (var item in ControllersMetaStore.Current.ControllersMetaData)
2022
{
21-
foreach (var item in ControllersMetaStore.Current.ControllersMetaData)
22-
{
23-
// Skip any route controllers
24-
if (item.ExecParameters == null)
25-
continue;
23+
// Skip any route controllers
24+
if (item.ExecParameters == null)
25+
continue;
2626

27-
foreach (var route in item.ExecParameters!.Routes)
28-
BuildCollectionItems(model, 0, BuildRequestCollectionItem(item, route));
29-
}
27+
foreach (var route in item.ExecParameters!.Routes)
28+
BuildCollectionItems(model, 0, BuildRequestCollectionItem(item, route));
3029
}
30+
}
31+
32+
private static void BuildCollectionItems(CollectionItem currentLevelContainer, int currentLevel, CollectionItem item)
33+
{
34+
var path = item.Request.Url.Path;
3135

32-
private static void BuildCollectionItems(CollectionItem currentLevelContainer, int currentLevel, CollectionItem item)
36+
// If recursion reached request level or reached route parameter
37+
if (currentLevel == path.Count || path[currentLevel].StartsWith("{"))
3338
{
34-
var path = item.Request.Url.Path;
39+
if (currentLevelContainer.Items == null)
40+
currentLevelContainer.Items = new List<CollectionItem>();
3541

36-
// If recursion reached request level or reached route parameter
37-
if (currentLevel == path.Count || path[currentLevel].StartsWith("{"))
38-
{
39-
if (currentLevelContainer.Items == null)
40-
currentLevelContainer.Items = new List<CollectionItem>();
42+
currentLevelContainer.Items.Add(item);
43+
return;
44+
}
4145

42-
currentLevelContainer.Items.Add(item);
43-
return;
44-
}
46+
// If path recursion not reached request level
4547

46-
// If path recursion not reached request level
48+
var containerName = BuildContainerName(path[currentLevel]);
4749

48-
var containerName = BuildContainerName(path[currentLevel]);
50+
var container = currentLevelContainer.Items?.FirstOrDefault(x => x.Name == containerName);
4951

50-
var container = currentLevelContainer.Items?.FirstOrDefault(x => x.Name == containerName);
52+
if (container == null)
53+
{
54+
if (currentLevelContainer.Items == null)
55+
currentLevelContainer.Items = new List<CollectionItem>();
5156

52-
if (container == null)
57+
currentLevelContainer.Items.Add(container = new CollectionItem
5358
{
54-
if (currentLevelContainer.Items == null)
55-
currentLevelContainer.Items = new List<CollectionItem>();
56-
57-
currentLevelContainer.Items.Add(container = new CollectionItem
58-
{
59-
Name = containerName,
60-
Items = new List<CollectionItem>()
61-
});
62-
}
63-
64-
BuildCollectionItems(container, currentLevel + 1, item);
59+
Name = containerName,
60+
Items = new List<CollectionItem>()
61+
});
6562
}
6663

67-
private static CollectionItem BuildRequestCollectionItem(IControllerMetaData metaData, KeyValuePair<HttpMethod, string> route) =>
68-
new()
69-
{
70-
Name = BuildRequestName(metaData),
71-
Request = RequestBuilder.Build(metaData, route),
72-
Event = new List<Models.Event> { BasicTestsBuilder.Build() }
73-
};
74-
75-
private static string BuildRequestName(IControllerMetaData metaData) => metaData.ControllerType.Name.Replace("Controller", "");
76-
private static string BuildContainerName(string urlPart) => CultureInfo.CurrentCulture.TextInfo.ToTitleCase(urlPart.ToLower());
64+
BuildCollectionItems(container, currentLevel + 1, item);
7765
}
66+
67+
private static CollectionItem BuildRequestCollectionItem(IControllerMetaData metaData, KeyValuePair<HttpMethod, string> route) =>
68+
new()
69+
{
70+
Name = BuildRequestName(metaData),
71+
Request = RequestBuilder.Build(metaData, route),
72+
Event = new List<Models.Event> { BasicTestsBuilder.Build() }
73+
};
74+
75+
private static string BuildRequestName(IControllerMetaData metaData) => metaData.ControllerType.Name.Replace("Controller", "");
76+
private static string BuildContainerName(string urlPart) => CultureInfo.CurrentCulture.TextInfo.ToTitleCase(urlPart.ToLower());
7877
}

0 commit comments

Comments
 (0)