mirror of
https://github.com/grafana/grafana.git
synced 2024-11-27 19:30:36 -06:00
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package cloudwatch
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds"
|
|
"github.com/aws/aws-sdk-go/aws/credentials/endpointcreds"
|
|
"github.com/aws/aws-sdk-go/aws/session"
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func TestECSCredProvider(t *testing.T) {
|
|
Convey("Running in an ECS container task", t, func() {
|
|
defer os.Clearenv()
|
|
os.Setenv("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI", "/abc/123")
|
|
|
|
sess, _ := session.NewSession()
|
|
provider := remoteCredProvider(sess)
|
|
|
|
So(provider, ShouldNotBeNil)
|
|
|
|
ecsProvider, ok := provider.(*endpointcreds.Provider)
|
|
So(ecsProvider, ShouldNotBeNil)
|
|
So(ok, ShouldBeTrue)
|
|
|
|
So(ecsProvider.Client.Endpoint, ShouldEqual, fmt.Sprintf("http://169.254.170.2/abc/123"))
|
|
})
|
|
}
|
|
|
|
func TestDefaultEC2RoleProvider(t *testing.T) {
|
|
Convey("Running outside an ECS container task", t, func() {
|
|
sess, _ := session.NewSession()
|
|
provider := remoteCredProvider(sess)
|
|
|
|
So(provider, ShouldNotBeNil)
|
|
|
|
ec2Provider, ok := provider.(*ec2rolecreds.EC2RoleProvider)
|
|
So(ec2Provider, ShouldNotBeNil)
|
|
So(ok, ShouldBeTrue)
|
|
})
|
|
}
|