| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 |
- <?php
- namespace AlibabaCloud\Client\Tests\Feature\Credentials;
- use PHPUnit\Framework\TestCase;
- use AlibabaCloud\Client\AlibabaCloud;
- use AlibabaCloud\Client\Exception\ClientException;
- use AlibabaCloud\Client\Credentials\Ini\IniCredential;
- use AlibabaCloud\Client\Tests\Unit\Credentials\Ini\VirtualAccessKeyCredential;
- use AlibabaCloud\Client\Tests\Unit\Credentials\Ini\VirtualRamRoleArnCredential;
- use AlibabaCloud\Client\Tests\Unit\Credentials\Ini\VirtualRsaKeyPairCredential;
- use AlibabaCloud\Client\Tests\Unit\Credentials\Ini\VirtualEcsRamRoleCredential;
- use AlibabaCloud\Client\Tests\Unit\Credentials\Ini\VirtualBearerTokenCredential;
- /**
- * Class IniCredentialFeatureTest
- *
- * @package AlibabaCloud\Client\Tests\Feature\Credentials
- *
- * @coversDefaultClass \AlibabaCloud\Client\Credentials\Ini\IniCredential
- */
- class IniCredentialFeatureTest extends TestCase
- {
- /**
- * @after
- * @throws ClientException
- */
- protected function finalize()
- {
- parent::tearDown();
- AlibabaCloud::del('phpunit');
- IniCredential::forgetLoadedCredentialsFile();
- }
- public function testBadFormat()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionMessage('Format error: vfs://AlibabaCloud/credentials-1');
- AlibabaCloud::load(VirtualAccessKeyCredential::badFormat());
-
- }
- public function testLoadCredentialsFile()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $reg = '/Credential file is not readable: \w+/';
- if (method_exists($this, 'expectExceptionMessageMatches')) {
- $this->expectExceptionMessageMatches($reg);
- } elseif (method_exists($this, 'expectExceptionMessageRegExp')) {
- $this->expectExceptionMessageRegExp($reg);
- }
- AlibabaCloud::load('no/file');
-
- }
- public function testLoadDirectory()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionMessage('Credential file is not readable: /root/AlibabaCloud/NoneFile');
- AlibabaCloud::load('/root/AlibabaCloud/NoneFile');
-
- }
- /**
- * @throws ClientException
- */
- public function testDisableClient()
- {
- AlibabaCloud::load(VirtualAccessKeyCredential::disable());
- self::assertFalse(AlibabaCloud::has('phpunit'));
-
- }
- public function testNoType()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'type' option for 'phpunit'");
- AlibabaCloud::load(VirtualAccessKeyCredential::noType());
-
- }
- public function testInvalidType()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Invalid type 'invalidType' for 'phpunit'");
- AlibabaCloud::load(VirtualAccessKeyCredential::invalidType());
-
- }
- public function testNoKey()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'access_key_id' option for 'phpunit'");
- AlibabaCloud::load(VirtualAccessKeyCredential::noKey());
-
- }
- public function testNoSecret()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'access_key_secret' option for 'phpunit'");
- AlibabaCloud::load(VirtualAccessKeyCredential::noSecret());
-
- }
- /**
- * @throws ClientException
- */
- public function testAccessKeyOk()
- {
- AlibabaCloud::load(VirtualAccessKeyCredential::ok());
- $client = AlibabaCloud::get('ok');
- self::assertEquals('foo', $client->getCredential()->getAccessKeyId());
- self::assertEquals('bar', $client->getCredential()->getAccessKeySecret());
- self::assertEquals(0.2, $client->options['timeout']);
- self::assertEquals(0.03, $client->options['connect_timeout']);
- self::assertEquals(true, $client->options['debug']);
- self::assertEquals('tcp://localhost:8125', $client->options['proxy']['http']);
- self::assertEquals('tcp://localhost:9124', $client->options['proxy']['https']);
- self::assertEquals(['.mit.edu', 'foo.com'], $client->options['proxy']['no']);
- self::assertEquals(['/path/server.pem', 'password'], $client->options['cert']);
- self::assertEquals('cn-hangzhou', $client->regionId);
-
- }
- /**
- * @throws ClientException
- */
- public function testEcsRamRoleClient()
- {
- AlibabaCloud::load(VirtualEcsRamRoleCredential::client());
- self::assertTrue(AlibabaCloud::has('phpunit'));
-
- }
- public function testEcsRamRoleClientNoRoleName()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'role_name' option for 'phpunit'");
- AlibabaCloud::load(VirtualEcsRamRoleCredential::noRoleName());
-
- }
- /**
- * @throws ClientException
- */
- public function testRamRoleArnClient()
- {
- AlibabaCloud::load(VirtualRamRoleArnCredential::client());
- self::assertTrue(AlibabaCloud::has('phpunit'));
-
- }
- public function testRamRoleArnClientNoKey()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'access_key_id' option for 'phpunit'");
- AlibabaCloud::load(VirtualRamRoleArnCredential::noKey());
-
- }
- public function testRamRoleArnClientNoSecret()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'access_key_secret' option for 'phpunit'");
- AlibabaCloud::load(VirtualRamRoleArnCredential::noSecret());
-
- }
- public function testRamRoleArnClientNoRoleArn()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'role_arn' option for 'phpunit'");
- AlibabaCloud::load(VirtualRamRoleArnCredential::noRoleArn());
-
- }
- public function testRamRoleArnClientNoRoleSessionName()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'role_session_name' option for 'phpunit'");
- AlibabaCloud::load(VirtualRamRoleArnCredential::noRoleSessionName());
-
- }
- /**
- * @throws ClientException
- */
- public function testBearerTokenClient()
- {
- AlibabaCloud::load(VirtualBearerTokenCredential::client());
- self::assertTrue(AlibabaCloud::has('phpunit'));
-
- }
- public function testBearerTokenClientNoToken()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'bearer_token' option for 'phpunit'");
- AlibabaCloud::load(VirtualBearerTokenCredential::noToken());
-
- }
- /**
- * @throws ClientException
- */
- public function testAkClientWithAttributes()
- {
- AlibabaCloud::load(VirtualAccessKeyCredential::akClientWithAttributes('akClientWithAttributes'));
- AlibabaCloud::load(VirtualAccessKeyCredential::akClientWithAttributesNoCertPassword('NoCertPassword'));
- static::assertTrue(AlibabaCloud::has('akClientWithAttributes'));
- static::assertFalse(AlibabaCloud::has('NoCertPassword'));
-
- }
- /**
- * @throws ClientException
- */
- public function testAkClientWithAttributesNoCertPassword()
- {
- AlibabaCloud::load(VirtualAccessKeyCredential::akClientWithAttributesNoCertPassword('NoCertPassword'));
- static::assertTrue(AlibabaCloud::has('NoCertPassword'));
-
- }
- public function testNoPublicKeyId()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'public_key_id' option for 'phpunit'");
- AlibabaCloud::load(VirtualRsaKeyPairCredential::noPublicKeyId());
-
- }
- public function testNoPrivateKeyFile()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $this->expectExceptionMessage("Missing required 'private_key_file' option for 'phpunit'");
- AlibabaCloud::load(VirtualRsaKeyPairCredential::noPrivateKeyFile());
-
- }
- public function testBadPrivateKeyFilePath()
- {
- $this->expectException(ClientException::class);
- $this->expectExceptionCode(0);
- $reg = '/file_get_contents/';
- if (method_exists($this, 'expectExceptionMessageMatches')) {
- $this->expectExceptionMessageMatches($reg);
- } elseif (method_exists($this, 'expectExceptionMessageRegExp')) {
- $this->expectExceptionMessageRegExp($reg);
- }
- AlibabaCloud::load(VirtualRsaKeyPairCredential::badPrivateKeyFilePath());
-
- }
- }
|