Changed Sqlite to microsoft sqlite implementation

This commit is contained in:
2025-01-28 13:36:49 +02:00
parent d26c84480a
commit 20165af15a
13 changed files with 227 additions and 34 deletions

45
SethCoreTests/ApiTests.cs Normal file
View File

@@ -0,0 +1,45 @@
using DiscordBotCore;
using DiscordBotCore.API.Endpoints.PluginManagement;
using DiscordBotCore.Online;
using DiscordBotCore.Plugin;
using Moq;
namespace SethCoreTests;
public class PluginInstallEndpointTests
{
private readonly Mock<IPluginManager> _mockPluginManager;
private readonly PluginInstallEndpoint _endpoint;
public PluginInstallEndpointTests()
{
_mockPluginManager = new Mock<IPluginManager>();
_endpoint = new PluginInstallEndpoint(_mockPluginManager.Object);
}
[Fact]
public async Task HandleRequest_SuccessfulPluginInstallation_ReturnsOk()
{
var pluginName = "TestPlugin";
var pluginInfo = new OnlinePlugin(1, pluginName, "Description", "1.0", "Author", "http://link", 1);
_mockPluginManager.Setup(pm => pm.GetPluginDataByName(pluginName)).ReturnsAsync(pluginInfo);
_mockPluginManager.Setup(pm => pm.InstallPluginNoProgress(pluginInfo)).Returns(Task.CompletedTask);
var jsonRequest = $"{{\"pluginName\":\"{pluginName}\"}}";
var response = await _endpoint.HandleRequest(jsonRequest);
Assert.True(response.Success);
}
[Fact]
public async Task HandleRequest_PluginNotFound_ReturnsFail()
{
var pluginName = "NonExistentPlugin";
_mockPluginManager.Setup(pm => pm.GetPluginDataByName(pluginName)).ReturnsAsync((OnlinePlugin?)null);
var jsonRequest = $"{{\"pluginName\":\"{pluginName}\"}}";
var response = await _endpoint.HandleRequest(jsonRequest);
Assert.False(response.Success);
}
}