config: error if unknown filetype

This commit is contained in:
Mitchell Hashimoto 2014-05-23 15:42:29 -07:00
parent 04d88b0540
commit aadb24aa08
3 changed files with 20 additions and 1 deletions

View File

@ -2,6 +2,7 @@ package config
import (
"fmt"
"path/filepath"
)
// configurable is an interface that must be implemented by any configuration
@ -30,7 +31,17 @@ type fileLoaderFunc func(path string) (configurable, []string, error)
// file. This function detects what kind of configuration file it is an
// executes the proper fileLoaderFunc.
func loadTree(root string) (*importTree, error) {
c, imps, err := loadFileLibucl(root)
var f fileLoaderFunc
switch filepath.Ext(root) {
case ".tf":
f = loadFileLibucl
default:
return nil, fmt.Errorf(
"%s: uknown configuration format. Use '.tf' or '.tf.rb' extension",
root)
}
c, imps, err := f(root)
if err != nil {
return nil, err
}

View File

@ -7,6 +7,13 @@ import (
"testing"
)
func TestLoad_badType(t *testing.T) {
_, err := Load(filepath.Join(fixtureDir, "bad_type.tf.nope"))
if err == nil {
t.Fatal("should have error")
}
}
func TestLoadBasic(t *testing.T) {
c, err := Load(filepath.Join(fixtureDir, "basic.tf"))
if err != nil {

View File

@ -0,0 +1 @@
variable "foo" {}