1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package daemon
- import (
- "context"
- "testing"
- "github.com/docker/docker/api/types"
- "github.com/docker/docker/api/types/swarm"
- "gotest.tools/v3/assert"
- )
- // SecretConstructor defines a swarm secret constructor
- type SecretConstructor func(*swarm.Secret)
- // CreateSecret creates a secret given the specified spec
- func (d *Daemon) CreateSecret(t testing.TB, secretSpec swarm.SecretSpec) string {
- t.Helper()
- cli := d.NewClientT(t)
- defer cli.Close()
- scr, err := cli.SecretCreate(context.Background(), secretSpec)
- assert.NilError(t, err)
- return scr.ID
- }
- // ListSecrets returns the list of the current swarm secrets
- func (d *Daemon) ListSecrets(t testing.TB) []swarm.Secret {
- t.Helper()
- cli := d.NewClientT(t)
- defer cli.Close()
- secrets, err := cli.SecretList(context.Background(), types.SecretListOptions{})
- assert.NilError(t, err)
- return secrets
- }
- // GetSecret returns a swarm secret identified by the specified id
- func (d *Daemon) GetSecret(t testing.TB, id string) *swarm.Secret {
- t.Helper()
- cli := d.NewClientT(t)
- defer cli.Close()
- secret, _, err := cli.SecretInspectWithRaw(context.Background(), id)
- assert.NilError(t, err)
- return &secret
- }
- // DeleteSecret removes the swarm secret identified by the specified id
- func (d *Daemon) DeleteSecret(t testing.TB, id string) {
- t.Helper()
- cli := d.NewClientT(t)
- defer cli.Close()
- err := cli.SecretRemove(context.Background(), id)
- assert.NilError(t, err)
- }
- // UpdateSecret updates the swarm secret identified by the specified id
- // Currently, only label update is supported.
- func (d *Daemon) UpdateSecret(t testing.TB, id string, f ...SecretConstructor) {
- t.Helper()
- cli := d.NewClientT(t)
- defer cli.Close()
- secret := d.GetSecret(t, id)
- for _, fn := range f {
- fn(secret)
- }
- err := cli.SecretUpdate(context.Background(), secret.ID, secret.Version, secret.Spec)
- assert.NilError(t, err)
- }
|