mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-23 22:49:43 -05:00
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
|
package systemd
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
"go.uber.org/goleak"
|
||
|
)
|
||
|
|
||
|
func TestMain(m *testing.M) {
|
||
|
goleak.VerifyTestMain(m)
|
||
|
}
|
||
|
|
||
|
func TestConfigureUnit(t *testing.T) {
|
||
|
assert := assert.New(t)
|
||
|
generator := CryptsetupUnitGenerator{}
|
||
|
got, err := generator.configureUnit("volumeName", "/encrypted/device/path", "/key/file/path", "options")
|
||
|
assert.NoError(err)
|
||
|
assert.Equal(`[Unit]
|
||
|
Description=Cryptography Setup for %I
|
||
|
Documentation=man:crypttab(5) man:systemd-cryptsetup-generator(8) man:systemd-cryptsetup@.service(8)
|
||
|
DefaultDependencies=no
|
||
|
IgnoreOnIsolate=true
|
||
|
After=cryptsetup-pre.target systemd-udevd-kernel.socket
|
||
|
Before=blockdev@dev-mapper-%i.target
|
||
|
Wants=blockdev@dev-mapper-%i.target
|
||
|
Conflicts=umount.target
|
||
|
Before=cryptsetup.target
|
||
|
RequiresMountsFor=/key/file/path
|
||
|
BindsTo=encrypted-device-path.device
|
||
|
After=encrypted-device-path.device
|
||
|
Before=umount.target
|
||
|
|
||
|
[Service]
|
||
|
Type=oneshot
|
||
|
RemainAfterExit=yes
|
||
|
TimeoutSec=0
|
||
|
KeyringMode=shared
|
||
|
OOMScoreAdjust=500
|
||
|
ExecStart=/usr/lib/systemd/systemd-cryptsetup attach 'volumeName' '/encrypted/device/path' '/key/file/path' 'options'
|
||
|
ExecStop=/usr/lib/systemd/systemd-cryptsetup detach 'volumeName'
|
||
|
`, got)
|
||
|
}
|