Add tests for the platform server command (#8231)

* Cleanup app state on initialization error

When returning an initialization error, the app state was not cleaned
up. This is especially visible during tests, as `appCount` is not
decremented, and makes the new app initialization fail.

* Test the `platform server` command

As the `platform server` command only exits when interrupted by
a signal, it is not possible to test it as the other cobra
commands. Instead we directly test the actual command function.

The internal command handler is slighly refactored to take
a channel in argument, and registers it as the signal handler.
Nothing very different—except than controlling this channel
from the outside allows the test to send the system signal
itself, thus preventing the server to run forever.
Этот коммит содержится в:
Pierre de La Morinerie
2018-02-12 22:16:32 +05:30
коммит произвёл Christopher Speller
родитель 3e0c3eff9f
Коммит 07fd7aeeb8
4 изменённых файлов: 89 добавлений и 10 удалений

Просмотреть файл

@@ -11,9 +11,9 @@ import (
"github.com/mattermost/mattermost-server/model"
)
const (
DEFAULT_WATCHER_POLLING_INTERVAL = 15000
)
// Default polling interval for jobs termination.
// (Defining as `var` rather than `const` allows tests to lower the interval.)
var DEFAULT_WATCHER_POLLING_INTERVAL = 15000
type Watcher struct {
srv *JobServer