|
@@ -1,13 +1,11 @@
|
|
|
package service
|
|
|
|
|
|
import (
|
|
|
- "context"
|
|
|
"reflect"
|
|
|
"sort"
|
|
|
"testing"
|
|
|
"time"
|
|
|
|
|
|
- "github.com/docker/docker/api/types"
|
|
|
"github.com/docker/docker/api/types/container"
|
|
|
mounttypes "github.com/docker/docker/api/types/mount"
|
|
|
"github.com/docker/docker/api/types/swarm"
|
|
@@ -384,61 +382,3 @@ func TestValidatePort(t *testing.T) {
|
|
|
assert.Error(t, err, e)
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-type secretAPIClientMock struct {
|
|
|
- listResult []swarm.Secret
|
|
|
-}
|
|
|
-
|
|
|
-func (s secretAPIClientMock) SecretList(ctx context.Context, options types.SecretListOptions) ([]swarm.Secret, error) {
|
|
|
- return s.listResult, nil
|
|
|
-}
|
|
|
-func (s secretAPIClientMock) SecretCreate(ctx context.Context, secret swarm.SecretSpec) (types.SecretCreateResponse, error) {
|
|
|
- return types.SecretCreateResponse{}, nil
|
|
|
-}
|
|
|
-func (s secretAPIClientMock) SecretRemove(ctx context.Context, id string) error {
|
|
|
- return nil
|
|
|
-}
|
|
|
-func (s secretAPIClientMock) SecretInspectWithRaw(ctx context.Context, name string) (swarm.Secret, []byte, error) {
|
|
|
- return swarm.Secret{}, []byte{}, nil
|
|
|
-}
|
|
|
-func (s secretAPIClientMock) SecretUpdate(ctx context.Context, id string, version swarm.Version, secret swarm.SecretSpec) error {
|
|
|
- return nil
|
|
|
-}
|
|
|
-
|
|
|
-// TestUpdateSecretUpdateInPlace tests the ability to update the "target" of an secret with "docker service update"
|
|
|
-// by combining "--secret-rm" and "--secret-add" for the same secret.
|
|
|
-func TestUpdateSecretUpdateInPlace(t *testing.T) {
|
|
|
- apiClient := secretAPIClientMock{
|
|
|
- listResult: []swarm.Secret{
|
|
|
- {
|
|
|
- ID: "tn9qiblgnuuut11eufquw5dev",
|
|
|
- Spec: swarm.SecretSpec{Annotations: swarm.Annotations{Name: "foo"}},
|
|
|
- },
|
|
|
- },
|
|
|
- }
|
|
|
-
|
|
|
- flags := newUpdateCommand(nil).Flags()
|
|
|
- flags.Set("secret-add", "source=foo,target=foo2")
|
|
|
- flags.Set("secret-rm", "foo")
|
|
|
-
|
|
|
- secrets := []*swarm.SecretReference{
|
|
|
- {
|
|
|
- File: &swarm.SecretReferenceFileTarget{
|
|
|
- Name: "foo",
|
|
|
- UID: "0",
|
|
|
- GID: "0",
|
|
|
- Mode: 292,
|
|
|
- },
|
|
|
- SecretID: "tn9qiblgnuuut11eufquw5dev",
|
|
|
- SecretName: "foo",
|
|
|
- },
|
|
|
- }
|
|
|
-
|
|
|
- updatedSecrets, err := getUpdatedSecrets(apiClient, flags, secrets)
|
|
|
-
|
|
|
- assert.Equal(t, err, nil)
|
|
|
- assert.Equal(t, len(updatedSecrets), 1)
|
|
|
- assert.Equal(t, updatedSecrets[0].SecretID, "tn9qiblgnuuut11eufquw5dev")
|
|
|
- assert.Equal(t, updatedSecrets[0].SecretName, "foo")
|
|
|
- assert.Equal(t, updatedSecrets[0].File.Name, "foo2")
|
|
|
-}
|