package outcome import ( "testing" "hakurei.app/container" "hakurei.app/container/stub" "hakurei.app/hst" "hakurei.app/internal/pipewire" "hakurei.app/internal/system" ) func TestSpPipeWireOp(t *testing.T) { t.Parallel() config := hst.Template() checkOpBehaviour(t, []opBehaviourTestCase{ {"not enabled", func(bool, bool) outcomeOp { return spPipeWireOp{} }, func() *hst.Config { c := hst.Template() *c.Enablements = 0 return c }, nil, nil, nil, nil, errNotEnabled, nil, nil, nil, nil, nil}, {"success", func(bool, bool) outcomeOp { return spPipeWireOp{} }, hst.Template, nil, []stub.Call{}, newI(). // state.instance Ephemeral(system.Process, m(wantInstancePrefix), 0711). // toSystem PipeWire( m(wantInstancePrefix + "/pipewire"), ), sysUsesInstance(nil), nil, insertsOps(afterSpRuntimeOp(nil)), []stub.Call{ // this op configures the container state and does not make calls during toContainer }, &container.Params{ Ops: new(container.Ops). Bind(m(wantInstancePrefix+"/pipewire"), m("/run/user/1000/pipewire-0"), 0), }, paramsWantEnv(config, map[string]string{ pipewire.Remote: "/run/user/1000/pipewire-0", }, nil), nil}, }) }