Advertisement
mquinlan

SQLiteError

Oct 12th, 2024
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.96 KB | None | 0 0
  1. using Microsoft.Data.Sqlite;
  2.  
  3. namespace SQLiteError;
  4.  
  5. public class Tests
  6. {
  7.     [Test]
  8.     public async Task UrlConnectionStringTest()
  9.     {
  10.         const string connection = "Data Source=file:abc?mode=memory&cache=shared;";
  11.         await CreateDummyTable(connection);
  12.         _ = Assert.ThrowsAsync<SqliteException>(async () => await CreateDummyTable(connection));
  13.     }
  14.    
  15.     [Test]
  16.     public async Task DataSourceEqualsMemoryTest()
  17.     {
  18.         const string connection = "DataSource=:memory:; cache=shared;";
  19.         await CreateDummyTable(connection);
  20.         _ = Assert.ThrowsAsync<SqliteException>(async () => await CreateDummyTable(connection));
  21.     }
  22.    
  23.     [Test]
  24.     public async Task ConnectionStringBuilderTest()
  25.     {
  26.         var csb = new SqliteConnectionStringBuilder
  27.         {
  28.             DataSource = "file:abc",
  29.             Cache = SqliteCacheMode.Shared,
  30.             Mode = SqliteOpenMode.Memory
  31.         };
  32.         var connection = csb.ToString();
  33.         await CreateDummyTable(connection);
  34.         _ = Assert.ThrowsAsync<SqliteException>(async () => await CreateDummyTable(connection));
  35.     }
  36.    
  37.     [Test]
  38.     public async Task ConnectionStringBuilderNoDataSourceTest()
  39.     {
  40.         var csb = new SqliteConnectionStringBuilder
  41.         {
  42.             Cache = SqliteCacheMode.Shared,
  43.             Mode = SqliteOpenMode.Memory
  44.         };
  45.         var connection = csb.ToString();
  46.         await CreateDummyTable(connection);
  47.         _ = Assert.ThrowsAsync<SqliteException>(async () => await CreateDummyTable(connection));
  48.     }
  49.  
  50.     private static async Task CreateDummyTable(string conStr)
  51.     {
  52.         await using var connection = new SqliteConnection(conStr);
  53.         await connection.OpenAsync();
  54.         var command = connection.CreateCommand();
  55.         command.CommandText = "CREATE TABLE MyTable (MyColumn int);";
  56.         _ = await command.ExecuteNonQueryAsync();
  57.         await connection.CloseAsync();
  58.     }
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement