safing-portmaster/spn/navigator/state_test.go

31 lines
925 B
Go

package navigator
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestStates(t *testing.T) {
t.Parallel()
p := &Pin{}
p.addStates(StateInvalid | StateFailing | StateSuperseded)
assert.Equal(t, StateInvalid|StateFailing|StateSuperseded, p.State)
p.removeStates(StateFailing | StateSuperseded)
assert.Equal(t, StateInvalid, p.State)
p.addStates(StateTrusted | StateActive)
assert.True(t, p.State.Has(StateInvalid|StateTrusted))
assert.False(t, p.State.Has(StateInvalid|StateSuperseded))
assert.True(t, p.State.HasAnyOf(StateInvalid|StateTrusted))
assert.True(t, p.State.HasAnyOf(StateInvalid|StateSuperseded))
assert.False(t, p.State.HasAnyOf(StateSuperseded|StateFailing))
assert.False(t, p.State.Has(StateSummaryRegard))
assert.False(t, p.State.Has(StateSummaryDisregard))
assert.True(t, p.State.HasAnyOf(StateSummaryRegard))
assert.True(t, p.State.HasAnyOf(StateSummaryDisregard))
}