| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- namespace Tests\Unit\Wallet;
- use Illuminate\Support\Facades\Log;
- use Tests\Unit\CommonTest;
- use Uraus\App\Common\ACCOUNT_TYPE;
- use Uraus\App\Common\RESPONSE_CODE;
- use Uraus\App\Request;
- use Uraus\App\Response;
- class AddressListTest extends CommonTest
- {
- public function testA()
- {
- $token = '3e4740d2dce9a04c301ef29f74dcbca2';
- // 1. 准备 Protobuf 请求数据
- $l1 = new Request\RequestWallet\RequestWalletAddressList();
- $l1->setType(ACCOUNT_TYPE::UN40);
- $l2 = new Request\RequestWallet();
- $l2->setAddressList($l1);
- $request = new Request();
- $request->setWallet($l2);
- $requestData = $request->serializeToString();
- Log::info('序列化请求数据完成', [
- 'data_length' => strlen($requestData)
- ]);
- // 2. 发送真实的 HTTP 请求
- Log::info('发送 HTTP 请求');
- $response = $this->client->post('/api/protobuf', [
- 'body' => $requestData,
- 'headers' => [
- 'Content-Type' => 'application/x-protobuf',
- 'Accept' => 'application/x-protobuf',
- "Token" => $token
- ]
- ]);
- Log::info('收到 HTTP 响应', [
- 'status_code' => $response->getStatusCode(),
- 'headers' => $response->getHeaders()
- ]);
- // 3. 验证 HTTP 响应状态码
- $this->assertEquals(200, $response->getStatusCode());
- // 4. 解析响应数据
- $responseContent = $response->getBody()->getContents();
- Log::info('获取响应内容', [
- 'content_length' => strlen($responseContent)
- ]);
- $protoResponse = new Response();
- $protoResponse->mergeFromString($responseContent);
- dump($protoResponse->serializeToJsonString());
- Log::info('解析响应数据完成', [
- 'response_code' => $protoResponse->getCode(),
- 'run_ms' => $protoResponse->getRunMs()
- ]);
- // 5. 验证基本响应字段
- // $this->assertEquals(RESPONSE_CODE::HANDLE_NOT, $protoResponse->getCode());
- $this->assertEquals(RESPONSE_CODE::OK, $protoResponse->getCode());
- $this->assertStringStartsWith('token', $protoResponse->getPublic()->getLogin()->getToken());
- Log::info('测试完成');
- }
- }
|