Initial commit after restructure
This commit is contained in:
65
profiles/profileflags_test.go
Normal file
65
profiles/profileflags_test.go
Normal file
@@ -0,0 +1,65 @@
|
||||
// Copyright Safing ICS Technologies GmbH. Use of this source code is governed by the AGPL license that can be found in the LICENSE file.
|
||||
|
||||
package profiles
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestProfileFlags(t *testing.T) {
|
||||
|
||||
// check if SYSTEM is 1
|
||||
if System != 1 {
|
||||
t.Errorf("System ist first const and must be 1")
|
||||
}
|
||||
if Admin != 2 {
|
||||
t.Errorf("Admin ist second const and must be 2")
|
||||
}
|
||||
|
||||
// check if all IDs have a name
|
||||
for key, entry := range flagIDs {
|
||||
if _, ok := flagNames[entry]; !ok {
|
||||
t.Errorf("could not find entry for %s in flagNames", key)
|
||||
}
|
||||
}
|
||||
|
||||
// check if all names have an ID
|
||||
for key, entry := range flagNames {
|
||||
if _, ok := flagIDs[entry]; !ok {
|
||||
t.Errorf("could not find entry for %d in flagNames", key)
|
||||
}
|
||||
}
|
||||
|
||||
// check Has
|
||||
emptyFlags := ProfileFlags{}
|
||||
for flag, name := range flagNames {
|
||||
if !sortedFlags.Has(flag) {
|
||||
t.Errorf("sortedFlags should have flag %s (%d)", name, flag)
|
||||
}
|
||||
if emptyFlags.Has(flag) {
|
||||
t.Errorf("emptyFlags should not have flag %s (%d)", name, flag)
|
||||
}
|
||||
}
|
||||
|
||||
// check ProfileFlags creation from strings
|
||||
var allFlagStrings []string
|
||||
for _, flag := range *sortedFlags {
|
||||
allFlagStrings = append(allFlagStrings, flagNames[flag])
|
||||
}
|
||||
newFlags, err := FlagsFromNames(allFlagStrings)
|
||||
if err != nil {
|
||||
t.Errorf("error while parsing flags: %s", err)
|
||||
}
|
||||
if newFlags.String() != sortedFlags.String() {
|
||||
t.Errorf("parsed flags are not correct (or tests have not been updated to reflect the right number), expected %v, got %v", *sortedFlags, *newFlags)
|
||||
}
|
||||
|
||||
// check ProfileFlags Stringer
|
||||
flagString := newFlags.String()
|
||||
check := strings.Join(allFlagStrings, ",")
|
||||
if flagString != check {
|
||||
t.Errorf("flag string is not correct, expected %s, got %s", check, flagString)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user