Example #1
0
        public async Task can_handle_duplicate_columns_in_query_results()
        {
            using var kernel = new CompositeKernel
                  {
                      new CSharpKernel().UseNugetDirective(),
                      new KeyValueStoreKernel()
                  };

            var extension = new SQLiteKernelExtension();

            await extension.OnLoadAsync(kernel);

            using var _ = SqlLiteConnectionTests.CreateInMemorySQLiteDb(out var connectionString);

            await kernel.SubmitCodeAsync(
                $"#!connect --kernel-name mydb sqlite \"{connectionString}\"");

            var result = await kernel.SubmitCodeAsync(@"
#!mydb
SELECT 1 AS Apples, 2 AS Bananas, 3 AS Apples, 4 AS BANANAS, 5 AS Apples, 6 AS BaNaNaS
");

            var events = result.KernelEvents.ToSubscribedList();

            var formattedData = events
                                .OfType <DisplayedValueProduced>()
                                .Single()
                                .FormattedValues
                                .Single(fm => fm.MimeType == HtmlFormatter.MimeType)
                                .Value;

            this.Assent(formattedData, _configuration);
        }
Example #2
0
        public async Task can_generate_tabular_json_from_database_table_result()
        {
            using var kernel = new CompositeKernel
                  {
                      new CSharpKernel().UseNugetDirective(),
                      new KeyValueStoreKernel()
                  };

            var extension = new SQLiteKernelExtension();

            await extension.OnLoadAsync(kernel);

            using var _ = SqlLiteConnectionTests.CreateInMemorySQLiteDb(out var connectionString);

            await kernel.SubmitCodeAsync(
                $"#!connect --kernel-name mydb sqlite \"{connectionString}\"");

            var result = await kernel.SubmitCodeAsync(@"
#!mydb
SELECT * FROM fruit
");

            var events = result.KernelEvents.ToSubscribedList();

            var formattedData = events.OfType <DisplayedValueProduced>().Single()
                                .FormattedValues.Single(fm => fm.MimeType == HtmlFormatter.MimeType)
                                .Value;

            this.Assent(formattedData, _configuration);
        }