Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 17 additions & 9 deletions .github/workflows/php-cs-fixer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,25 @@ concurrency:
cancel-in-progress: true

jobs:
php-cs-fixer:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run PHP CS Fixer
uses: docker://oskarstark/php-cs-fixer-ga
- uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
args: --config=.php-cs-fixer.dist.php --allow-risky=yes
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
php-version: '8.2'

- name: Install Dependencies
run: |
composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist

- name: Run PHP CS Fixer
run: ./vendor/bin/php-cs-fixer fix --allow-risky=yes

- name: Commit Changes
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: 🪄 Code Style Fixes
commit_options: '--no-verify'
4 changes: 2 additions & 2 deletions .github/workflows/phpstan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ jobs:
name: phpstan
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
php-version: '8.5'
coverage: none

- name: Install composer dependencies
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ jobs:
fail-fast: true
matrix:
os: [ ubuntu-latest, windows-latest ]
php: [ 8.1, 8.2, 8.3, 8.4 ]
php: [ 8.2, 8.3, 8.4, 8.5 ]
stability: [ prefer-lowest, prefer-stable ]

name: P${{ matrix.php }} - ${{ matrix.stability }} - ${{ matrix.os }}

steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup PHP
uses: shivammathur/setup-php@v2
Expand Down
8 changes: 4 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
],
"homepage": "https://github.com/saloonphp/saloon",
"require": {
"php": "^8.1",
"php": "^8.2",
"guzzlehttp/guzzle": "^7.6",
"guzzlehttp/promises": "^1.5 || ^2.0",
"guzzlehttp/psr7": "^2.0",
Expand All @@ -29,12 +29,12 @@
"require-dev": {
"ext-simplexml": "*",
"friendsofphp/php-cs-fixer": "^3.5",
"illuminate/collections": "^9.39 || ^10.0",
"illuminate/collections": "^10.0 || ^11.0 || ^12.0",
"league/flysystem": "^3.0",
"pestphp/pest": "^2.36.0 || ^3.8.2",
"pestphp/pest": "^2.36.0 || ^3.8.2 || ^4.1.4",
"phpstan/phpstan": "^2.1.13",
"saloonphp/xml-wrangler": "^1.1",
"spatie/ray": "^1.33",
"spatie/invade": "^2.1",
"symfony/dom-crawler": "^6.0 || ^7.0",
"symfony/var-dumper": "^6.3 || ^7.0"
},
Expand Down
26 changes: 23 additions & 3 deletions tests/Feature/GuzzleSenderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use GuzzleHttp\Utils;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Uri;
use Illuminate\Support\Arr;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response;
use Saloon\Http\Senders\GuzzleSender;
Expand Down Expand Up @@ -76,9 +77,20 @@

$handlerStack = $sender->getHandlerStack();

// The HandlerStack::create() loads important default middleware
$saloonStack = invade($handlerStack)->stack;
$defaultStack = invade(HandlerStack::create())->stack;

expect($handlerStack)->toEqual(HandlerStack::create());
expect($saloonStack)->toHaveSameSize($defaultStack)->toHaveCount(4);

expect($saloonStack[0][1])->toBe($defaultStack[0][1]);
expect($saloonStack[1][1])->toBe($defaultStack[1][1]);
expect($saloonStack[2][1])->toBe($defaultStack[2][1]);
expect($saloonStack[3][1])->toBe($defaultStack[3][1]);

expect($saloonStack[0][0])->toBeCallable();
expect($saloonStack[1][0])->toBeCallable();
expect($saloonStack[2][0])->toBeCallable();
expect($saloonStack[3][0])->toBeCallable();
});

test('the guzzle sender has default options configured', function () {
Expand All @@ -96,7 +108,15 @@
'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
]);

expect($freshClient->getConfig())->toEqual($client->getConfig());
$saloonConfig = $client->getConfig();
$defaultConfig = $freshClient->getConfig();

expect(Arr::except($saloonConfig, 'handler'))->toEqual(Arr::except($defaultConfig, 'handler'));

$saloonStack = invade($saloonConfig['handler'])->stack;
$defaultStack = invade($defaultConfig['handler'])->stack;

expect($saloonStack)->toHaveSameSize($defaultStack)->toHaveCount(4);
});

test('you can set a custom handler stack on the guzzle sender', function () {
Expand Down