@@ -86,7 +86,7 @@ func TestSecretCreateWithDriver(t *testing.T) {
8686 return types.SecretCreateResponse {}, errors .Errorf ("expected name %q, got %q" , name , spec .Name )
8787 }
8888
89- if ! reflect . DeepEqual ( spec .Driver .Name , expectedDriver .Name ) {
89+ if spec .Driver .Name != expectedDriver .Name {
9090 return types.SecretCreateResponse {}, errors .Errorf ("expected driver %v, got %v" , expectedDriver , spec .Labels )
9191 }
9292
@@ -103,6 +103,35 @@ func TestSecretCreateWithDriver(t *testing.T) {
103103 assert .Equal (t , "ID-" + name , strings .TrimSpace (cli .OutBuffer ().String ()))
104104}
105105
106+ func TestSecretCreateWithTemplatingDriver (t * testing.T ) {
107+ expectedDriver := & swarm.Driver {
108+ Name : "template-driver" ,
109+ }
110+ name := "foo"
111+
112+ cli := test .NewFakeCli (& fakeClient {
113+ secretCreateFunc : func (spec swarm.SecretSpec ) (types.SecretCreateResponse , error ) {
114+ if spec .Name != name {
115+ return types.SecretCreateResponse {}, errors .Errorf ("expected name %q, got %q" , name , spec .Name )
116+ }
117+
118+ if spec .Templating .Name != expectedDriver .Name {
119+ return types.SecretCreateResponse {}, errors .Errorf ("expected driver %v, got %v" , expectedDriver , spec .Labels )
120+ }
121+
122+ return types.SecretCreateResponse {
123+ ID : "ID-" + spec .Name ,
124+ }, nil
125+ },
126+ })
127+
128+ cmd := newSecretCreateCommand (cli )
129+ cmd .SetArgs ([]string {name })
130+ cmd .Flags ().Set ("template-driver" , expectedDriver .Name )
131+ assert .NoError (t , cmd .Execute ())
132+ assert .Equal (t , "ID-" + name , strings .TrimSpace (cli .OutBuffer ().String ()))
133+ }
134+
106135func TestSecretCreateWithLabels (t * testing.T ) {
107136 expectedLabels := map [string ]string {
108137 "lbl1" : "Label-foo" ,
0 commit comments