mirror of
https://github.com/siderolabs/talos.git
synced 2025-09-14 18:31:10 +02:00
That's the recommended syntax: https://golangci-lint.run/usage/false-positives/ Signed-off-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
141 lines
2.6 KiB
Go
141 lines
2.6 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/.
|
|
|
|
//nolint:scopelint
|
|
package runtime_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/talos-systems/talos/internal/app/machined/pkg/runtime"
|
|
)
|
|
|
|
func TestSequence_String(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
s runtime.Sequence
|
|
want string
|
|
}{
|
|
{
|
|
name: "boot",
|
|
s: runtime.SequenceBoot,
|
|
want: "boot",
|
|
},
|
|
{
|
|
name: "initialize",
|
|
s: runtime.SequenceInitialize,
|
|
want: "initialize",
|
|
},
|
|
{
|
|
name: "shutdown",
|
|
s: runtime.SequenceShutdown,
|
|
want: "shutdown",
|
|
},
|
|
{
|
|
name: "upgrade",
|
|
s: runtime.SequenceUpgrade,
|
|
want: "upgrade",
|
|
},
|
|
{
|
|
name: "stageUpgrade",
|
|
s: runtime.SequenceStageUpgrade,
|
|
want: "stageUpgrade",
|
|
},
|
|
{
|
|
name: "reboot",
|
|
s: runtime.SequenceReboot,
|
|
want: "reboot",
|
|
},
|
|
{
|
|
name: "reset",
|
|
s: runtime.SequenceReset,
|
|
want: "reset",
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
if got := tt.s.String(); got != tt.want {
|
|
t.Errorf("Sequence.String() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestParseSequence(t *testing.T) {
|
|
type args struct {
|
|
s string
|
|
}
|
|
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
wantSeq runtime.Sequence
|
|
wantErr bool
|
|
}{
|
|
{
|
|
name: "boot",
|
|
args: args{"boot"},
|
|
wantSeq: runtime.SequenceBoot,
|
|
wantErr: false,
|
|
},
|
|
{
|
|
name: "initialize",
|
|
args: args{"initialize"},
|
|
wantSeq: runtime.SequenceInitialize,
|
|
wantErr: false,
|
|
},
|
|
{
|
|
name: "shutdown",
|
|
args: args{"shutdown"},
|
|
wantSeq: runtime.SequenceShutdown,
|
|
wantErr: false,
|
|
},
|
|
{
|
|
name: "upgrade",
|
|
args: args{"upgrade"},
|
|
wantSeq: runtime.SequenceUpgrade,
|
|
wantErr: false,
|
|
},
|
|
{
|
|
name: "stageUpgrade",
|
|
args: args{"stageUpgrade"},
|
|
wantSeq: runtime.SequenceStageUpgrade,
|
|
wantErr: false,
|
|
},
|
|
{
|
|
name: "reboot",
|
|
args: args{"reboot"},
|
|
wantSeq: runtime.SequenceReboot,
|
|
wantErr: false,
|
|
},
|
|
{
|
|
name: "reset",
|
|
args: args{"reset"},
|
|
wantSeq: runtime.SequenceReset,
|
|
wantErr: false,
|
|
},
|
|
{
|
|
name: "invalid",
|
|
args: args{"invalid"},
|
|
wantSeq: 0,
|
|
wantErr: true,
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
gotSeq, err := runtime.ParseSequence(tt.args.s)
|
|
if (err != nil) != tt.wantErr {
|
|
t.Errorf("ParseSequence() error = %v, wantErr %v", err, tt.wantErr)
|
|
|
|
return
|
|
}
|
|
if gotSeq != tt.wantSeq {
|
|
t.Errorf("ParseSequence() = %v, want %v", gotSeq, tt.wantSeq)
|
|
}
|
|
})
|
|
}
|
|
}
|