MCPcopy Create free account
hub / github.com/gotenberg/gotenberg / TestContext_Module

Function TestContext_Module

pkg/gotenberg/context_test.go:8–77  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

6)
7
8func TestContext_Module(t *testing.T) {
9 for _, tc := range []struct {
10 scenario string
11 mods []ModuleDescriptor
12 kind any
13 expectError bool
14 }{
15 {
16 scenario: "module with error on provision",
17 mods: func() []ModuleDescriptor {
18 mod := &struct {
19 ModuleMock
20 ProvisionerMock
21 }{}
22 mod.DescriptorMock = func() ModuleDescriptor {
23 return ModuleDescriptor{ID: "foo", New: func() Module { return mod }}
24 }
25 mod.ProvisionMock = func(ctx *Context) error { return errors.New("foo") }
26 return []ModuleDescriptor{mod.Descriptor()}
27 }(),
28 kind: new(Provisioner),
29 expectError: true,
30 },
31 {
32 scenario: "two modules instead of one",
33 mods: func() []ModuleDescriptor {
34 mod := &struct {
35 ModuleMock
36 ProvisionerMock
37 }{}
38 mod.DescriptorMock = func() ModuleDescriptor {
39 return ModuleDescriptor{ID: "foo", New: func() Module { return mod }}
40 }
41 mod.ProvisionMock = func(ctx *Context) error { return nil }
42 return []ModuleDescriptor{mod.Descriptor(), mod.Descriptor()}
43 }(),
44 kind: new(Provisioner),
45 expectError: true,
46 },
47 {
48 scenario: "success",
49 mods: func() []ModuleDescriptor {
50 mod := &struct {
51 ModuleMock
52 ProvisionerMock
53 }{}
54 mod.DescriptorMock = func() ModuleDescriptor {
55 return ModuleDescriptor{ID: "foo", New: func() Module { return mod }}
56 }
57 mod.ProvisionMock = func(ctx *Context) error { return nil }
58 return []ModuleDescriptor{mod.Descriptor()}
59 }(),
60 kind: new(Provisioner),
61 expectError: false,
62 },
63 } {
64 t.Run(tc.scenario, func(t *testing.T) {
65 ctx := NewContext(ParsedFlags{}, tc.mods)

Callers

nothing calls this directly

Calls 4

ModuleMethod · 0.95
NewContextFunction · 0.85
DescriptorMethod · 0.65
RunMethod · 0.65

Tested by

no test coverage detected