source: code/trunk/db_sqlite_test.go@ 821

Last change on this file since 821 was 818, checked in by yakumo.izuru, 2 years ago

Do some tidying

Signed-off-by: Izuru Yakumo <yakumo.izuru@…>

File size: 1.2 KB
Line 
1package suika
2
3import (
4 "database/sql"
5 "testing"
6)
7
8// SQLite version 0 schema. DO NOT EDIT.
9const sqliteV0Schema = `
10CREATE TABLE User (
11 username VARCHAR(255) NOT NULL UNIQUE,
12 password VARCHAR(255)
13);
14
15CREATE TABLE Network (
16 id INTEGER PRIMARY KEY,
17 name VARCHAR(255),
18 user VARCHAR(255) NOT NULL,
19 addr VARCHAR(255) NOT NULL,
20 nick VARCHAR(255) NOT NULL,
21 username VARCHAR(255),
22 realname VARCHAR(255),
23 pass VARCHAR(255),
24 sasl_mechanism VARCHAR(255),
25 sasl_plain_username VARCHAR(255),
26 sasl_plain_password VARCHAR(255),
27 UNIQUE(user, addr, nick),
28 UNIQUE(user, name)
29);
30
31CREATE TABLE Channel (
32 id INTEGER PRIMARY KEY,
33 network INTEGER NOT NULL,
34 name VARCHAR(255) NOT NULL,
35 key VARCHAR(255),
36 FOREIGN KEY(network) REFERENCES Network(id),
37 UNIQUE(network, name)
38);
39
40PRAGMA user_version = 1;
41`
42
43func TestSqliteMigrations(t *testing.T) {
44 sqlDB, err := sql.Open("sqlite", ":memory:")
45 if err != nil {
46 t.Fatalf("failed to create temporary SQLite database: %v", err)
47 }
48
49 if _, err := sqlDB.Exec(sqliteV0Schema); err != nil {
50 t.Fatalf("DB.Exec() failed for v0 schema: %v", err)
51 }
52
53 db := &SqliteDB{db: sqlDB}
54 defer db.Close()
55
56 if err := db.upgrade(); err != nil {
57 t.Fatalf("SqliteDB.Upgrade() failed: %v", err)
58 }
59}
Note: See TracBrowser for help on using the repository browser.