Skip to content

Commit

Permalink
Clean up testing style
Browse files Browse the repository at this point in the history
  • Loading branch information
jeskew committed Sep 24, 2015
1 parent d72d77e commit ecfc42b
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 34 deletions.
14 changes: 6 additions & 8 deletions src/Credentials/CredentialProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -280,14 +280,12 @@ public static function ini($profile = null, $filename = null)
return self::reject("No credentials present in INI profile "
. "'$profile' ($filename)");
}
if (!isset($data[$profile]['aws_session_token'])
) {
$data[$profile]['aws_session_token'] = null;
if (isset($data[$profile]['aws_security_token'])
) {
$data[$profile]['aws_session_token'] = $data[$profile]['aws_security_token'];
unset($data[$profile]['aws_security_token']);
}

if (empty($data[$profile]['aws_session_token'])) {
$data[$profile]['aws_session_token']
= isset($data[$profile]['aws_security_token'])
? $data[$profile]['aws_security_token']
: null;
}

return Promise\promise_for(
Expand Down
63 changes: 37 additions & 26 deletions tests/Credentials/CredentialProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -133,41 +133,52 @@ public function testCreatesFromEnvironmentVariables()
$this->assertEquals('abc', $creds->getAccessKeyId());
}

public function testCreatesFromIniFile()
/**
* @dataProvider iniFileProvider
*
* @param string $iniFile
* @param Credentials $expectedCreds
*/
public function testCreatesFromIniFile($iniFile, Credentials $expectedCreds)
{
$dir = $this->clearEnv();
$ini = <<<EOT
[default]
aws_access_key_id = foo
aws_secret_access_key = baz
aws_session_token = tok
EOT;
file_put_contents($dir . '/credentials', $ini);
file_put_contents($dir . '/credentials', $iniFile);
putenv('HOME=' . dirname($dir));
$creds = call_user_func(CredentialProvider::ini())->wait();
$this->assertEquals('foo', $creds->getAccessKeyId());
$this->assertEquals('baz', $creds->getSecretKey());
$this->assertEquals('tok', $creds->getSecurityToken());
$creds = call_user_func(CredentialProvider::ini('default'))
->wait();
$this->assertEquals($expectedCreds->toArray(), $creds->toArray());
unlink($dir . '/credentials');
}

public function testCreatesFromOldIniFile()
{
$dir = $this->clearEnv();
$ini = <<<EOT
public function iniFileProvider()
{
$credentials = new Credentials('foo', 'bar', 'baz');
$standardIni = <<<EOT
[default]
aws_access_key_id = foo
aws_secret_access_key = baz
aws_security_token = tok
aws_secret_access_key = bar
aws_session_token = baz
EOT;
file_put_contents($dir . '/credentials', $ini);
putenv('HOME=' . dirname($dir));
$creds = call_user_func(CredentialProvider::ini())->wait();
$this->assertEquals('foo', $creds->getAccessKeyId());
$this->assertEquals('baz', $creds->getSecretKey());
$this->assertEquals('tok', $creds->getSecurityToken());
unlink($dir . '/credentials');
}
$oldIni = <<<EOT
[default]
aws_access_key_id = foo
aws_secret_access_key = bar
aws_security_token = baz
EOT;
$mixedIni = <<<EOT
[default]
aws_access_key_id = foo
aws_secret_access_key = bar
aws_session_token = baz
aws_security_token = fizz
EOT;

return [
[$standardIni, $credentials],
[$oldIni, $credentials],
[$mixedIni, $credentials],
];
}

/**
* @expectedException \Aws\Exception\CredentialsException
Expand Down

0 comments on commit ecfc42b

Please sign in to comment.