@@ -105,3 +105,32 @@ func TestConfigCreateWithLabels(t *testing.T) {
105105 assert .NoError (t , cmd .Execute ())
106106 assert .Equal (t , "ID-" + name , strings .TrimSpace (cli .OutBuffer ().String ()))
107107}
108+
109+ func TestConfigCreateWithTemplatingDriver (t * testing.T ) {
110+ expectedDriver := & swarm.Driver {
111+ Name : "templating-driver" ,
112+ }
113+ name := "foo"
114+
115+ cli := test .NewFakeCli (& fakeClient {
116+ configCreateFunc : func (spec swarm.ConfigSpec ) (types.ConfigCreateResponse , error ) {
117+ if spec .Name != name {
118+ return types.ConfigCreateResponse {}, errors .Errorf ("expected name %q, got %q" , name , spec .Name )
119+ }
120+
121+ if ! reflect .DeepEqual (spec .Templating .Name , expectedDriver .Name ) {
122+ return types.ConfigCreateResponse {}, errors .Errorf ("expected driver %v, got %v" , expectedDriver , spec .Labels )
123+ }
124+
125+ return types.ConfigCreateResponse {
126+ ID : "ID-" + spec .Name ,
127+ }, nil
128+ },
129+ })
130+
131+ cmd := newConfigCreateCommand (cli )
132+ cmd .SetArgs ([]string {name , filepath .Join ("testdata" , configDataFile )})
133+ cmd .Flags ().Set ("templating-driver" , expectedDriver .Name )
134+ assert .NoError (t , cmd .Execute ())
135+ assert .Equal (t , "ID-" + name , strings .TrimSpace (cli .OutBuffer ().String ()))
136+ }
0 commit comments