summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--deps.mk26
-rw-r--r--src/cracha.go (renamed from src/gracha.go)20
-rw-r--r--src/main.go4
-rw-r--r--tests/benchmarks/register-login/cracha.go23
-rw-r--r--tests/benchmarks/register-login/gracha.go9
-rw-r--r--tests/cracha.go (renamed from tests/gracha.go)2
-rw-r--r--tests/functional/register-twice/cracha.go12
-rw-r--r--tests/functional/register-twice/gracha.go9
-rw-r--r--tests/fuzz/api/cracha.go (renamed from tests/fuzz/api/gracha.go)2
-rw-r--r--tests/main.go4
-rw-r--r--tests/queries.sql92
12 files changed, 111 insertions, 94 deletions
diff --git a/Makefile b/Makefile
index 1bc298f..618d32a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
.POSIX:
DATE = 1970-01-01
VERSION = 0.1.0
-NAME = gracha
+NAME = cracha
NAME_UC = $(NAME)
LANGUAGES = en
## Installation prefix. Defaults to "/usr".
diff --git a/deps.mk b/deps.mk
index a9d0fa7..6b45dfd 100644
--- a/deps.mk
+++ b/deps.mk
@@ -1,9 +1,9 @@
libs.go = \
- src/gracha.go \
- tests/benchmarks/register-login/gracha.go \
- tests/functional/register-twice/gracha.go \
- tests/fuzz/api/gracha.go \
- tests/gracha.go \
+ src/cracha.go \
+ tests/benchmarks/register-login/cracha.go \
+ tests/cracha.go \
+ tests/functional/register-twice/cracha.go \
+ tests/fuzz/api/cracha.go \
mains.go = \
src/main.go \
@@ -13,32 +13,32 @@ mains.go = \
tests/main.go \
functional-tests/libs.go = \
- tests/functional/register-twice/gracha.go \
+ tests/functional/register-twice/cracha.go \
functional-tests/main.go = \
tests/functional/register-twice/main.go \
fuzz-targets/lib.go = \
- tests/fuzz/api/gracha.go \
+ tests/fuzz/api/cracha.go \
fuzz-targets/main.go = \
tests/fuzz/api/main.go \
benchmarks/lib.go = \
- tests/benchmarks/register-login/gracha.go \
+ tests/benchmarks/register-login/cracha.go \
benchmarks/main.go = \
tests/benchmarks/register-login/main.go \
-src/gracha.a: src/gracha.go
+src/cracha.a: src/cracha.go
src/main.a: src/main.go
-tests/benchmarks/register-login/gracha.a: tests/benchmarks/register-login/gracha.go
+tests/benchmarks/register-login/cracha.a: tests/benchmarks/register-login/cracha.go
tests/benchmarks/register-login/main.a: tests/benchmarks/register-login/main.go
-tests/functional/register-twice/gracha.a: tests/functional/register-twice/gracha.go
+tests/cracha.a: tests/cracha.go
+tests/functional/register-twice/cracha.a: tests/functional/register-twice/cracha.go
tests/functional/register-twice/main.a: tests/functional/register-twice/main.go
-tests/fuzz/api/gracha.a: tests/fuzz/api/gracha.go
+tests/fuzz/api/cracha.a: tests/fuzz/api/cracha.go
tests/fuzz/api/main.a: tests/fuzz/api/main.go
-tests/gracha.a: tests/gracha.go
tests/main.a: tests/main.go
src/main.bin: src/main.a
tests/benchmarks/register-login/main.bin: tests/benchmarks/register-login/main.a
diff --git a/src/gracha.go b/src/cracha.go
index 471f7e7..5547d6e 100644
--- a/src/gracha.go
+++ b/src/cracha.go
@@ -1,4 +1,4 @@
-package gracha
+package cracha
import (
"context"
@@ -22,7 +22,7 @@ import (
const (
- defaultPrefix = "gracha"
+ defaultPrefix = "cracha"
rollbackErrorFmt = "rollback error: %w; while executing: %w"
NEW_USER = "new-user"
@@ -36,14 +36,14 @@ var (
SessionDuration = 7 * day
RegisterTimeout = 15 * time.Second
- ErrPassMismatch = errors.New("gracha: password confirmation mismatch")
- ErrTooShort = errors.New("gracha: password too short")
- ErrTimeout = errors.New("gracha: timeout when creating user")
- ErrRegistered = errors.New("gracha: user already registered")
- ErrBadCombo = errors.New("gracha: bad username/passphrase combo")
- ErrUnconfirmed = errors.New("gracha: email is not confirmed")
- ErrRevokedSession = errors.New("gracha: this session was revoked")
- ErrSessionExpired = errors.New("gracha: session expired")
+ ErrPassMismatch = errors.New("cracha: password confirmation mismatch")
+ ErrTooShort = errors.New("cracha: password too short")
+ ErrTimeout = errors.New("cracha: timeout when creating user")
+ ErrRegistered = errors.New("cracha: user already registered")
+ ErrBadCombo = errors.New("cracha: bad username/passphrase combo")
+ ErrUnconfirmed = errors.New("cracha: email is not confirmed")
+ ErrRevokedSession = errors.New("cracha: this session was revoked")
+ ErrSessionExpired = errors.New("cracha: session expired")
)
diff --git a/src/main.go b/src/main.go
index 1e624ba..00df38d 100644
--- a/src/main.go
+++ b/src/main.go
@@ -1,7 +1,7 @@
package main
-import "gracha"
+import "cracha"
func main() {
- gracha.Main()
+ cracha.Main()
}
diff --git a/tests/benchmarks/register-login/cracha.go b/tests/benchmarks/register-login/cracha.go
new file mode 100644
index 0000000..55f8166
--- /dev/null
+++ b/tests/benchmarks/register-login/cracha.go
@@ -0,0 +1,23 @@
+package cracha
+
+import (
+ "flag"
+ "time"
+)
+
+
+
+var nFlag = flag.Int(
+ "n",
+ 1_000,
+ "The number of iterations to execute",
+)
+
+func MainTest() {
+ flag.Parse()
+ n := *nFlag
+
+ for i := 0; i < n; i++ {
+ time.Sleep(time.Millisecond * 1)
+ }
+}
diff --git a/tests/benchmarks/register-login/gracha.go b/tests/benchmarks/register-login/gracha.go
deleted file mode 100644
index f363b6b..0000000
--- a/tests/benchmarks/register-login/gracha.go
+++ /dev/null
@@ -1,9 +0,0 @@
-package gracha
-
-import (
-)
-
-
-
-func MainTest() {
-}
diff --git a/tests/gracha.go b/tests/cracha.go
index 6991e56..905733c 100644
--- a/tests/gracha.go
+++ b/tests/cracha.go
@@ -1,4 +1,4 @@
-package gracha
+package cracha
import (
"database/sql"
diff --git a/tests/functional/register-twice/cracha.go b/tests/functional/register-twice/cracha.go
new file mode 100644
index 0000000..0885c9d
--- /dev/null
+++ b/tests/functional/register-twice/cracha.go
@@ -0,0 +1,12 @@
+package cracha
+
+import (
+ g "gobang"
+)
+
+
+
+func MainTest() {
+ g.Testing("with adjusted emails, one can register twice", func() {
+ })
+}
diff --git a/tests/functional/register-twice/gracha.go b/tests/functional/register-twice/gracha.go
deleted file mode 100644
index f363b6b..0000000
--- a/tests/functional/register-twice/gracha.go
+++ /dev/null
@@ -1,9 +0,0 @@
-package gracha
-
-import (
-)
-
-
-
-func MainTest() {
-}
diff --git a/tests/fuzz/api/gracha.go b/tests/fuzz/api/cracha.go
index 6f2981a..8775cd3 100644
--- a/tests/fuzz/api/gracha.go
+++ b/tests/fuzz/api/cracha.go
@@ -1,4 +1,4 @@
-package gracha
+package cracha
import (
"os"
diff --git a/tests/main.go b/tests/main.go
index e22c061..4982a6d 100644
--- a/tests/main.go
+++ b/tests/main.go
@@ -1,7 +1,7 @@
package main
-import "gracha"
+import "cracha"
func main() {
- gracha.MainTest()
+ cracha.MainTest()
}
diff --git a/tests/queries.sql b/tests/queries.sql
index 7e20ae9..6e68db1 100644
--- a/tests/queries.sql
+++ b/tests/queries.sql
@@ -1,7 +1,7 @@
-- createTables.sql:
-- write:
- CREATE TABLE IF NOT EXISTS "gracha_users" (
+ CREATE TABLE IF NOT EXISTS "cracha_users" (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
uuid BLOB NOT NULL UNIQUE,
@@ -9,65 +9,65 @@
salt BLOB NOT NULL UNIQUE,
pwhash BLOB NOT NULL
);
- CREATE TABLE IF NOT EXISTS "gracha_confirmation_attempts" (
+ CREATE TABLE IF NOT EXISTS "cracha_confirmation_attempts" (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
-- uuid BLOB NOT NULL UNIQUE,
- user_id INTEGER NOT NULL REFERENCES "gracha_users"(id),
+ user_id INTEGER NOT NULL REFERENCES "cracha_users"(id),
token TEXT NOT NULL UNIQUE
);
- CREATE TABLE IF NOT EXISTS "gracha_user_confirmations" (
+ CREATE TABLE IF NOT EXISTS "cracha_user_confirmations" (
id INTEGER PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
user_id INTEGER NOT NULL
- REFERENCES "gracha_users"(id) UNIQUE,
+ REFERENCES "cracha_users"(id) UNIQUE,
attempt_id INTEGER NOT NULL
- REFERENCES "gracha_confirmation_attempts"(id) UNIQUE
+ REFERENCES "cracha_confirmation_attempts"(id) UNIQUE
);
- CREATE TABLE IF NOT EXISTS "gracha_user_changes" (
+ CREATE TABLE IF NOT EXISTS "cracha_user_changes" (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
- user_id INTEGER NOT NULL REFERENCES "gracha_users"(id),
+ user_id INTEGER NOT NULL REFERENCES "cracha_users"(id),
attribute TEXT NOT NULL,
value TEXT NOT NULL,
op BOOLEAN NOT NULL
);
- -- CREATE TABLE IF NOT EXISTS "gracha_tokens" (
+ -- CREATE TABLE IF NOT EXISTS "cracha_tokens" (
-- id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
-- timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
-- uuid BLOB NOT NULL UNIQUE,
-- type TEXT NOT NULL
-- );
- CREATE TABLE IF NOT EXISTS "gracha_roles" (
+ CREATE TABLE IF NOT EXISTS "cracha_roles" (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
- user_id INTEGER NOT NULL REFERENCES "gracha_users"(id),
+ user_id INTEGER NOT NULL REFERENCES "cracha_users"(id),
role TEXT NOT NULL,
UNIQUE (user_id, role)
);
- CREATE TABLE IF NOT EXISTS "gracha_role_changes" (
+ CREATE TABLE IF NOT EXISTS "cracha_role_changes" (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
- user_id INTEGER NOT NULL REFERENCES "gracha_roles"(id),
+ user_id INTEGER NOT NULL REFERENCES "cracha_roles"(id),
role TEXT NOT NULL,
op BOOLEAN NOT NULL
);
- CREATE TABLE IF NOT EXISTS "gracha_sessions" (
+ CREATE TABLE IF NOT EXISTS "cracha_sessions" (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
uuid BLOB NOT NULL UNIQUE,
- user_id INTEGER NOT NULL REFERENCES "gracha_users"(id)
+ user_id INTEGER NOT NULL REFERENCES "cracha_users"(id)
-- type TEXT NOT NULL,
-- revoked_at TEXT,
- -- revoker_id INTEGER REFERENCES "gracha_users"(id),
+ -- revoker_id INTEGER REFERENCES "cracha_users"(id),
-- FIXME: add provenance: login, refresh, confirmation, etc.
);
- CREATE TABLE IF NOT EXISTS "gracha_attempts" (
+ CREATE TABLE IF NOT EXISTS "cracha_attempts" (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
- user_id INTEGER REFERENCES "gracha_users"(id),
- session_id INTEGER REFERENCES "gracha_sessions"(id)
+ user_id INTEGER REFERENCES "cracha_users"(id),
+ session_id INTEGER REFERENCES "cracha_sessions"(id)
);
- CREATE TABLE IF NOT EXISTS "gracha_audit" (
+ CREATE TABLE IF NOT EXISTS "cracha_audit" (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%f000000Z', 'now')),
uuid BLOB NOT NULL UNIQUE,
@@ -85,34 +85,34 @@
-- read:
SELECT id, timestamp, uuid, salt, pwhash, (
CASE WHEN EXISTS (
- SELECT id FROM "gracha_user_confirmations"
+ SELECT id FROM "cracha_user_confirmations"
WHERE user_id = (
- SELECT id FROM "gracha_users"
+ SELECT id FROM "cracha_users"
WHERE email = ?
)
) THEN 1
ELSE 0
END
) as confirmed
- FROM "gracha_users" WHERE email = ?;
+ FROM "cracha_users" WHERE email = ?;
-- register.sql:
-- write:
- INSERT INTO "gracha_users" (uuid, email, salt, pwhash)
+ INSERT INTO "cracha_users" (uuid, email, salt, pwhash)
VALUES (?, ?, ?, ?) RETURNING id, timestamp;
-- read:
- SELECT id, timestamp from "gracha_users"
+ SELECT id, timestamp from "cracha_users"
WHERE uuid = ?;
-- sendToken.sql:
-- write:
- INSERT INTO "gracha_confirmation_attempts" (user_id, token)
+ INSERT INTO "cracha_confirmation_attempts" (user_id, token)
VALUES (
- (SELECT id FROM "gracha_users" WHERE uuid = ?),
+ (SELECT id FROM "cracha_users" WHERE uuid = ?),
?
)
@@ -121,18 +121,18 @@
-- confirm.sql:
-- write:
- INSERT INTO "gracha_user_confirmations" (user_id, attempt_id)
+ INSERT INTO "cracha_user_confirmations" (user_id, attempt_id)
VALUES (?, ?);
-- read:
SELECT
- "gracha_confirmation_attempts".id,
- "gracha_confirmation_attempts".user_id,
- "gracha_users".uuid
- FROM "gracha_confirmation_attempts"
- JOIN "gracha_users" ON
- "gracha_confirmation_attempts".user_id = "gracha_users".id
+ "cracha_confirmation_attempts".id,
+ "cracha_confirmation_attempts".user_id,
+ "cracha_users".uuid
+ FROM "cracha_confirmation_attempts"
+ JOIN "cracha_users" ON
+ "cracha_confirmation_attempts".user_id = "cracha_users".id
WHERE token = ?;
@@ -143,15 +143,15 @@
-- refresh.sql:
-- write:
- INSERT INTO "gracha_sessions" (uuid, user_id)
+ INSERT INTO "cracha_sessions" (uuid, user_id)
VALUES (
?,
- (SELECT user_id FROM "gracha_sessions" WHERE uuid = ?)
+ (SELECT user_id FROM "cracha_sessions" WHERE uuid = ?)
) RETURNING id, timestamp, (
- SELECT "gracha_users".uuid FROM "gracha_users"
- JOIN "gracha_sessions" ON
- "gracha_users".id = "gracha_sessions".user_id
- WHERE "gracha_sessions".uuid = ?
+ SELECT "cracha_users".uuid FROM "cracha_users"
+ JOIN "cracha_sessions" ON
+ "cracha_users".id = "cracha_sessions".user_id
+ WHERE "cracha_sessions".uuid = ?
) AS userID;
@@ -159,14 +159,14 @@
-- reset.sql:
-- write:
- -- INSERT SOMETHING gracha
+ -- INSERT SOMETHING cracha
-- read:
-- change.sql:
-- write:
- -- INSERT SOMETHING gracha
+ -- INSERT SOMETHING cracha
-- read:
@@ -175,26 +175,26 @@
-- write:
-- read:
- -- INSERT SOMETHING gracha
+ -- INSERT SOMETHING cracha
-- logout.sql:
-- write:
- -- INSERT SOMETHING gracha
+ -- INSERT SOMETHING cracha
-- read:
-- outOthers.sql:
-- write:
- -- INSERT SOMETHING gracha
+ -- INSERT SOMETHING cracha
-- read:
-- outAll.sql:
-- write:
- -- INSERT SOMETHING gracha
+ -- INSERT SOMETHING cracha
-- read: