-
Notifications
You must be signed in to change notification settings - Fork 1
/
example_test.go
58 lines (53 loc) · 1.27 KB
/
example_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package systemdconf_test
import (
"bytes"
"fmt"
"github.com/gentlemanautomaton/systemdconf"
"github.com/gentlemanautomaton/systemdconf/unitvalue"
)
func Example() {
var buffer bytes.Buffer
systemdconf.WriteSections(&buffer,
systemdconf.Unit{
Description: "Test Unit",
ConditionPathExists: []string{
"/usr/lib/test",
"/etc/test/env1.conf",
},
Before: []string{"network-pre.target"},
Wants: []string{"network-pre.target"},
},
systemdconf.Service{
Type: "oneshot",
RemainAfterExit: unitvalue.True,
EnvironmentFiles: []string{
"/usr/lib/test/env1.conf",
"/etc/test/env1.conf",
},
ExecStart: []string{"/usr/lib/test start"},
ExecStop: []string{"/usr/lib/test stop"},
},
systemdconf.Install{
WantedBy: []string{"multi-user.target"},
},
)
fmt.Println(buffer.String())
// Output:
// [Unit]
// Description=Test Unit
// Wants=network-pre.target
// Before=network-pre.target
// ConditionPathExists=/usr/lib/test
// ConditionPathExists=/etc/test/env1.conf
//
// [Service]
// Type=oneshot
// RemainAfterExit=true
// ExecStart=/usr/lib/test start
// ExecStop=/usr/lib/test stop
// EnvironmentFile=/usr/lib/test/env1.conf
// EnvironmentFile=/etc/test/env1.conf
//
// [Install]
// WantedBy=multi-user.target
}