github.com/safing/portbase@v0.19.5/config/registry_test.go (about)

     1  package config
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestRegistry(t *testing.T) { //nolint:paralleltest
     8  	// reset
     9  	options = make(map[string]*Option)
    10  
    11  	if err := Register(&Option{
    12  		Name:            "name",
    13  		Key:             "key",
    14  		Description:     "description",
    15  		ReleaseLevel:    ReleaseLevelStable,
    16  		ExpertiseLevel:  ExpertiseLevelUser,
    17  		OptType:         OptTypeString,
    18  		DefaultValue:    "water",
    19  		ValidationRegex: "^(banana|water)$",
    20  	}); err != nil {
    21  		t.Error(err)
    22  	}
    23  
    24  	if err := Register(&Option{
    25  		Name:            "name",
    26  		Key:             "key",
    27  		Description:     "description",
    28  		ReleaseLevel:    ReleaseLevelStable,
    29  		ExpertiseLevel:  ExpertiseLevelUser,
    30  		OptType:         0,
    31  		DefaultValue:    "default",
    32  		ValidationRegex: "^[A-Z][a-z]+$",
    33  	}); err == nil {
    34  		t.Error("should fail")
    35  	}
    36  
    37  	if err := Register(&Option{
    38  		Name:            "name",
    39  		Key:             "key",
    40  		Description:     "description",
    41  		ReleaseLevel:    ReleaseLevelStable,
    42  		ExpertiseLevel:  ExpertiseLevelUser,
    43  		OptType:         OptTypeString,
    44  		DefaultValue:    "default",
    45  		ValidationRegex: "[",
    46  	}); err == nil {
    47  		t.Error("should fail")
    48  	}
    49  }