Skip to content

Commit 7979681

Browse files
committed
Fix files and organizations
1 parent db0ca76 commit 7979681

25 files changed

+663
-442
lines changed

cli/projectlist_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ func TestProjectList(t *testing.T) {
3535
client := coderdtest.New(t, nil)
3636
user := coderdtest.CreateFirstUser(t, client)
3737
daemon := coderdtest.NewProvisionerDaemon(t, client)
38-
job := coderdtest.CreateProjectImportJob(t, client, user.Organization, nil)
39-
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
38+
job := coderdtest.CreateProjectVersion(t, client, user.OrganizationID, nil)
39+
coderdtest.AwaitProjectImportJob(t, client, user.OrganizationID, job.ID)
4040
_ = daemon.Close()
41-
project := coderdtest.CreateProject(t, client, user.Organization, job.ID)
41+
project := coderdtest.CreateProject(t, client, user.OrganizationID, job.ID)
4242
cmd, root := clitest.New(t, "projects", "list")
4343
clitest.SetupConfig(t, client, root)
4444
pty := ptytest.New(t)

cli/workspacecreate_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestWorkspaceCreate(t *testing.T) {
1919
client := coderdtest.New(t, nil)
2020
user := coderdtest.CreateFirstUser(t, client)
2121
_ = coderdtest.NewProvisionerDaemon(t, client)
22-
job := coderdtest.CreateProjectImportJob(t, client, user.Organization, &echo.Responses{
22+
job := coderdtest.CreateProjectVersion(t, client, user.OrganizationID, &echo.Responses{
2323
Parse: echo.ParseComplete,
2424
Provision: []*proto.Provision_Response{{
2525
Type: &proto.Provision_Response_Complete{
@@ -32,8 +32,8 @@ func TestWorkspaceCreate(t *testing.T) {
3232
},
3333
}},
3434
})
35-
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
36-
project := coderdtest.CreateProject(t, client, user.Organization, job.ID)
35+
coderdtest.AwaitProjectImportJob(t, client, user.OrganizationID, job.ID)
36+
project := coderdtest.CreateProject(t, client, user.OrganizationID, job.ID)
3737
cmd, root := clitest.New(t, "workspaces", "create", project.Name)
3838
clitest.SetupConfig(t, client, root)
3939

coderd/coderd.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,22 +44,22 @@ func New(options *Options) (http.Handler, func()) {
4444
r.Route("/files", func(r chi.Router) {
4545
r.Use(httpmw.ExtractAPIKey(options.Database, nil))
4646
r.Get("/{hash}", api.fileByHash)
47-
r.Post("/", api.postFiles)
47+
r.Post("/", api.postFile)
4848
})
49-
r.Route("/organization/{organization}", func(r chi.Router) {
49+
r.Route("/organizations/{organization}", func(r chi.Router) {
5050
r.Use(
5151
httpmw.ExtractAPIKey(options.Database, nil),
5252
httpmw.ExtractOrganizationParam(options.Database),
5353
)
54-
r.Get("/provisionerdaemons", nil)
55-
r.Post("/projectversion", nil)
54+
r.Get("/provisionerdaemons", api.provisionerDaemonsByOrganization)
55+
r.Post("/projectversions", api.postProjectVersionsByOrganization)
5656
r.Route("/projects", func(r chi.Router) {
5757
r.Post("/", api.postProjectsByOrganization)
5858
r.Get("/", api.projectsByOrganization)
5959
r.Get("/{projectname}", api.projectByOrganizationAndName)
6060
})
6161
})
62-
r.Route("/project/{project}", func(r chi.Router) {
62+
r.Route("/projects/{project}", func(r chi.Router) {
6363
r.Use(
6464
httpmw.ExtractAPIKey(options.Database, nil),
6565
httpmw.ExtractProjectParam(options.Database),
@@ -74,7 +74,7 @@ func New(options *Options) (http.Handler, func()) {
7474
r.Get("/versions/latest", nil)
7575
r.Patch("/versions", nil)
7676
})
77-
r.Route("/projectversion/{projectversion}", func(r chi.Router) {
77+
r.Route("/projectversions/{projectversion}", func(r chi.Router) {
7878
r.Use(
7979
httpmw.ExtractAPIKey(options.Database, nil),
8080
httpmw.ExtractProjectVersionParam(options.Database),
@@ -87,12 +87,12 @@ func New(options *Options) (http.Handler, func()) {
8787
r.Get("/logs", nil)
8888
r.Get("/resources", nil)
8989
})
90-
r.Route("/provisionerdaemon", func(r chi.Router) {
90+
r.Route("/provisionerdaemons", func(r chi.Router) {
9191
r.Route("/me", func(r chi.Router) {
9292
r.Get("/listen", api.provisionerDaemonsServe)
9393
})
9494
})
95-
r.Route("/user", func(r chi.Router) {
95+
r.Route("/users", func(r chi.Router) {
9696
r.Post("/login", api.postLogin)
9797
r.Post("/logout", api.postLogout)
9898
r.Get("/first", api.firstUser)
@@ -108,7 +108,7 @@ func New(options *Options) (http.Handler, func()) {
108108
})
109109
})
110110
})
111-
r.Route("/workspaceagent", func(r chi.Router) {
111+
r.Route("/workspaceagents", func(r chi.Router) {
112112
r.Route("/auth", func(r chi.Router) {
113113
r.Post("/google-instance-identity", api.postAuthenticateWorkspaceAgentUsingGoogleInstanceIdentity)
114114
})
@@ -117,7 +117,7 @@ func New(options *Options) (http.Handler, func()) {
117117
r.Get("/listen", nil)
118118
})
119119
})
120-
r.Route("/workspace/{workspace}", func(r chi.Router) {
120+
r.Route("/workspaces/{workspace}", func(r chi.Router) {
121121
r.Use(
122122
httpmw.ExtractAPIKey(options.Database, nil),
123123
httpmw.ExtractWorkspaceParam(options.Database),
@@ -127,7 +127,7 @@ func New(options *Options) (http.Handler, func()) {
127127
r.Get("/builds", nil)
128128
r.Post("/builds", nil)
129129
})
130-
r.Route("/workspacebuild/{workspacebuild}", func(r chi.Router) {
130+
r.Route("/workspacebuilds/{workspacebuild}", func(r chi.Router) {
131131
r.Use(
132132
httpmw.ExtractAPIKey(options.Database, nil),
133133
httpmw.ExtractWorkspaceBuildParam(options.Database),

coderd/coderdtest/coderdtest.go

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -142,14 +142,14 @@ func NewProvisionerDaemon(t *testing.T, client *codersdk.Client) io.Closer {
142142

143143
// CreateFirstUser creates a user with preset credentials and authenticates
144144
// with the passed in codersdk client.
145-
func CreateFirstUser(t *testing.T, client *codersdk.Client) coderd.CreateInitialUserRequest {
146-
req := coderd.CreateInitialUserRequest{
145+
func CreateFirstUser(t *testing.T, client *codersdk.Client) coderd.CreateUserResponse {
146+
req := coderd.CreateUserRequest{
147147
Email: "testuser@coder.com",
148148
Username: "testuser",
149149
Password: "testpass",
150150
Organization: "testorg",
151151
}
152-
_, err := client.CreateFirstUser(context.Background(), req)
152+
resp, err := client.CreateFirstUser(context.Background(), req)
153153
require.NoError(t, err)
154154

155155
login, err := client.LoginWithPassword(context.Background(), coderd.LoginWithPasswordRequest{
@@ -158,32 +158,32 @@ func CreateFirstUser(t *testing.T, client *codersdk.Client) coderd.CreateInitial
158158
})
159159
require.NoError(t, err)
160160
client.SessionToken = login.SessionToken
161-
return req
161+
return resp
162162
}
163163

164-
// CreateProjectImportJob creates a project import provisioner job
164+
// CreateProjectVersion creates a project import provisioner job
165165
// with the responses provided. It uses the "echo" provisioner for compatibility
166166
// with testing.
167-
func CreateProjectImportJob(t *testing.T, client *codersdk.Client, organization string, res *echo.Responses) coderd.ProvisionerJob {
168-
// data, err := echo.Tar(res)
169-
// require.NoError(t, err)
170-
// file, err := client.Upload(context.Background(), codersdk.ContentTypeTar, data)
171-
// require.NoError(t, err)
172-
// job, err := client.CreateProjectImportJob(context.Background(), organization, coderd.CreateProjectImportJobRequest{
173-
// StorageSource: file.Hash,
174-
// StorageMethod: database.ProvisionerStorageMethodFile,
175-
// Provisioner: database.ProvisionerTypeEcho,
176-
// })
177-
// require.NoError(t, err)
178-
return coderd.ProvisionerJob{}
167+
func CreateProjectVersion(t *testing.T, client *codersdk.Client, organization string, res *echo.Responses) coderd.ProjectVersion {
168+
data, err := echo.Tar(res)
169+
require.NoError(t, err)
170+
file, err := client.Upload(context.Background(), codersdk.ContentTypeTar, data)
171+
require.NoError(t, err)
172+
projectVersion, err := client.CreateProjectVersion(context.Background(), organization, coderd.CreateProjectVersion{
173+
StorageSource: file.Hash,
174+
StorageMethod: database.ProvisionerStorageMethodFile,
175+
Provisioner: database.ProvisionerTypeEcho,
176+
})
177+
require.NoError(t, err)
178+
return projectVersion
179179
}
180180

181181
// CreateProject creates a project with the "echo" provisioner for
182182
// compatibility with testing. The name assigned is randomly generated.
183-
func CreateProject(t *testing.T, client *codersdk.Client, organization string, job uuid.UUID) coderd.Project {
183+
func CreateProject(t *testing.T, client *codersdk.Client, organization string, version uuid.UUID) coderd.Project {
184184
project, err := client.CreateProject(context.Background(), organization, coderd.CreateProjectRequest{
185-
Name: randomUsername(),
186-
VersionImportJobID: job,
185+
Name: randomUsername(),
186+
VersionID: version,
187187
})
188188
require.NoError(t, err)
189189
return project

coderd/coderdtest/coderdtest_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ func TestNew(t *testing.T) {
2222
client := coderdtest.New(t, nil)
2323
user := coderdtest.CreateFirstUser(t, client)
2424
closer := coderdtest.NewProvisionerDaemon(t, client)
25-
job := coderdtest.CreateProjectImportJob(t, client, user.Organization, nil)
26-
coderdtest.AwaitProjectImportJob(t, client, user.Organization, job.ID)
27-
project := coderdtest.CreateProject(t, client, user.Organization, job.ID)
25+
job := coderdtest.CreateProjectVersion(t, client, user.OrganizationID, nil)
26+
coderdtest.AwaitProjectImportJob(t, client, user.OrganizationID, job.ID)
27+
project := coderdtest.CreateProject(t, client, user.OrganizationID, job.ID)
2828
workspace := coderdtest.CreateWorkspace(t, client, "me", project.ID)
2929
history, err := client.CreateWorkspaceBuild(context.Background(), "me", workspace.Name, coderd.CreateWorkspaceBuildRequest{
3030
ProjectVersionID: project.ActiveVersionID,
3131
Transition: database.WorkspaceTransitionStart,
3232
})
3333
require.NoError(t, err)
34-
coderdtest.AwaitWorkspaceProvisionJob(t, client, user.Organization, history.ProvisionJobID)
34+
coderdtest.AwaitWorkspaceProvisionJob(t, client, user.OrganizationID, history.ProvisionJobID)
3535
closer.Close()
3636
}

coderd/files.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@ import (
1717
"github.com/coder/coder/httpmw"
1818
)
1919

20+
// UploadResponse contains the hash to reference the uploaded file.
2021
type UploadResponse struct {
2122
Hash string `json:"hash"`
2223
}
2324

24-
func (api *api) postFiles(rw http.ResponseWriter, r *http.Request) {
25+
func (api *api) postFile(rw http.ResponseWriter, r *http.Request) {
2526
apiKey := httpmw.APIKey(r)
2627
contentType := r.Header.Get("Content-Type")
2728

0 commit comments

Comments
 (0)