<?php /** * Akeeba Engine * * @package akeebaengine * @copyright Copyright (c)2006-2020 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Default Amazon S3 Access Key define('DEFAULT_ACCESS_KEY', 'your s3 access key'); // Default Amazon S3 Secret Key define('DEFAULT_SECRET_KEY', 'your secret key'); // Default region for the bucket define('DEFAULT_REGION', 'us-east-1'); // Default bucket name define('DEFAULT_BUCKET', 'example'); // Default signature method (v4 or v2) define('DEFAULT_SIGNATURE', 'v4'); // Use Dualstack unless otherwise specified? define('DEFAULT_DUALSTACK', false); // Use legacy path access by default? define('DEFAULT_PATH_ACCESS', false); // Should I use SSL by default? define('DEFAULT_SSL', true); /** * Tests for standard key pairs allowing us to read, write and delete * * This is the main test suite */ $standardTests = [ 'BucketsList', 'BucketLocation', 'SmallFiles', 'SmallInlineFiles', 'SignedURLs', 'StorageClasses', 'ListFiles', 'BigFiles', 'Multipart', ]; /** * Tests for key pairs or buckets which do NOT allow us to delete, but DO allow us to write and read data * * Example: archival buckets */ $noDeleteTests = [ 'SmallFilesNoDelete', 'SmallInlineFilesNoDelete', ]; /** * Tests for key pairs which do NOT allow us to read, but DO allow us to write/delete * * Example: write-only key pairs per my documentation information from 2011 :) */ $writeOnlyTests = [ 'SmallFilesOnlyUpload', 'SmallInlineFilesOnlyUpload', ]; /** * These are the individual test configurations. * * Each configuration consists of two keys: * * * **configuration** Overrides to the default configuration. * * **tests** The names of the test classes to execute. Use the format ['classname', 'method'] to execute * specific test methods only. */ $testConfigurations = [ // Format of each // 'Description of this configuration' => array( // 'configuration' => array( // // You can skip one or more keys. The defaults will be used. // 'access' => 'a different access key', // 'secret' => 'a different secret key', // 'region' => 'eu-west-1', // 'bucket' => 'different_example', // 'signature' => 'v2', // 'dualstack' => true, // 'path_access' => true, // 'ssl' => true, // // Only if you want to use a custom, non-Amazon endpoint // 'endpoint' => null, // ), // 'tests' => array( // // Use a start to run all tests // '*', // // Alternatively you can define single test classes: // 'SmallFiles', // // ..or specific tests: // array('SmallFiles', 'upload10KbRoot'), // ) // ), /**/ /** * These are the standard tests we run for each region and key pair. * * For all available regions please consult https://docs.aws.amazon.com/general/latest/gr/s3.html * * It is recommended to run against the following regions: * - eu-east-1 The original Amazon S3 region, it often has special meaning in APIs. * - eu-west-1 Ireland. The original EU region for S3, as a test for the non-default region. * - eu-central-1 Frankfurt. This region –like all newer regions– only allows v4 signatures! * - cn-north-1 Beijing, China. Requires running it from inside China. * - NON-AMAZON A custom endpoint for a third party, S3-compatible API. Ideally one for v2 and one for v4. * * Further to that test the following: * - Write-only, bucket-restricted keys * - Read/write, bucket-restricted keys * - Buckets with dots * - Buckets with uppercase letters * - Buckets with international letters * - Access from within EC2 */ 'Global key, v4, DNS, single stack' => [ 'configuration' => [ 'signature' => 'v4', 'dualstack' => false, 'path_access' => false, ], 'tests' => $standardTests, ], 'Global key, v4, DNS, dual stack' => [ 'configuration' => [ 'signature' => 'v4', 'dualstack' => true, 'path_access' => false, ], 'tests' => $standardTests, ], 'Global key, v4, path, single stack' => [ 'configuration' => [ 'signature' => 'v4', 'dualstack' => false, 'path_access' => true, ], 'tests' => $standardTests, ], 'Global key, v4, path, dual stack' => [ 'configuration' => [ 'signature' => 'v4', 'dualstack' => true, 'path_access' => true, ], 'tests' => $standardTests, ], 'Global key, v2, DNS, single stack' => [ 'configuration' => [ 'signature' => 'v2', 'dualstack' => false, 'path_access' => false, ], 'tests' => $standardTests, ], 'Global key, v2, DNS, dual stack' => [ 'configuration' => [ 'signature' => 'v2', 'dualstack' => true, 'path_access' => false, ], 'tests' => $standardTests, ], ];