public void GetIcon_StateUnderTest_ExpectedBehavior(string fileName) { MemoryStreamIconGenerator.GenerateIcons(_iconData, Path.GetTempPath(), _mockLogger.Object); var result = MemoryStreamIconGenerator.GetIcon(fileName); Assert.IsNotNull(result); }
public void GenerateIcons_StateUnderTest_ExpectedBehavior() { Assert.DoesNotThrow(() => { MemoryStreamIconGenerator.GenerateIcons(_iconData, Path.GetTempPath(), _mockLogger.Object); }); }
public void GenerateIcons_StateUnderTest_ExpectedBehavior() { Assert.DoesNotThrow(() => { MemoryStreamIconGenerator.GenerateIcons(_iconData, _mockWebHostEnvironment.Object, _mockLogger.Object); }); }
public static async Task InitStartUp(this WebApplication app) { using var scope = app.Services.CreateScope(); var services = scope.ServiceProvider; var env = services.GetRequiredService <IWebHostEnvironment>(); var dbConnection = services.GetRequiredService <IDbConnection>(); var setupHelper = new SetupRunner(dbConnection); try { if (!setupHelper.TestDatabaseConnection()) { return; } } catch (Exception e) { app.Logger.LogCritical(e, e.Message); return; } if (setupHelper.IsFirstRun()) { try { app.Logger.LogInformation("Initializing first run configuration..."); setupHelper.InitFirstRun(); app.Logger.LogInformation("Database setup successfully."); } catch (Exception e) { app.Logger.LogCritical(e, e.Message); } } try { var mediator = services.GetRequiredService <IMediator>(); var iconData = await mediator.Send(new GetAssetDataQuery(AssetId.SiteIconBase64)); MemoryStreamIconGenerator.GenerateIcons(iconData, env.WebRootPath, app.Logger); } catch (Exception e) { // Non critical error, just log, do not block application start app.Logger.LogError(e, e.Message); } }
public IActionResult SiteIcon(string filename) { var iconBytes = MemoryStreamIconGenerator.GetIcon(filename); if (iconBytes is null) { return(NotFound()); } var contentType = "image/png"; var ext = Path.GetExtension(filename); contentType = ext switch { ".png" => "image/png", ".ico" => "image/x-icon", _ => contentType }; return(File(iconBytes, contentType)); }