MCPcopy Create free account
hub / github.com/dagger/dagger / TestSecretNested

Method TestSecretNested

core/integration/module_test.go:2526–3473  ·  view source on GitHub ↗
(ctx context.Context, t *testctx.T)

Source from the content-addressed store, hash-verified

2524}
2525
2526func (ModuleSuite) TestSecretNested(ctx context.Context, t *testctx.T) {
2527 t.Run("pass secrets between modules", func(ctx context.Context, t *testctx.T) {
2528 // check that we can pass valid secret objects between functions in
2529 // different modules
2530
2531 c := connect(ctx, t)
2532 ctr := c.Container().From(golangImage).
2533 WithMountedFile(testCLIBinPath, daggerCliFile(t, c))
2534
2535 ctr = ctr.
2536 WithWorkdir("/toplevel/secreter").
2537 With(daggerExec("init", "--name=secreter", "--sdk=go", "--source=.")).
2538 WithNewFile("main.go", `package main
2539
2540import (
2541 "context"
2542 "dagger/secreter/internal/dagger"
2543)
2544
2545type Secreter struct {}
2546
2547func (_ *Secreter) Make() *dagger.Secret {
2548 return dag.SetSecret("FOO", "inner")
2549}
2550
2551func (_ *Secreter) Get(ctx context.Context, secret *dagger.Secret) (string, error) {
2552 return secret.Plaintext(ctx)
2553}
2554`,
2555 )
2556
2557 ctr = ctr.
2558 WithWorkdir("/toplevel").
2559 With(daggerExec("init", "--name=toplevel", "--sdk=go", "--source=.")).
2560 With(daggerExec("install", "./secreter")).
2561 WithNewFile("main.go", `package main
2562
2563import (
2564 "context"
2565 "fmt"
2566)
2567
2568type Toplevel struct {}
2569
2570func (t *Toplevel) TryReturn(ctx context.Context) error {
2571 text, err := dag.Secreter().Make().Plaintext(ctx)
2572 if err != nil {
2573 return err
2574 }
2575 if text != "inner" {
2576 return fmt.Errorf("expected \"inner\", but got %q", text)
2577 }
2578 return nil
2579}
2580
2581func (t *Toplevel) TryArg(ctx context.Context) error {
2582 text, err := dag.Secreter().Get(ctx, dag.SetSecret("BAR", "outer"))
2583 if err != nil {

Callers

nothing calls this directly

Calls 15

QueryWithClientFunction · 0.92
daggerCliFileFunction · 0.85
daggerExecFunction · 0.85
daggerQueryFunction · 0.85
daggerCallFunction · 0.85
hostDaggerCommandFunction · 0.85
daggerCliBaseFunction · 0.85
pythonSourceFunction · 0.85
daggerInitPythonFunction · 0.85
connectFunction · 0.70
RunMethod · 0.65
SyncMethod · 0.65

Tested by

no test coverage detected