summaryrefslogtreecommitdiff
path: root/gomplate_test.go
diff options
context:
space:
mode:
authorSuresh Kumar <sureshkumar.pp@gmail.com>2022-05-31 01:36:12 +0530
committerGitHub <noreply@github.com>2022-05-30 20:06:12 +0000
commit8f6cd731a77b015bee4c98e631363db02cc7063a (patch)
treeb18f321634f2e96821c4e22609ba49ae85bac353 /gomplate_test.go
parentc56cd06cf44f2495e6bec65fe904855e38e6ed18 (diff)
Add support for aws imdsv2 (#1402)
* Use ec2metadata package from aws-sdk This will handle IMDSv2 etc tranparently (and as well any future changes) * Fix linter errors * Fix dynamic data retrieval * Fix vault ec2 auth test failures
Diffstat (limited to 'gomplate_test.go')
-rw-r--r--gomplate_test.go20
1 files changed, 8 insertions, 12 deletions
diff --git a/gomplate_test.go b/gomplate_test.go
index 0d621ab7..28adbf8d 100644
--- a/gomplate_test.go
+++ b/gomplate_test.go
@@ -3,7 +3,6 @@ package gomplate
import (
"bytes"
"context"
- "net/http/httptest"
"os"
"path/filepath"
"testing"
@@ -53,26 +52,23 @@ func TestBoolTemplates(t *testing.T) {
}
func TestEc2MetaTemplates(t *testing.T) {
- createGomplate := func(status int, body string) (*gomplate, *httptest.Server) {
- server, ec2meta := aws.MockServer(status, body)
- return &gomplate{funcMap: template.FuncMap{"ec2meta": ec2meta.Meta}}, server
+ createGomplate := func(data map[string]string, region string) *gomplate {
+ ec2meta := aws.MockEC2Meta(data, nil, region)
+ return &gomplate{funcMap: template.FuncMap{"ec2meta": ec2meta.Meta}}
}
- g, s := createGomplate(404, "")
- defer s.Close()
+ g := createGomplate(nil, "")
assert.Equal(t, "", testTemplate(t, g, `{{ec2meta "foo"}}`))
assert.Equal(t, "default", testTemplate(t, g, `{{ec2meta "foo" "default"}}`))
- s.Close()
- g, s = createGomplate(200, "i-1234")
- defer s.Close()
+ g = createGomplate(map[string]string{"instance-id": "i-1234"}, "")
assert.Equal(t, "i-1234", testTemplate(t, g, `{{ec2meta "instance-id"}}`))
assert.Equal(t, "i-1234", testTemplate(t, g, `{{ec2meta "instance-id" "default"}}`))
}
func TestEc2MetaTemplates_WithJSON(t *testing.T) {
- server, ec2meta := aws.MockServer(200, `{"foo":"bar"}`)
- defer server.Close()
+ ec2meta := aws.MockEC2Meta(map[string]string{"obj": `"foo": "bar"`}, map[string]string{"obj": `"foo": "baz"`}, "")
+
g := &gomplate{
funcMap: template.FuncMap{
"ec2meta": ec2meta.Meta,
@@ -82,7 +78,7 @@ func TestEc2MetaTemplates_WithJSON(t *testing.T) {
}
assert.Equal(t, "bar", testTemplate(t, g, `{{ (ec2meta "obj" | json).foo }}`))
- assert.Equal(t, "bar", testTemplate(t, g, `{{ (ec2dynamic "obj" | json).foo }}`))
+ assert.Equal(t, "baz", testTemplate(t, g, `{{ (ec2dynamic "obj" | json).foo }}`))
}
func TestJSONArrayTemplates(t *testing.T) {