MCPcopy Index your code
hub / github.com/rilldata/rill / testProjects

Function testProjects

admin/database/postgres/postgres_test.go:213–268  ·  view source on GitHub ↗
(t *testing.T, db database.DB)

Source from the content-addressed store, hash-verified

211}
212
213func testProjects(t *testing.T, db database.DB) {
214 ctx := context.Background()
215
216 org, err := db.InsertOrganization(ctx, &database.InsertOrganizationOptions{Name: "foo"})
217 require.NoError(t, err)
218 require.Equal(t, "foo", org.Name)
219
220 proj, err := db.FindProjectByName(ctx, org.Name, "bar")
221 require.ErrorIs(t, err, database.ErrNotFound)
222 require.Nil(t, proj)
223
224 proj, err = db.InsertProject(ctx, &database.InsertProjectOptions{
225 OrganizationID: org.ID,
226 Name: "bar",
227 Description: "hello world",
228 })
229 require.NoError(t, err)
230 require.Equal(t, org.ID, proj.OrganizationID)
231 require.Equal(t, "bar", proj.Name)
232 require.Equal(t, "hello world", proj.Description)
233 require.Less(t, time.Since(proj.CreatedOn), 10*time.Second)
234 require.Less(t, time.Since(proj.UpdatedOn), 10*time.Second)
235
236 proj, err = db.FindProjectByName(ctx, org.Name, proj.Name)
237 require.NoError(t, err)
238 require.Equal(t, org.ID, proj.OrganizationID)
239 require.Equal(t, "bar", proj.Name)
240 require.Equal(t, "hello world", proj.Description)
241
242 proj.Description = ""
243 proj, err = db.UpdateProject(ctx, proj.ID, &database.UpdateProjectOptions{
244 Name: proj.Name,
245 Description: proj.Description,
246 })
247 require.NoError(t, err)
248 require.Equal(t, org.ID, proj.OrganizationID)
249 require.Equal(t, "bar", proj.Name)
250 require.Equal(t, "", proj.Description)
251
252 err = db.DeleteOrganization(ctx, org.Name)
253 require.ErrorContains(t, err, "constraint")
254
255 err = db.DeleteProject(ctx, proj.ID)
256 require.NoError(t, err)
257
258 proj, err = db.FindProjectByName(ctx, org.Name, "bar")
259 require.ErrorIs(t, err, database.ErrNotFound)
260 require.Nil(t, proj)
261
262 err = db.DeleteOrganization(ctx, org.Name)
263 require.NoError(t, err)
264
265 org, err = db.FindOrganizationByName(ctx, "foo")
266 require.ErrorIs(t, err, database.ErrNotFound)
267 require.Nil(t, org)
268}
269
270func testProjectsWithAnnotations(t *testing.T, db database.DB) {

Callers 1

TestPostgresFunction · 0.85

Calls 8

InsertOrganizationMethod · 0.65
FindProjectByNameMethod · 0.65
InsertProjectMethod · 0.65
UpdateProjectMethod · 0.65
DeleteOrganizationMethod · 0.65
DeleteProjectMethod · 0.65
LessMethod · 0.45

Tested by

no test coverage detected