public void TestECSCredentialsLocal()
{
string uri = "/ECS/Test/Endpoint/";
string accessKey = "SomeKey";
string secretKey = "SomeSecretKey";
string token = "Token";
string expiration = DateTime.UtcNow.AddHours(1).ToString("s") + "Z";
System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, uri);
using (ResponseTestServlet servlet = new ResponseTestServlet(uri))
{
string server = "http://localhost:" + servlet.Port;
servlet.Response = string.Format(
@"{{
""AccessKeyId"" : ""{0}"",
""SecretAccessKey"" : ""{1}"",
""Token"" : ""{2}"",
""Expiration"" : ""{3}""
}}", accessKey, secretKey, token, expiration);
ECSTaskCredentials generator = new ECSTaskCredentials();
FieldInfo serverField = generator.GetType().GetField("Server", BindingFlags.Instance | BindingFlags.NonPublic );
Assert.IsNotNull(serverField);
serverField.SetValue(generator, server);
ImmutableCredentials credentials = generator.GetCredentials();
Assert.AreEqual(accessKey, credentials.AccessKey);
Assert.AreEqual(secretKey, credentials.SecretKey);
Assert.AreEqual(token, credentials.Token);
}
System.Environment.SetEnvironmentVariable(ECSTaskCredentials.ContainerCredentialsURIEnvVariable, "");
}