/
krasninja
/
querycat
Обзор
Документация
Войти
/
krasninja
/
querycat
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/QueryCat.IntegrationTests/Plugins/PluginsTests.cs
74 строки
2 KB
Ivan Kozhin
Decouple Commands module from Execution module
17 янв 2024, 14:35
17 янв 2024, 14:35
7f59e20
Код
Авторство
О чём код?
using Xunit; using QueryCat.Backend; using QueryCat.Backend.Core.Execution; using QueryCat.Backend.Core.Functions; using QueryCat.Tests.QueryRunner; namespace QueryCat.IntegrationTests.Plugins; /// <summary> /// Tests for plugins. /// </summary> public sealed class PluginsTests : IDisposable { private readonly IExecutionThread<ExecutionOptions> _testThread; public PluginsTests() { _testThread = TestThread.CreateBootstrapper() .Create(); } [Fact] public void SamplePluginRowsInput_CreateAndRun_ReturnsResult() { // Arrange. _testThread.FunctionsManager.RegisterFunction(SamplePluginRowsInput.SamplePlugin); // Act. _testThread.Run(@"SELECT * FROM plugin();"); var result = PrepareResult(TestThread.GetQueryResult(_testThread)); // Assert. Assert.Equal("123456789", result); } [Fact] public void SamplePluginRowsIterator_CreateAndRun_ReturnsResult() { // Arrange. _testThread.FunctionsManager.RegisterFunction(SamplePluginRowsIterator.SamplePlugin); // Act. _testThread.Run(@"SELECT * FROM plugin();"); var result = PrepareResult(TestThread.GetQueryResult(_testThread)); // Assert. Assert.Equal("123456789", result); } [Fact] public void SamplePluginEnumerableInput_CreateAndRun_ReturnsResult() { // Arrange. _testThread.FunctionsManager.RegisterFunction(SamplePluginInput.SamplePlugin); // Act. _testThread.Run(@"SELECT * FROM plugin();"); var result = PrepareResult(TestThread.GetQueryResult(_testThread)); // Assert. Assert.Equal("123456789", result); } private static string PrepareResult(string result) { return result.Replace("\n", string.Empty); } /// <inheritdoc /> public void Dispose() { _testThread.Dispose(); } }