public function testCreateUrl()
 {
     $actionName = 'DescribeInstances';
     $param = array('Region' => 'gz', 'Action' => 'DescribeInstances');
     $url = $this->request->createUrl($actionName, $param, 'GET');
     $this->assertStringStartsWith($this->request->createUrl($actionName, $param, 'POST'), $url);
 }
 protected function setUp()
 {
     parent::setUp();
     $this->request = ServiceLocator::getInstance()->getService('AccountRequest');
     $secretId = $this->request->getConfig('secretId');
     $secretKey = $this->request->getConfig('secretKey');
     if (empty($secretId) || empty($secretKey)) {
         $this->markTestSkipped('secretId or secretKey is not set in config file, test will skipped');
     }
 }
use QcloudApi\Base\Request;
use QcloudApi\Integrate\FileRequestLogger;
if (!class_exists('QcloudApi\\Integrate\\ServiceLocator', false)) {
    exit('ACCESS DENIED');
}
$config = array();
//创建一个基于account.api.qcloud.com、默认区域在gz的Request实例
$config['AccountRequest'] = function ($locator) {
    $request = new Request(array('protocol' => 'https', 'host' => 'account.api.qcloud.com', 'secretId' => QCLOUD_API_SECRET_ID, 'secretKey' => QCLOUD_API_SECRET_KEY, 'defaultRegion' => 'gz'));
    /*
     * 如果需要记录日志,可参照以下代码,
     * 在使用了\QcloudApi\Base\CurlRequestTrait的类中:
     *     - 注入实现了\QcloudApi\Base\CurlRequestLoggerInterface接口类的实例
     *         (\QcloudApi\Integrate\FileRequestLogger为一个示例)
     * 传递的参数请参见方法\QcloudApi\Base\CurlRequestLoggerInterface::receiveSignalRequestLogger()
     */
    $request->setRequestLogger('fileLogger', $locator->getService('FileRequestLogger'));
    return $request;
};
//创建一个基于云安全(csec.api.qcloud.com)、默认区域在all的Request实例
$config['CsecRequest'] = function ($locator) {
    $request = new Request(array('protocol' => 'https', 'host' => 'csec.api.qcloud.com', 'secretId' => QCLOUD_API_SECRET_ID, 'secretKey' => QCLOUD_API_SECRET_KEY, 'defaultRegion' => 'all'));
    $request->setRequestLogger('fileLogger', $locator->getService('FileRequestLogger'));
    return $request;
};
$config['FileRequestLogger'] = function ($locator) {
    $fileLogger = new FileRequestLogger(array('logDir' => QCLOUD_FILE_LOGDIR));
    return $fileLogger;
};
return $config;