diff --git a/MainProject.Tests/Controllers/VersionController_Tests.cs b/MainProject.Tests/Controllers/VersionController_Tests.cs index 3a4a8d3..5ddf205 100644 --- a/MainProject.Tests/Controllers/VersionController_Tests.cs +++ b/MainProject.Tests/Controllers/VersionController_Tests.cs @@ -72,4 +72,33 @@ public class BaseController_Tests Assert.Fail($"An exception was thrown: {ex.Message}"); } } + + [TestMethod] + public void VersionController_GetVersion_NoVersion() + { + Environment.SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development"); + + try + { + Console.WriteLine(System.AppDomain.CurrentDomain.BaseDirectory); + var configuration = TestUtils.CreateEmptyConfiguration(System.AppDomain.CurrentDomain.BaseDirectory + "/JsonData", "emptyAppsettings.json"); + VersionController versionController = new VersionController(configuration); + var result = versionController.GetVersion(); + var objectResult = ((ObjectResult)result).Value; + if (objectResult != null) + { + var data = (BaseResponse)objectResult; + Assert.IsTrue((((IStatusCodeActionResult)result).StatusCode == 200) && String.IsNullOrEmpty(data.Data)); + } + else + { + Assert.Fail($"Response value is null"); + } + } + catch (Exception ex) + { + Console.WriteLine(ex.InnerException); + Assert.Fail($"An exception was thrown: {ex.Message}"); + } + } } diff --git a/MainProject.Tests/MainProject.Tests.csproj b/MainProject.Tests/MainProject.Tests.csproj index 103960f..f5104f0 100644 --- a/MainProject.Tests/MainProject.Tests.csproj +++ b/MainProject.Tests/MainProject.Tests.csproj @@ -24,4 +24,8 @@ + + + + diff --git a/MainProject.Tests/TestsUtils/TestUtils.cs b/MainProject.Tests/TestsUtils/TestUtils.cs index ce8d95e..6e1e050 100644 --- a/MainProject.Tests/TestsUtils/TestUtils.cs +++ b/MainProject.Tests/TestsUtils/TestUtils.cs @@ -22,12 +22,22 @@ public static class TestUtils public static IConfiguration CreateConfiguration() { WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty()); - AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder, "D:\\Users\\Simona\\Documents\\Projects\\BasicDotnetTemplate\\MainProject.Tests\\JsonData"); + AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder, System.AppDomain.CurrentDomain.BaseDirectory + "/JsonData"); ProgramUtils.AddOpenApi(ref builder, appSettings); AppSettings _appSettings = new AppSettings(); builder.Configuration.GetSection("AppSettings").Bind(_appSettings); return builder.Configuration; } + + public static IConfiguration CreateEmptyConfiguration(string? path = "", string? filename = "") + { + string appSettingsPath = String.IsNullOrEmpty(path) ? System.AppDomain.CurrentDomain.BaseDirectory : path; + return new ConfigurationBuilder() + .SetBasePath(appSettingsPath) + .AddJsonFile(String.IsNullOrEmpty(filename) ? "appsettings.json" : filename, optional: false, reloadOnChange: true) + .AddEnvironmentVariables() + .Build(); + } } diff --git a/MainProject.Tests/Utils/ProgramUtils_Tests.cs b/MainProject.Tests/Utils/ProgramUtils_Tests.cs index 4256dfd..45b2581 100644 --- a/MainProject.Tests/Utils/ProgramUtils_Tests.cs +++ b/MainProject.Tests/Utils/ProgramUtils_Tests.cs @@ -37,7 +37,7 @@ public class ProgramUtils_Tests }; WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty()); - AppSettings realAppSettings = ProgramUtils.AddConfiguration(ref builder, "D:\\Users\\Simona\\Documents\\Projects\\BasicDotnetTemplate\\MainProject.Tests\\JsonData", "noApiConfigurationAppSettings.json"); + AppSettings realAppSettings = ProgramUtils.AddConfiguration(ref builder, System.AppDomain.CurrentDomain.BaseDirectory + "/JsonData", "noApiConfigurationAppSettings.json"); OpenApiInfo realOpenApiInfo = ProgramUtils.CreateOpenApiInfo(realAppSettings); var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title && @@ -73,7 +73,7 @@ public class ProgramUtils_Tests }; WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty()); - AppSettings realAppSettings = ProgramUtils.AddConfiguration(ref builder, "D:\\Users\\Simona\\Documents\\Projects\\BasicDotnetTemplate\\MainProject.Tests\\JsonData", "emptyAppsettings.json"); + AppSettings realAppSettings = ProgramUtils.AddConfiguration(ref builder, System.AppDomain.CurrentDomain.BaseDirectory + "/JsonData", "emptyAppsettings.json"); OpenApiInfo realOpenApiInfo = ProgramUtils.CreateOpenApiInfo(realAppSettings); var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title && @@ -189,7 +189,7 @@ public class ProgramUtils_Tests }; WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty()); - AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder, "D:\\Users\\Simona\\Documents\\Projects\\BasicDotnetTemplate\\MainProject.Tests\\JsonData", "completeAppSettings.json"); + AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder, System.AppDomain.CurrentDomain.BaseDirectory + "/JsonData", "completeAppSettings.json"); OpenApiInfo realOpenApiInfo = ProgramUtils.CreateOpenApiInfo(appSettings); var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title && @@ -214,7 +214,7 @@ public class ProgramUtils_Tests try { WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty()); - AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder, "D:\\Users\\Simona\\Documents\\Projects\\BasicDotnetTemplate\\MainProject.Tests\\JsonData"); + AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder, System.AppDomain.CurrentDomain.BaseDirectory + "/JsonData"); ProgramUtils.AddOpenApi(ref builder, appSettings); AppSettings _appSettings = new AppSettings(); builder.Configuration.GetSection("AppSettings").Bind(_appSettings); diff --git a/MainProject/Controllers/VersionController.cs b/MainProject/Controllers/VersionController.cs index 6e24509..ee527ed 100644 --- a/MainProject/Controllers/VersionController.cs +++ b/MainProject/Controllers/VersionController.cs @@ -8,10 +8,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers { public VersionController( IConfiguration configuration - ) : base(configuration) - { - - } + ) : base(configuration) { } [HttpGet("get")] public IActionResult GetVersion()