load .env file in tests
This commit is contained in:
parent
feb1e4ad0d
commit
5edca2bfd2
4
.env.dist
Normal file
4
.env.dist
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
ENDPOINT=https://api.taobao.com/router/rest
|
||||||
|
APP_KEY=00000000
|
||||||
|
APP_SECRET=d784fa8b6d98d27699781bd9a7cf19f0
|
||||||
|
SESSION=test
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -13,3 +13,4 @@ phpunit.xml
|
|||||||
.project
|
.project
|
||||||
.swp
|
.swp
|
||||||
/nbproject
|
/nbproject
|
||||||
|
.env
|
||||||
|
@ -34,7 +34,8 @@
|
|||||||
"squizlabs/php_codesniffer": "^3.5",
|
"squizlabs/php_codesniffer": "^3.5",
|
||||||
"guzzlehttp/guzzle": "^7.1",
|
"guzzlehttp/guzzle": "^7.1",
|
||||||
"phpcompatibility/php-compatibility": "*",
|
"phpcompatibility/php-compatibility": "*",
|
||||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0"
|
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
|
||||||
|
"vlucas/phpdotenv": "^5.2"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"phpunit": "./vendor/bin/phpunit -c phpunit.xml.dist",
|
"phpunit": "./vendor/bin/phpunit -c phpunit.xml.dist",
|
||||||
|
@ -18,7 +18,6 @@ use RetailCrm\Component\ServiceLocator;
|
|||||||
use RetailCrm\Interfaces\AppDataInterface;
|
use RetailCrm\Interfaces\AppDataInterface;
|
||||||
use RetailCrm\Interfaces\AuthenticatorInterface;
|
use RetailCrm\Interfaces\AuthenticatorInterface;
|
||||||
use RetailCrm\Interfaces\RequestFactoryInterface;
|
use RetailCrm\Interfaces\RequestFactoryInterface;
|
||||||
use RetailCrm\Interfaces\RequestTimestampProviderInterface;
|
|
||||||
use RetailCrm\Model\Request\BaseRequest;
|
use RetailCrm\Model\Request\BaseRequest;
|
||||||
use RetailCrm\Traits\ValidatorAwareTrait;
|
use RetailCrm\Traits\ValidatorAwareTrait;
|
||||||
use Symfony\Component\Validator\Constraints as Assert;
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
@ -49,9 +49,39 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
|
|||||||
/**
|
/**
|
||||||
* @return \RetailCrm\Interfaces\AppDataInterface
|
* @return \RetailCrm\Interfaces\AppDataInterface
|
||||||
*/
|
*/
|
||||||
protected function getAppData(): AppDataInterface
|
protected function getEnvAppData(): AppDataInterface
|
||||||
{
|
{
|
||||||
return new AppData(AppData::OVERSEAS_ENDPOINT, 'appKey', 'helloworld');
|
return $this->getAppData(
|
||||||
|
self::getenv('ENDPOINT', AppData::OVERSEAS_ENDPOINT),
|
||||||
|
self::getenv('APP_KEY', 'appKey'),
|
||||||
|
self::getenv('APP_SECRET', 'helloworld')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $endpoint
|
||||||
|
* @param string $appKey
|
||||||
|
* @param string $appSecret
|
||||||
|
*
|
||||||
|
* @return \RetailCrm\Interfaces\AppDataInterface
|
||||||
|
*/
|
||||||
|
protected function getAppData(
|
||||||
|
string $endpoint = AppData::OVERSEAS_ENDPOINT,
|
||||||
|
string $appKey = 'appKey',
|
||||||
|
string $appSecret = 'helloworld'
|
||||||
|
): AppDataInterface{
|
||||||
|
return new AppData($endpoint, $appKey, $appSecret);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \RetailCrm\Interfaces\AuthenticatorInterface
|
||||||
|
*/
|
||||||
|
protected function getEnvAuthenticator(): AuthenticatorInterface
|
||||||
|
{
|
||||||
|
return $this->getAuthenticator(
|
||||||
|
self::getenv('APP_KEY', 'appKey'),
|
||||||
|
self::getenv('SESSION', 'helloworld')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -100,4 +130,19 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
|
|||||||
|
|
||||||
return $request;
|
return $request;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $variable
|
||||||
|
* @param mixed $default
|
||||||
|
*
|
||||||
|
* @return mixed|null
|
||||||
|
*/
|
||||||
|
protected static function getenv(string $variable, $default = null)
|
||||||
|
{
|
||||||
|
if (!array_key_exists($variable, $_ENV)) {
|
||||||
|
return $default;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $_ENV[$variable];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,3 +8,5 @@ if (function_exists('date_default_timezone_set')
|
|||||||
|
|
||||||
$loader = include dirname(__DIR__) . '/vendor/autoload.php';
|
$loader = include dirname(__DIR__) . '/vendor/autoload.php';
|
||||||
$loader->add('RetailCrm\\Test', __DIR__);
|
$loader->add('RetailCrm\\Test', __DIR__);
|
||||||
|
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/..');
|
||||||
|
$dotenv->load();
|
||||||
|
Loading…
Reference in New Issue
Block a user