2014-09-14 02:45:56 +02:00
|
|
|
package module
|
|
|
|
|
|
|
|
import (
|
2014-09-14 03:54:12 +02:00
|
|
|
"io/ioutil"
|
2014-09-14 02:45:56 +02:00
|
|
|
"net/url"
|
2014-09-14 03:54:12 +02:00
|
|
|
"os"
|
2014-09-14 02:45:56 +02:00
|
|
|
"path/filepath"
|
2014-09-14 03:54:12 +02:00
|
|
|
"testing"
|
2014-09-14 23:46:45 +02:00
|
|
|
|
|
|
|
"github.com/hashicorp/terraform/config"
|
2015-02-03 20:44:34 +01:00
|
|
|
urlhelper "github.com/hashicorp/terraform/helper/url"
|
2014-09-14 02:45:56 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
const fixtureDir = "./test-fixtures"
|
|
|
|
|
2014-09-14 03:54:12 +02:00
|
|
|
func tempDir(t *testing.T) string {
|
|
|
|
dir, err := ioutil.TempDir("", "tf")
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
}
|
|
|
|
if err := os.RemoveAll(dir); err != nil {
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return dir
|
|
|
|
}
|
|
|
|
|
2014-09-14 23:46:45 +02:00
|
|
|
func testConfig(t *testing.T, n string) *config.Config {
|
|
|
|
c, err := config.LoadDir(filepath.Join(fixtureDir, n))
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("err: %s", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return c
|
|
|
|
}
|
|
|
|
|
2014-09-14 02:45:56 +02:00
|
|
|
func testModule(n string) string {
|
|
|
|
p := filepath.Join(fixtureDir, n)
|
|
|
|
p, err := filepath.Abs(p)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
2015-01-27 22:19:49 +01:00
|
|
|
return fmtFileURL(p)
|
2014-09-14 02:45:56 +02:00
|
|
|
}
|
2014-09-15 01:17:29 +02:00
|
|
|
|
2014-09-16 08:52:27 +02:00
|
|
|
func testModuleURL(n string) *url.URL {
|
2015-02-03 20:44:34 +01:00
|
|
|
u, err := urlhelper.Parse(testModule(n))
|
2014-09-16 08:52:27 +02:00
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return u
|
|
|
|
}
|
|
|
|
|
2014-09-15 01:17:29 +02:00
|
|
|
func testStorage(t *testing.T) Storage {
|
|
|
|
return &FolderStorage{StorageDir: tempDir(t)}
|
|
|
|
}
|