diff options
author | EuAndreh <eu@euandre.org> | 2024-09-12 19:35:49 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-09-12 19:35:49 -0300 |
commit | af90ef6971a64003572120e1bc7972004b601053 (patch) | |
tree | 3cfcd1f81acdfd045ba989ec850b1c5d260581e0 /tests | |
parent | src/golite.go: Re-introduce {commit,rollback,update}HookTrampoline CFFI funct... (diff) | |
download | golite-af90ef6971a64003572120e1bc7972004b601053.tar.gz golite-af90ef6971a64003572120e1bc7972004b601053.tar.xz |
tests/golite.go: Remove auth-related code and tests
Diffstat (limited to 'tests')
-rw-r--r-- | tests/golite.go | 171 |
1 files changed, 1 insertions, 170 deletions
diff --git a/tests/golite.go b/tests/golite.go index 04c4f09..7eddd58 100644 --- a/tests/golite.go +++ b/tests/golite.go @@ -1837,134 +1837,6 @@ func TestUnlockNotifyDeadlock(t *testing.T) { wg.Wait() } -var ( - conn *SQLiteConn - create func(t *testing.T, username, password string) (file string, err error) - createWithCrypt func(t *testing.T, username, password, crypt, salt string) (file string, err error) - connect func(t *testing.T, f string, username, password string) (file string, db *sql.DB, c *SQLiteConn, err error) - connectWithCrypt func(t *testing.T, f string, username, password string, crypt string, salt string) (file string, db *sql.DB, c *SQLiteConn, err error) - authEnabled func(db *sql.DB) (exists bool, err error) - addUser func(db *sql.DB, username, password string, admin int) (rv int, err error) - userExists func(db *sql.DB, username string) (rv int, err error) - isAdmin func(db *sql.DB, username string) (rv bool, err error) - modifyUser func(db *sql.DB, username, password string, admin int) (rv int, err error) - deleteUser func(db *sql.DB, username string) (rv int, err error) -) - -func init() { - // Create database connection - sql.Register("sqlite3_with_conn", - &SQLiteDriver{ - ConnectHook: func(c *SQLiteConn) error { - conn = c - return nil - }, - }) - - create = func(t *testing.T, username, password string) (file string, err error) { - var db *sql.DB - file, db, _, err = connect(t, "", username, password) - db.Close() - return - } - - createWithCrypt = func(t *testing.T, username, password, crypt, salt string) (file string, err error) { - var db *sql.DB - file, db, _, err = connectWithCrypt(t, "", "admin", "admin", crypt, salt) - db.Close() - return - } - - connect = func(t *testing.T, f string, username, password string) (file string, db *sql.DB, c *SQLiteConn, err error) { - conn = nil // Clear connection - file = f // Copy provided file (f) => file - if file == "" { - // Create dummy file - file = TempFilename(t) - } - - params := "?_auth" - if len(username) > 0 { - params = fmt.Sprintf("%s&_auth_user=%s", params, username) - } - if len(password) > 0 { - params = fmt.Sprintf("%s&_auth_pass=%s", params, password) - } - db, err = sql.Open("sqlite3_with_conn", "file:"+file+params) - if err != nil { - defer os.Remove(file) - return file, nil, nil, err - } - - // Dummy query to force connection and database creation - // Will return ErrUnauthorized (SQLITE_AUTH) if user authentication fails - if _, err = db.Exec("SELECT 1;"); err != nil { - defer os.Remove(file) - defer db.Close() - return file, nil, nil, err - } - c = conn - - return - } - - connectWithCrypt = func(t *testing.T, f string, username, password string, crypt string, salt string) (file string, db *sql.DB, c *SQLiteConn, err error) { - conn = nil // Clear connection - file = f // Copy provided file (f) => file - if file == "" { - // Create dummy file - file = TempFilename(t) - } - - db, err = sql.Open("sqlite3_with_conn", "file:"+file+fmt.Sprintf("?_auth&_auth_user=%s&_auth_pass=%s&_auth_crypt=%s&_auth_salt=%s", username, password, crypt, salt)) - if err != nil { - defer os.Remove(file) - return file, nil, nil, err - } - - // Dummy query to force connection and database creation - // Will return ErrUnauthorized (SQLITE_AUTH) if user authentication fails - if _, err = db.Exec("SELECT 1;"); err != nil { - defer os.Remove(file) - defer db.Close() - return file, nil, nil, err - } - c = conn - - return - } - - authEnabled = func(db *sql.DB) (exists bool, err error) { - err = db.QueryRow("select count(type) from sqlite_master WHERE type='table' and name='sqlite_user';").Scan(&exists) - return - } - - addUser = func(db *sql.DB, username, password string, admin int) (rv int, err error) { - err = db.QueryRow("select auth_user_add(?, ?, ?);", username, password, admin).Scan(&rv) - return - } - - userExists = func(db *sql.DB, username string) (rv int, err error) { - err = db.QueryRow("select count(uname) from sqlite_user where uname=?", username).Scan(&rv) - return - } - - isAdmin = func(db *sql.DB, username string) (rv bool, err error) { - err = db.QueryRow("select isAdmin from sqlite_user where uname=?", username).Scan(&rv) - return - } - - modifyUser = func(db *sql.DB, username, password string, admin int) (rv int, err error) { - err = db.QueryRow("select auth_user_change(?, ?, ?);", username, password, admin).Scan(&rv) - return - } - - deleteUser = func(db *sql.DB, username string) (rv int, err error) { - err = db.QueryRow("select auth_user_delete(?);", username).Scan(&rv) - return - } -} - type testModule struct { t *testing.T intarray []int @@ -4242,48 +4114,7 @@ func TestUpdateAndTransactionHooks(t *testing.T) { "rollback", } if !reflect.DeepEqual(events, expected) { - t.Errorf("Expected notifications %v but got %v", expected, events) - } -} - -func TestAuthorizer(t *testing.T) { - var authorizerReturn = 0 - - sql.Register("sqlite3_Authorizer", &SQLiteDriver{ - ConnectHook: func(conn *SQLiteConn) error { - conn.RegisterAuthorizer(func(op int, arg1, arg2, arg3 string) int { - return authorizerReturn - }) - return nil - }, - }) - db, err := sql.Open("sqlite3_Authorizer", ":memory:") - if err != nil { - t.Fatal("Failed to open database:", err) - } - defer db.Close() - - statements := []string{ - "create table foo (id integer primary key, name varchar)", - "insert into foo values (9, 'test9')", - "update foo set name = 'test99' where id = 9", - "select * from foo", - } - - authorizerReturn = SQLITE_OK - for _, statement := range statements { - _, err = db.Exec(statement) - if err != nil { - t.Fatalf("No error expected [%v]: %v", statement, err) - } - } - - authorizerReturn = SQLITE_DENY - for _, statement := range statements { - _, err = db.Exec(statement) - if err == nil { - t.Fatalf("Authorizer didn't worked - nil received, but error expected: [%v]", statement) - } + t.Errorf("Expected notifications: %#v\nbut got: %#v\n", expected, events) } } |