2
0

user_handler_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package api_test
  2. import (
  3. "net/http"
  4. "net/http/httptest"
  5. "strings"
  6. "testing"
  7. "time"
  8. "github.com/porter-dev/porter/internal/config"
  9. "github.com/porter-dev/porter/internal/repository/test"
  10. "github.com/porter-dev/porter/server/api"
  11. lr "github.com/porter-dev/porter/internal/logger"
  12. vr "github.com/porter-dev/porter/internal/validator"
  13. )
  14. func initApi() *api.App {
  15. appConf := config.Conf{
  16. Debug: true,
  17. Server: config.ServerConf{
  18. Port: 8080,
  19. TimeoutRead: time.Second * 5,
  20. TimeoutWrite: time.Second * 10,
  21. TimeoutIdle: time.Second * 15,
  22. },
  23. // unimportant
  24. Db: config.DBConf{},
  25. }
  26. logger := lr.NewConsole(appConf.Debug)
  27. validator := vr.New()
  28. repo := test.NewRepository(true)
  29. return api.New(logger, repo, validator)
  30. }
  31. func TestHandleCreateUser(t *testing.T) {
  32. // create a mock API
  33. api := initApi()
  34. req, err := http.NewRequest("POST", "/api/users", strings.NewReader("{\"email\":\"belanger@getporter.dev\",\"password\":\"hello\"}"))
  35. if err != nil {
  36. t.Fatal(err)
  37. }
  38. rr := httptest.NewRecorder()
  39. handler := http.HandlerFunc(api.HandleCreateUser)
  40. handler.ServeHTTP(rr, req)
  41. if status := rr.Code; status != http.StatusCreated {
  42. t.Errorf("handler returned wrong status code: got %v want %v",
  43. status, http.StatusCreated)
  44. }
  45. }