talos/internal/app/machined/pkg/system/system_test.go
Andrey Smirnov cbb7ca8390 refactor: merge osd into machined
This merges `osd` API into `machined`. API was copied from `osd` into
`machined`, and `osd` API was deprecated.

For backwards compatibility, `machined` still implements `osd` API, so
older Talos API clients can still talk to the node without changes.

Docs were updated. No functional changes.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-07-13 12:50:00 -07:00

50 lines
1.2 KiB
Go

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
package system_test
import (
"context"
"testing"
"time"
"github.com/stretchr/testify/suite"
"github.com/talos-systems/talos/internal/app/machined/pkg/system"
)
type SystemServicesSuite struct {
suite.Suite
}
func (suite *SystemServicesSuite) TestStartShutdown() {
system.Services(nil).LoadAndStart(
&MockService{name: "containerd"},
&MockService{name: "trustd", dependencies: []string{"containerd"}},
&MockService{name: "machined", dependencies: []string{"containerd", "trustd"}},
)
time.Sleep(10 * time.Millisecond)
suite.Require().NoError(system.Services(nil).Unload(context.Background(), "trustd", "notrunning"))
system.Services(nil).Shutdown()
}
func TestSystemServicesSuite(t *testing.T) {
suite.Run(t, new(SystemServicesSuite))
}
func (suite *SystemServicesSuite) TestStartStop() {
system.Services(nil).LoadAndStart(
&MockService{name: "yolo"},
)
time.Sleep(10 * time.Millisecond)
err := system.Services(nil).Stop(
context.TODO(), "yolo",
)
suite.Assert().NoError(err)
}