95 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Java
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Java
		
	
	
		
			Executable File
		
	
	
| <?php
 | ||
| 
 | ||
| 
 | ||
| namespace Alipay\EasySDK\Test\util\generic;
 | ||
| 
 | ||
| 
 | ||
| use Alipay\EasySDK\Kernel\Factory;
 | ||
| use Alipay\EasySDK\Test\TestAccount;
 | ||
| use Alipay\EasySDK\Kernel\Util\ResponseChecker;
 | ||
| use PHPUnit\Framework\TestCase;
 | ||
| 
 | ||
| class ClientTest extends TestCase
 | ||
| {
 | ||
|     public function __construct($name = null, array $data = [], $dataName = '')
 | ||
|     {
 | ||
|         parent::__construct($name, $data, $dataName);
 | ||
|         $account = new TestAccount();
 | ||
|         Factory::setOptions($account->getTestAccount());
 | ||
|     }
 | ||
| 
 | ||
|     public function testSDKExecute()
 | ||
|     {
 | ||
|         $bizParams = array(
 | ||
|             "subject" => "Iphone6 16G",
 | ||
|             "out_trade_no" => "f4833085-0c46-4bb0-8e5f-622a02a4cffc",
 | ||
|             "total_amount" => "0.10"
 | ||
|         );
 | ||
| 
 | ||
|         $textParams = array();
 | ||
| 
 | ||
|         $result = Factory::util()->generic()->sdkExecute("alipay.trade.app.pay", $textParams, $bizParams);
 | ||
|         $this->assertEquals(true, strpos($result->body, 'alipay_sdk=alipay-easysdk-php') > 0);
 | ||
|         $this->assertEquals(true, strpos($result->body, 'sign') > 0);
 | ||
|     }
 | ||
| 
 | ||
|     public function testFileExecute()
 | ||
|     {
 | ||
|         $textParams = array(
 | ||
|             "image_type" => "png",
 | ||
|             "image_name" => "海底捞",
 | ||
|             "image_pids" => "22088021822217233"
 | ||
|         );
 | ||
|         $account = new TestAccount();
 | ||
|         $filePath = $account->getResourcesPath(). '/resources/fixture/sample.png';
 | ||
| 
 | ||
|         $fileParams = array(
 | ||
|             "image_content" => $filePath
 | ||
|         );
 | ||
| 
 | ||
|         $result = Factory::util()->generic()->fileExecute("alipay.offline.material.image.upload", $textParams, null, $fileParams);
 | ||
|         $responseChecker = new ResponseChecker();
 | ||
|         $this->assertEquals(true, $responseChecker->success($result));
 | ||
|         $this->assertEquals('Success', $result->msg);
 | ||
|     }
 | ||
| 
 | ||
|     public function testExecuteWithoutAppAuthToken()
 | ||
|     {
 | ||
|         $result = Factory::util()->generic()->execute("alipay.trade.create", null, $this->getBizParams(microtime()));
 | ||
|         $this->assertEquals('10000', $result->code);
 | ||
|         $this->assertEquals('Success', $result->msg);
 | ||
|     }
 | ||
| 
 | ||
|     public function testExecuteWithAppAuthToken()
 | ||
|     {
 | ||
|         $result = Factory::util()->generic()->execute("alipay.trade.create", $this->getTextParams(), $this->getBizParams(microtime()));
 | ||
|         $this->assertEquals('20001', $result->code);
 | ||
|         $this->assertEquals('Insufficient Token Permissions', $result->msg);
 | ||
|         $this->assertEquals('aop.invalid-app-auth-token', $result->subCode);
 | ||
|         $this->assertEquals('无效的应用授权令牌', $result->subMsg);
 | ||
|     }
 | ||
| 
 | ||
|     //设置系统参数(OpenAPI中非biz_content里的参数)
 | ||
|     private function getTextParams()
 | ||
|     {
 | ||
|         return array("app_auth_token" => "201712BB_D0804adb2e743078d1822d536956X34");
 | ||
|     }
 | ||
| 
 | ||
|     private function getBizParams($outTradeNo)
 | ||
|     {
 | ||
|         $bizParams = array(
 | ||
|             "subject" => "Iphone6 16G",
 | ||
|             "out_trade_no" => $outTradeNo,
 | ||
|             "total_amount" => "0.10",
 | ||
|             "buyer_id" => "2088002656718920",
 | ||
|             "extend_params" => $this->getHuabeiParams()
 | ||
|         );
 | ||
|         return $bizParams;
 | ||
|     }
 | ||
| 
 | ||
|     private function getHuabeiParams()
 | ||
|     {
 | ||
|         $extendParams = array("hb_fq_num" => "3", "hb_fq_seller_percent" => "3");
 | ||
|         return $extendParams;
 | ||
|     }
 | ||
| } |