Fixing dotnet coverage + minor fixes

This commit is contained in:
2024-05-14 19:47:25 +02:00
parent 6c34f3e380
commit ebf8237be6
5 changed files with 49 additions and 9 deletions

View File

@@ -72,4 +72,33 @@ public class BaseController_Tests
Assert.Fail($"An exception was thrown: {ex.Message}"); 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}");
}
}
} }

View File

@@ -24,4 +24,8 @@
<ProjectReference Include="..\MainProject\MainProject.csproj" /> <ProjectReference Include="..\MainProject\MainProject.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Content Include="JsonData/**" CopyToOutputDirectory="Always" CopyToPublishDirectory="Always" />
</ItemGroup>
</Project> </Project>

View File

@@ -22,12 +22,22 @@ public static class TestUtils
public static IConfiguration CreateConfiguration() public static IConfiguration CreateConfiguration()
{ {
WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>()); WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>());
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); ProgramUtils.AddOpenApi(ref builder, appSettings);
AppSettings _appSettings = new AppSettings(); AppSettings _appSettings = new AppSettings();
builder.Configuration.GetSection("AppSettings").Bind(_appSettings); builder.Configuration.GetSection("AppSettings").Bind(_appSettings);
return builder.Configuration; 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();
}
} }

View File

@@ -37,7 +37,7 @@ public class ProgramUtils_Tests
}; };
WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>()); WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>());
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); OpenApiInfo realOpenApiInfo = ProgramUtils.CreateOpenApiInfo(realAppSettings);
var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title && var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title &&
@@ -73,7 +73,7 @@ public class ProgramUtils_Tests
}; };
WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>()); WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>());
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); OpenApiInfo realOpenApiInfo = ProgramUtils.CreateOpenApiInfo(realAppSettings);
var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title && var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title &&
@@ -189,7 +189,7 @@ public class ProgramUtils_Tests
}; };
WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>()); WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>());
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); OpenApiInfo realOpenApiInfo = ProgramUtils.CreateOpenApiInfo(appSettings);
var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title && var areEquals = expectedOpenApiInfo.Title == realOpenApiInfo.Title &&
@@ -214,7 +214,7 @@ public class ProgramUtils_Tests
try try
{ {
WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>()); WebApplicationBuilder builder = WebApplication.CreateBuilder(Array.Empty<string>());
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); ProgramUtils.AddOpenApi(ref builder, appSettings);
AppSettings _appSettings = new AppSettings(); AppSettings _appSettings = new AppSettings();
builder.Configuration.GetSection("AppSettings").Bind(_appSettings); builder.Configuration.GetSection("AppSettings").Bind(_appSettings);

View File

@@ -8,10 +8,7 @@ namespace BasicDotnetTemplate.MainProject.Controllers
{ {
public VersionController( public VersionController(
IConfiguration configuration IConfiguration configuration
) : base(configuration) ) : base(configuration) { }
{
}
[HttpGet("get")] [HttpGet("get")]
public IActionResult GetVersion() public IActionResult GetVersion()