| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package project_test
- import (
- "testing"
- "github.com/porter-dev/porter/api/server/handlers/project"
- "github.com/porter-dev/porter/api/server/shared"
- "github.com/porter-dev/porter/api/server/shared/apitest"
- "github.com/porter-dev/porter/api/types"
- "github.com/porter-dev/porter/internal/repository/test"
- )
- func TestCreateProjectSuccessful(t *testing.T) {
- req, rr := apitest.GetRequestAndRecorder(
- t,
- string(types.HTTPVerbPost),
- "/api/projects",
- &types.CreateProjectRequest{
- Name: "test-project",
- },
- )
- config := apitest.LoadConfig(t)
- user := apitest.CreateTestUser(t, config, true)
- req = apitest.WithAuthenticatedUser(t, req, user)
- handler := project.NewProjectCreateHandler(
- config,
- shared.NewDefaultRequestDecoderValidator(config.Logger, config.Alerter),
- shared.NewDefaultResultWriter(config.Logger, config.Alerter),
- )
- handler.ServeHTTP(rr, req)
- expProject := &types.CreateProjectResponse{
- ID: 1,
- Name: "test-project",
- Roles: []*types.Role{},
- }
- gotProject := &types.CreateProjectResponse{}
- apitest.AssertResponseExpected(t, rr, expProject, gotProject)
- }
- func TestFailingDecoderValidator(t *testing.T) {
- req, rr := apitest.GetRequestAndRecorder(
- t,
- string(types.HTTPVerbPost),
- "/api/projects",
- &types.CreateProjectRequest{
- Name: "test-project",
- },
- )
- config := apitest.LoadConfig(t)
- user := apitest.CreateTestUser(t, config, true)
- req = apitest.WithAuthenticatedUser(t, req, user)
- handler := project.NewProjectCreateHandler(
- config,
- apitest.NewFailingDecoderValidator(config),
- shared.NewDefaultResultWriter(config.Logger, config.Alerter),
- )
- handler.ServeHTTP(rr, req)
- apitest.AssertResponseInternalServerError(t, rr)
- }
- func TestFailingCreateMethod(t *testing.T) {
- req, rr := apitest.GetRequestAndRecorder(
- t,
- string(types.HTTPVerbPost),
- "/api/projects",
- &types.CreateProjectRequest{
- Name: "test-project",
- },
- )
- config := apitest.LoadConfig(t, test.CreateProjectMethod)
- user := apitest.CreateTestUser(t, config, true)
- req = apitest.WithAuthenticatedUser(t, req, user)
- handler := project.NewProjectCreateHandler(
- config,
- shared.NewDefaultRequestDecoderValidator(config.Logger, config.Alerter),
- shared.NewDefaultResultWriter(config.Logger, config.Alerter),
- )
- handler.ServeHTTP(rr, req)
- apitest.AssertResponseInternalServerError(t, rr)
- }
|