mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
a991379a74
Some tests are not fully rewritten in Go, a typescript wrapper is called instead until we remove the remaining TS tests and dependencies. Also, dockerize every components (mainly Authelia backend, frontend and kind) so that the project does not interfere with user host anymore (open ports for instance). The only remaining intrusive change is the one done during bootstrap to add entries in /etc/hosts. It will soon be avoided using authelia.com domain that I own.
64 lines
1.4 KiB
Go
64 lines
1.4 KiB
Go
package suites
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
// Suite the definition of a suite
|
|
type Suite struct {
|
|
TestTimeout time.Duration
|
|
SetUp func(tmpPath string) error
|
|
SetUpTimeout time.Duration
|
|
TearDown func(tmpPath string) error
|
|
TearDownTimeout time.Duration
|
|
|
|
// A textual description of the suite purpose.
|
|
Description string
|
|
}
|
|
|
|
// Registry represent a registry of suite by name
|
|
type Registry struct {
|
|
registry map[string]Suite
|
|
}
|
|
|
|
// GlobalRegistry a global registry used by Authelia tooling
|
|
var GlobalRegistry *Registry
|
|
|
|
func init() {
|
|
GlobalRegistry = NewSuitesRegistry()
|
|
}
|
|
|
|
// NewSuitesRegistry create a suites registry
|
|
func NewSuitesRegistry() *Registry {
|
|
return &Registry{make(map[string]Suite)}
|
|
}
|
|
|
|
// Register register a suite by name
|
|
func (sr *Registry) Register(name string, suite Suite) {
|
|
if _, found := sr.registry[name]; found {
|
|
log.Fatal(fmt.Sprintf("Trying to register the suite %s multiple times", name))
|
|
}
|
|
sr.registry[name] = suite
|
|
}
|
|
|
|
// Get return a suite by name
|
|
func (sr *Registry) Get(name string) Suite {
|
|
s, found := sr.registry[name]
|
|
if !found {
|
|
log.Fatal(fmt.Sprintf("The suite %s does not exist", name))
|
|
}
|
|
return s
|
|
}
|
|
|
|
// Suites list available suites
|
|
func (sr *Registry) Suites() []string {
|
|
suites := make([]string, 0)
|
|
for k := range sr.registry {
|
|
suites = append(suites, k)
|
|
}
|
|
return suites
|
|
}
|