mirror of
https://github.com/grafana/grafana.git
synced 2024-11-30 12:44:10 -06:00
42 lines
1.0 KiB
Go
42 lines
1.0 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")
|
||
|
|
||
|
provider := remoteCredProvider(&session.Session{})
|
||
|
|
||
|
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() {
|
||
|
provider := remoteCredProvider(&session.Session{})
|
||
|
|
||
|
So(provider, ShouldNotBeNil)
|
||
|
|
||
|
ec2Provider, ok := provider.(*ec2rolecreds.EC2RoleProvider)
|
||
|
So(ec2Provider, ShouldNotBeNil)
|
||
|
So(ok, ShouldBeTrue)
|
||
|
})
|
||
|
}
|