Skip to content
This repository was archived by the owner on Jan 21, 2020. It is now read-only.

Commit bbe1f45

Browse files
kaufersDavid Chung
authored andcommitted
Add UT to verify flavor template multipass (#747)
Signed-off-by: Steven Kaufer <[email protected]>
1 parent fc0646f commit bbe1f45

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

pkg/plugin/flavor/swarm/flavor_test.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,3 +330,38 @@ func TestTemplateFunctions(t *testing.T) {
330330

331331
close(managerStop)
332332
}
333+
334+
func TestInitScriptMultipass(t *testing.T) {
335+
ctrl := gomock.NewController(t)
336+
defer ctrl.Finish()
337+
338+
managerStop := make(chan struct{})
339+
340+
client := mock_client.NewMockAPIClientCloser(ctrl)
341+
342+
flavorImpl := NewManagerFlavor(scp, func(Spec) (docker.APIClientCloser, error) {
343+
return client, nil
344+
}, templ(DefaultManagerInitScriptTemplate), managerStop)
345+
346+
client.EXPECT().SwarmInspect(gomock.Any()).Return(swarm.Swarm{}, nil).AnyTimes()
347+
client.EXPECT().Info(gomock.Any()).Return(infoResponse, nil).AnyTimes()
348+
client.EXPECT().NodeInspectWithRaw(gomock.Any(), nodeID).Return(swarm.Node{}, nil, nil).AnyTimes()
349+
client.EXPECT().Close().AnyTimes()
350+
351+
// The `InitScriptTemplateURL` vars should not resolve since multiple is enabled
352+
flavorSpec := types.AnyString(`
353+
{
354+
"Attachments": {},
355+
"InitScriptTemplateURL": "str://init {{ var \"some-var\" }}"
356+
}
357+
`)
358+
359+
details, err := flavorImpl.Prepare(flavorSpec,
360+
instance.Spec{},
361+
group.AllocationMethod{},
362+
group.Index{Group: group.ID("group"), Sequence: 100})
363+
require.NoError(t, err)
364+
require.Equal(t, "init {{ var `some-var` }}", details.Init)
365+
366+
close(managerStop)
367+
}

0 commit comments

Comments
 (0)