示例#1
0
        public void TestGetColumnInfoFromMeta()
        {
            String path = Environment.CurrentDirectory + string.Format("{0}Resources{0}test.db", Path.DirectorySeparatorChar);
            SqliteConnectionStringBuilder constrBuilder = new SqliteConnectionStringBuilder();

            constrBuilder.DataSource = path;
            IDbServerConnection serverCon = new SqliteDbServerConnection("test.db", constrBuilder.ConnectionString);

            var con = serverCon.CreateConnection();

            List <ColumnInfo> colInfos;

            try {
                con.Open();
                using (IDbCommand cmd = con.CreateCommand()) {
                    cmd.CommandText = "select * from testtable";
                    using (var reader = cmd.ExecuteReader()) {
                        colInfos = serverCon.GetColumnInfosFromMeta(reader.GetSchemaTable());
                    }
                }
            } finally {
                if (con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }

            Assert.Greater(colInfos.Count, 1);
        }
示例#2
0
        public void TestSqliteStatePersistanceProvider()
        {
            IDbServerConnection            session = new SqliteDbServerConnection("testdb", "someconnectionstring");
            SqliteStatePersistanceProvider prov    = new SqliteStatePersistanceProvider();

            SqliteConnectionStringBuilder conStrBuilder = new SqliteConnectionStringBuilder();

            conStrBuilder.DataSource = ":memory:";



            using (SqliteConnection con = new SqliteConnection(conStrBuilder.ConnectionString)) {
                con.Open();

                // Start calling RestoreSessions method even though no session is saved. This triggers the initialization logic
                // in the SqliteStatePersistanceProvider.
                var providersShouldBeEmpty = prov.RestoreSessions(con);
                Assert.AreEqual(0, providersShouldBeEmpty.Length);

                // Save session
                prov.SaveSessions(new IDbServerConnection[] { session }, con);

                // restore saved session
                IDbServerConnection[] restoredSessions = prov.RestoreSessions(con);

                Assert.AreEqual(1, restoredSessions.Length);
                Assert.AreEqual(session, restoredSessions [0]);
            }
        }
示例#3
0
        public void TestSqliteSessionStateProvider()
        {
            SqliteConnectionStringBuilder conStrBuilder        = new SqliteConnectionStringBuilder();
            SqliteDbServerConnection      serverCon            = new SqliteDbServerConnection("test", conStrBuilder.ConnectionString);
            ISessionStateProvider         sessionStateProvider = new SqliteSessionStateProvider(serverCon);

            String state = sessionStateProvider.getSerializedState();

            IDbServerConnection restoredCon = sessionStateProvider.restoreSessionFromState(state);

            Assert.AreEqual(restoredCon, serverCon);
        }
 public SqliteSessionStateProvider(SqliteDbServerConnection session)
 {
     this.session = session;
 }