Initial test for CreateUser
parent
1208c705f8
commit
54fc06e388
2
.env
2
.env
|
@ -1,2 +1,2 @@
|
|||
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 postgres string
|
||||
|
||||
func main() {
|
||||
func init() {
|
||||
// Load .env
|
||||
err := godotenv.Load()
|
||||
if err != nil {
|
||||
log.Fatal("Error loading .env file")
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
listen = os.Getenv("LISTEN")
|
||||
|
||||
// Database
|
||||
db := connect()
|
||||
|
@ -27,7 +31,6 @@ func main() {
|
|||
// Routes
|
||||
router := NewRouter(h)
|
||||
|
||||
listen = os.Getenv("LISTEN")
|
||||
log.Printf("starting server on %s", listen)
|
||||
log.Fatal(http.ListenAndServe(listen, router))
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ func assertDB(t *testing.T, db *sql.DB, query string) {
|
|||
if err != nil {
|
||||
t.Errorf("Error during query %s: %s", query, err)
|
||||
}
|
||||
defer rows.Close()
|
||||
if rows.Next() != true {
|
||||
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) {
|
||||
mockUser := &User{
|
||||
PhoneNumber: "+65 99999999",
|
||||
FirstName: "Test",
|
||||
LastName: "User",
|
||||
}
|
||||
b, _ := json.Marshal(mockUser)
|
||||
|
||||
w := httptest.NewRecorder()
|
||||
r := httptest.NewRequest("POST", "/", bytes.NewBuffer(b))
|
||||
r := httptest.NewRequest("POST", "/user", bytes.NewBuffer(b))
|
||||
|
||||
router.ServeHTTP(w, r)
|
||||
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