aboutsummaryrefslogtreecommitdiff
path: root/sqlite3_opt_userauth_test.go
diff options
context:
space:
mode:
authorGert-Jan Timmer <gjr.timmer@gmail.com>2018-05-30 22:36:49 +0200
committerGert-Jan Timmer <gjr.timmer@gmail.com>2018-05-30 23:48:02 +0200
commit6ae7f98274c6e254f84a9b8349b4a4eed0bee8a5 (patch)
tree92ab43cb216949a96464f2e4fb7d881c721ec72d /sqlite3_opt_userauth_test.go
parentRewrite Upgrade Tool (diff)
downloadgolite-6ae7f98274c6e254f84a9b8349b4a4eed0bee8a5.tar.gz
golite-6ae7f98274c6e254f84a9b8349b4a4eed0bee8a5.tar.xz
ADD: User authentication
* User Authentication Implementation * Rename file to conform to fileformat `sqlite3_*_omit.go` * Updated sqlite3-binding.* with new upgrade tool * Add: callbackRetNil required for error type return because of adding `RegisterFunc`s directly on the connection. * Add: TestCreateAuthDatabase
Diffstat (limited to 'sqlite3_opt_userauth_test.go')
-rw-r--r--sqlite3_opt_userauth_test.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/sqlite3_opt_userauth_test.go b/sqlite3_opt_userauth_test.go
new file mode 100644
index 0000000..e1bf538
--- /dev/null
+++ b/sqlite3_opt_userauth_test.go
@@ -0,0 +1,39 @@
+// Copyright (C) 2018 G.J.R. Timmer <gjr.timmer@gmail.com>.
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+
+// +build sqlite_userauth
+
+package sqlite3
+
+import (
+ "database/sql"
+ "fmt"
+ "testing"
+)
+
+func TestCreateAuthDatabase(t *testing.T) {
+ tempFilename := TempFilename(t)
+ fmt.Println(tempFilename) // debug
+ //defer os.Remove(tempFilename) // Disable for debug
+
+ db, err := sql.Open("sqlite3", "file:"+tempFilename+"?_auth&_auth_user=admin&_auth_pass=admin")
+ if err != nil {
+ t.Fatal("Failed to open database:", err)
+ }
+ defer db.Close()
+
+ var i int64
+ err = db.QueryRow("SELECT count(type) FROM sqlite_master WHERE type='table' AND name='sqlite_user';").Scan(&i)
+ if err != nil {
+ t.Fatal(err)
+ }
+ t.Logf("sqlite_user exists: %d", i)
+
+ _, err = db.Exec("SELECT auth_user_add('test', 'test', false);", nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+}