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

Function testUpsertProjectVariable

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

Source from the content-addressed store, hash-verified

511}
512
513func testUpsertProjectVariable(t *testing.T, db database.DB) {
514 _, projectID, userID := seed(t, db)
515
516 ctx := context.Background()
517 // create project variables
518 vars, err := db.UpsertProjectVariable(ctx, projectID, "", map[string]string{"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, userID)
519 require.NoError(t, err)
520
521 require.Equal(t, len(vars), 3)
522
523 // update some variables
524 vars, err = db.UpsertProjectVariable(ctx, projectID, "prod", map[string]string{"foo1": "baz1", "foo2": "baz2"}, userID)
525 require.NoError(t, err)
526 require.Equal(t, len(vars), 2)
527
528 // update some dev variables
529 vars, err = db.UpsertProjectVariable(ctx, projectID, "dev", map[string]string{"foo3": "bad3"}, userID)
530 require.NoError(t, err)
531 require.Equal(t, len(vars), 1)
532
533 // find all variables
534 vars, err = db.FindProjectVariables(ctx, projectID, nil)
535 require.NoError(t, err)
536 require.Equal(t, len(vars), 6)
537
538 // find project variables
539 env := "prod"
540 vars, err = db.FindProjectVariables(ctx, projectID, &env)
541 require.NoError(t, err)
542
543 require.Equal(t, len(vars), 3)
544 for _, v := range vars {
545 switch v.Name {
546 case "foo1":
547 require.Equal(t, "baz1", string(v.Value))
548 case "foo2":
549 require.Equal(t, "baz2", string(v.Value))
550 case "foo3":
551 require.Equal(t, "bar3", string(v.Value))
552 }
553 }
554
555 err = db.DeleteProjectVariables(ctx, projectID, "", []string{"foo1", "foo2", "foo3", "foo4"})
556 require.NoError(t, err)
557
558 // find project variables
559 vars, err = db.FindProjectVariables(ctx, projectID, &env)
560 require.NoError(t, err)
561 require.Equal(t, len(vars), 2)
562
563 err = db.DeleteProjectVariables(ctx, projectID, "prod", []string{"foo1", "foo2", "foo3", "foo4"})
564 require.NoError(t, err)
565
566 // find project variables
567 vars, err = db.FindProjectVariables(ctx, projectID, &env)
568 require.NoError(t, err)
569 require.Equal(t, len(vars), 0)
570

Callers 1

TestPostgresFunction · 0.85

Calls 7

seedFunction · 0.85
UpsertProjectVariableMethod · 0.65
FindProjectVariablesMethod · 0.65
DeleteProjectMethod · 0.65
DeleteOrganizationMethod · 0.65
DeleteUserMethod · 0.65

Tested by

no test coverage detected