Merge pull request #12 from technosophos/fix/test-dependencies

fix(tiller): set up Tiller environment correctly
pull/613/head
Matt Butcher 8 years ago
commit 50951d87d7

@ -1,9 +1,14 @@
package environment
import (
"github.com/deis/tiller/pkg/engine"
"github.com/deis/tiller/pkg/hapi"
)
const GoTplEngine = "gotpl"
var DefaultEngine = GoTplEngine
// EngineYard maps engine names to engine implementations.
type EngineYard map[string]Engine
@ -12,6 +17,20 @@ func (y EngineYard) Get(k string) (Engine, bool) {
return e, ok
}
// Default returns the default template engine.
//
// The default is specified by DefaultEngine.
//
// If the default template engine cannot be found, this panics.
func (y EngineYard) Default() Engine {
d, ok := y[DefaultEngine]
if !ok {
// This is a developer error!
panic("Default template engine does not exist")
}
return d
}
// Engine represents a template engine that can render templates.
//
// For some engines, "rendering" includes both compiling and executing. (Other
@ -55,5 +74,9 @@ type Environment struct {
// New returns an environment initialized with the defaults.
func New() *Environment {
return &Environment{}
e := engine.New()
var ey EngineYard = map[string]Engine{GoTplEngine: e}
return &Environment{
EngineYard: ey,
}
}

@ -0,0 +1,32 @@
package main
import (
"testing"
"github.com/deis/tiller/cmd/tiller/environment"
"github.com/deis/tiller/pkg/engine"
)
// These are canary tests to make sure that the default server actually
// fulfills its requirements.
var _ environment.Engine = &engine.Engine{}
func TestNewServer(t *testing.T) {
defer func() {
if recover() != nil {
t.Fatalf("Panic trapped. Check EngineYard.Default()")
}
}()
s := newServer()
// This will panic if it is not correct.
s.Environment.EngineYard.Default()
e, ok := s.Environment.EngineYard.Get(environment.GoTplEngine)
if !ok {
t.Fatalf("Could not find GoTplEngine")
}
if e == nil {
t.Fatalf("Template engine GoTplEngine returned nil.")
}
}

@ -4,12 +4,8 @@ import (
"fmt"
"sync"
"testing"
"github.com/deis/tiller/cmd/tiller/environment"
)
var _ environment.Engine = &Engine{}
func TestEngine(t *testing.T) {
e := New()

Loading…
Cancel
Save