lib.InjectContext with DB
parent
fbaaa1303f
commit
6b6f47035a
|
|
@ -0,0 +1,15 @@
|
||||||
|
package lib
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"database/sql"
|
||||||
|
)
|
||||||
|
|
||||||
|
func InjectDB(ctx context.Context, db *sql.DB) context.Context {
|
||||||
|
return context.WithValue(ctx, "__db__", db)
|
||||||
|
}
|
||||||
|
|
||||||
|
func ExtractDB(ctx context.Context) *sql.DB {
|
||||||
|
v, _ := ctx.Value("__db__").(*sql.DB)
|
||||||
|
return v
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package lib_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"database/sql"
|
||||||
|
"gitea/price-is-wrong/src/lib"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestInjectDB(t *testing.T) {
|
||||||
|
ctx := context.Background()
|
||||||
|
db := &sql.DB{}
|
||||||
|
|
||||||
|
injected := lib.InjectDB(ctx, db)
|
||||||
|
extracted := lib.ExtractDB(injected)
|
||||||
|
|
||||||
|
if db != extracted {
|
||||||
|
t.Fatal("couldnt extract injected db")
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue