orbiter/core/daemon_test.go
Gianluca Arbezzano 3ce4c171f1 Fixed tests
2017-03-15 21:56:58 +00:00

110 lines
2.1 KiB
Go

package core
import (
"testing"
"github.com/gianarb/orbiter/autoscaler"
)
func TestNewCore(t *testing.T) {
core := Core{
Autoscalers: autoscaler.Autoscalers{},
}
conf := map[string]AutoscalerConf{
"first-scaler": AutoscalerConf{
Provider: "fake",
Parameters: map[string]string{},
Policies: map[string]PolicyConf{
"frontend": PolicyConf{
Up: 3,
Down: 10,
},
},
},
"second-scaler": AutoscalerConf{
Provider: "fake",
Parameters: map[string]string{},
Policies: map[string]PolicyConf{
"micro": PolicyConf{
Up: 6,
Down: 2,
},
"service": PolicyConf{
Up: 3,
Down: 1,
},
},
},
}
err := NewCoreByConfig(conf, &core)
if err != nil {
t.Fatal(err)
}
if len(core.Autoscalers) != 3 {
t.Fatalf("This core needs to have 2 autoscalers. Not %d", len(core.Autoscalers))
}
}
func TestGetSingleAutoscaler(t *testing.T) {
core := Core{
Autoscalers: autoscaler.Autoscalers{},
}
conf := map[string]AutoscalerConf{
"second": AutoscalerConf{
Provider: "fake",
Parameters: map[string]string{},
Policies: map[string]PolicyConf{
"micro": PolicyConf{
Up: 6,
Down: 2,
},
"service": PolicyConf{
Up: 3,
Down: 1,
},
},
},
}
NewCoreByConfig(conf, &core)
_, ok := core.Autoscalers["second/micro"]
if ok == false {
t.Fatal("micro exist")
}
}
func TestNewCoreWithUnsupportedProvider(t *testing.T) {
core := Core{
Autoscalers: autoscaler.Autoscalers{},
}
conf := map[string]AutoscalerConf{
"second-scaler": AutoscalerConf{
Provider: "fake",
Parameters: map[string]string{},
Policies: map[string]PolicyConf{
"micro": PolicyConf{
Up: 6,
Down: 2,
},
"service": PolicyConf{
Up: 3,
Down: 1,
},
},
},
"first-scaler": AutoscalerConf{
Provider: "lalala",
Parameters: map[string]string{},
Policies: map[string]PolicyConf{
"frontend": PolicyConf{
Up: 3,
Down: 10,
},
},
},
}
err := NewCoreByConfig(conf, &core)
if err.Error() != "lalala not supported." {
t.Fatal(err)
}
}