summaryrefslogtreecommitdiff
path: root/vendor/aws/aws-crt-php/tests/CredentialsTest.php
blob: 32a9c42685914846960c08613405076a60b64659 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
/**
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * SPDX-License-Identifier: Apache-2.0.
 */
use AWS\CRT\Auth\AwsCredentials as AwsCredentials;
use AWS\CRT\Auth\StaticCredentialsProvider as StaticCredentialsProvider;

require_once('common.inc');

final class CredentialsTest extends CrtTestCase {

    public function testEmptyCredentials() {
        $this->expectException(InvalidArgumentException::class);
        $creds = new AwsCredentials(AwsCredentials::defaults());
        $this->assertNotNull($creds, "Failed to create default/empty credentials");
        $creds = null;
    }

    private function getCredentialsConfig() {
        $options = AwsCredentials::defaults();
        $options['access_key_id'] = 'TESTAWSACCESSKEYID';
        $options['secret_access_key'] = 'TESTSECRETaccesskeyThatDefinitelyDoesntWork';
        $options['session_token'] = 'ThisIsMyTestSessionTokenIMadeItUpMyself';
        $options['expiration_timepoint_seconds'] = 42;
        return $options;
    }

    public function testCredentialsLifetime() {
        $options = $this->getCredentialsConfig();
        $creds = new AwsCredentials($options);
        $this->assertNotNull($creds, "Failed to create Credentials with options");
        $this->assertEquals($creds->access_key_id, $options['access_key_id']);
        $this->assertEquals($creds->secret_access_key, $options['secret_access_key']);
        $this->assertEquals($creds->session_token, $options['session_token']);
        $this->assertEquals($creds->expiration_timepoint_seconds, $options['expiration_timepoint_seconds']);
        $creds = null;
    }

    public function testStaticCredentialsProviderLifetime() {
        $options = $this->getCredentialsConfig();
        $provider = new StaticCredentialsProvider($options);
        $this->assertNotNull($provider, "Failed to create StaticCredentialsProvider");
        $provider = null;
    }
}