diff --git a/.env b/.env index 42f1bce..b388ac2 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ LISTEN=:8080 -POSTGRES=postgresql://root@localhost:26257/core?sslmode=disable +POSTGRES=postgresql://root@localhost:5432/core?sslmode=disable diff --git a/docker-compose.testing.yml b/docker-compose.testing.yml new file mode 100644 index 0000000..778651a --- /dev/null +++ b/docker-compose.testing.yml @@ -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 diff --git a/main.go b/main.go index 0e2b83e..6414575 100644 --- a/main.go +++ b/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)) } diff --git a/testutils_test.go b/testutils_test.go index 451937c..9065efe 100644 --- a/testutils_test.go +++ b/testutils_test.go @@ -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) } diff --git a/user_test.go b/user_test.go index d201947..d5b1ad6 100644 --- a/user_test.go +++ b/user_test.go @@ -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'`) } }