Initial test for CreateUser
parent
1208c705f8
commit
54fc06e388
2
.env
2
.env
|
@ -1,2 +1,2 @@
|
||||||
LISTEN=:8080
|
LISTEN=:8080
|
||||||
POSTGRES=postgresql://root@localhost:26257/core?sslmode=disable
|
POSTGRES=postgresql://root@localhost:5432/core?sslmode=disable
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
pg:
|
||||||
|
image: postgres
|
||||||
|
environment:
|
||||||
|
- POSTGRES_USER=root
|
||||||
|
- POSTGRES_PASSWORD=
|
||||||
|
- POSTGRES_DB=core
|
||||||
|
volumes:
|
||||||
|
- ./postgres:/docker-entrypoint-initdb.d:ro
|
||||||
|
ports:
|
||||||
|
- 5432:5432
|
7
main.go
7
main.go
|
@ -13,12 +13,16 @@ import (
|
||||||
var listen string
|
var listen string
|
||||||
var postgres string
|
var postgres string
|
||||||
|
|
||||||
func main() {
|
func init() {
|
||||||
// Load .env
|
// Load .env
|
||||||
err := godotenv.Load()
|
err := godotenv.Load()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal("Error loading .env file")
|
log.Fatal("Error loading .env file")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
listen = os.Getenv("LISTEN")
|
||||||
|
|
||||||
// Database
|
// Database
|
||||||
db := connect()
|
db := connect()
|
||||||
|
@ -27,7 +31,6 @@ func main() {
|
||||||
// Routes
|
// Routes
|
||||||
router := NewRouter(h)
|
router := NewRouter(h)
|
||||||
|
|
||||||
listen = os.Getenv("LISTEN")
|
|
||||||
log.Printf("starting server on %s", listen)
|
log.Printf("starting server on %s", listen)
|
||||||
log.Fatal(http.ListenAndServe(listen, router))
|
log.Fatal(http.ListenAndServe(listen, router))
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ func assertDB(t *testing.T, db *sql.DB, query string) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Error during query %s: %s", query, err)
|
t.Errorf("Error during query %s: %s", query, err)
|
||||||
}
|
}
|
||||||
|
defer rows.Close()
|
||||||
if rows.Next() != true {
|
if rows.Next() != true {
|
||||||
t.Errorf("Want one result, found none for query %s", query)
|
t.Errorf("Want one result, found none for query %s", query)
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,16 +25,18 @@ func testCreateUser(db *sql.DB, router http.Handler) func(t *testing.T) {
|
||||||
return func(t *testing.T) {
|
return func(t *testing.T) {
|
||||||
mockUser := &User{
|
mockUser := &User{
|
||||||
PhoneNumber: "+65 99999999",
|
PhoneNumber: "+65 99999999",
|
||||||
|
FirstName: "Test",
|
||||||
|
LastName: "User",
|
||||||
}
|
}
|
||||||
b, _ := json.Marshal(mockUser)
|
b, _ := json.Marshal(mockUser)
|
||||||
|
|
||||||
w := httptest.NewRecorder()
|
w := httptest.NewRecorder()
|
||||||
r := httptest.NewRequest("POST", "/", bytes.NewBuffer(b))
|
r := httptest.NewRequest("POST", "/user", bytes.NewBuffer(b))
|
||||||
|
|
||||||
router.ServeHTTP(w, r)
|
router.ServeHTTP(w, r)
|
||||||
assertCode(t, w, 200)
|
assertCode(t, w, 200)
|
||||||
|
|
||||||
assertDB(t, db, `SELECT * FROM "user" WHERE phone_number = "+65 97663827`)
|
assertDB(t, db, `SELECT * FROM "user" WHERE phone_number = '+65 9999 9999' AND first_name = 'Test' AND last_name = 'User'`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue