|
5 | 5 | use GuzzleHttp\Utils; |
6 | 6 | use GuzzleHttp\Client; |
7 | 7 | use GuzzleHttp\Psr7\Uri; |
| 8 | +use Illuminate\Support\Arr; |
8 | 9 | use GuzzleHttp\HandlerStack; |
9 | 10 | use GuzzleHttp\Psr7\Response; |
10 | 11 | use Saloon\Http\Senders\GuzzleSender; |
|
76 | 77 |
|
77 | 78 | $handlerStack = $sender->getHandlerStack(); |
78 | 79 |
|
79 | | - // The HandlerStack::create() loads important default middleware |
| 80 | + $saloonStack = invade($handlerStack)->stack; |
| 81 | + $defaultStack = invade(HandlerStack::create())->stack; |
80 | 82 |
|
81 | | - expect($handlerStack)->toEqual(HandlerStack::create()); |
| 83 | + expect($saloonStack)->toHaveSameSize($defaultStack)->toHaveCount(4); |
| 84 | + |
| 85 | + expect($saloonStack[0][1])->toBe($defaultStack[0][1]); |
| 86 | + expect($saloonStack[1][1])->toBe($defaultStack[1][1]); |
| 87 | + expect($saloonStack[2][1])->toBe($defaultStack[2][1]); |
| 88 | + expect($saloonStack[3][1])->toBe($defaultStack[3][1]); |
| 89 | + |
| 90 | + expect($saloonStack[0][0])->toBeCallable(); |
| 91 | + expect($saloonStack[1][0])->toBeCallable(); |
| 92 | + expect($saloonStack[2][0])->toBeCallable(); |
| 93 | + expect($saloonStack[3][0])->toBeCallable(); |
82 | 94 | }); |
83 | 95 |
|
84 | 96 | test('the guzzle sender has default options configured', function () { |
|
96 | 108 | 'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT, |
97 | 109 | ]); |
98 | 110 |
|
99 | | - expect($freshClient->getConfig())->toEqual($client->getConfig()); |
| 111 | + $saloonConfig = $client->getConfig(); |
| 112 | + $defaultConfig = $freshClient->getConfig(); |
| 113 | + |
| 114 | + expect(Arr::except($saloonConfig, 'handler'))->toEqual(Arr::except($defaultConfig, 'handler')); |
| 115 | + |
| 116 | + $saloonStack = invade($saloonConfig['handler'])->stack; |
| 117 | + $defaultStack = invade($defaultConfig['handler'])->stack; |
| 118 | + |
| 119 | + expect($saloonStack)->toHaveSameSize($defaultStack)->toHaveCount(4); |
100 | 120 | }); |
101 | 121 |
|
102 | 122 | test('you can set a custom handler stack on the guzzle sender', function () { |
|
0 commit comments