Skip to content

Commit be34679

Browse files
committed
optimized tests with and without jms serializer
1 parent 108e3a8 commit be34679

7 files changed

Lines changed: 59 additions & 15 deletions

File tree

.github/workflows/tests.yml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ jobs:
1717
matrix:
1818
php: [8.0, 8.1, 8.2, 8.3, 8.4]
1919
dependency-version: [prefer-lowest, prefer-stable]
20+
optional-deps: [without-jms, without-serializer, with-both]
21+
name: PHP ${{ matrix.php }} - ${{ matrix.dependency-version }} - ${{ matrix.optional-deps }}
2022

2123
steps:
2224
- name: checkout code
@@ -28,8 +30,30 @@ jobs:
2830
php-version: ${{ matrix.php }}
2931
coverage: xdebug
3032

33+
- name: get composer cache directory
34+
id: composer-cache
35+
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
36+
37+
- name: cache composer dependencies
38+
uses: actions/cache@v4
39+
with:
40+
path: ${{ steps.composer-cache.outputs.dir }}
41+
key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ matrix.dependency-version }}-${{ hashFiles('**/composer.lock') }}
42+
restore-keys: |
43+
${{ runner.os }}-composer-${{ matrix.php }}-${{ matrix.dependency-version }}-
44+
${{ runner.os }}-composer-${{ matrix.php }}-
45+
${{ runner.os }}-composer-
46+
3147
- name: install dependencies
32-
run: composer update --${{ matrix.dependency-version }}
48+
run: composer update --${{ matrix.dependency-version }} --no-progress --no-interaction
49+
50+
- name: remove optional dependency (jms/serializer-bundle)
51+
if: matrix.optional-deps == 'without-jms'
52+
run: composer remove jms/serializer-bundle --dev --no-progress --no-interaction
53+
54+
- name: remove optional dependency (symfony/serializer)
55+
if: matrix.optional-deps == 'without-serializer'
56+
run: composer remove symfony/serializer --dev --no-progress --no-interaction
3357

3458
- name: run tests
3559
run: php vendor/bin/phpunit

Tests/Fixtures/app/Wa72JsonRpcBundleTestKernel1.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public function registerBundles(): iterable
1919

2020
public function registerContainerConfiguration(LoaderInterface $loader): void
2121
{
22-
$loader->load(__DIR__.'/config/config.yml');
22+
$loader->load(__DIR__ . '/config/config1.yml');
2323
}
2424

2525
/**

Tests/Fixtures/app/Wa72JsonRpcBundleTestKernel2.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public function registerBundles(): iterable
2020

2121
public function registerContainerConfiguration(LoaderInterface $loader): void
2222
{
23-
$loader->load(__DIR__ . '/config/config.yml');
23+
$loader->load(__DIR__ . '/config/config2.yml');
2424
}
2525

2626

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
framework:
22
secret: dummy
3-
serializer:
4-
enabled: true
53
property_access:
64
enabled: true
75

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
framework:
2+
secret: dummy
3+
serializer:
4+
enabled: true
5+
property_access:
6+
enabled: true
7+
8+
wa72_json_rpc:
9+
functions:
10+
testhello:
11+
service: wa72_jsonrpc.testservice
12+
method: hello
13+
14+
services:
15+
wa72_jsonrpc.testservice:
16+
class: 'Wa72\JsonRpcBundle\Tests\Testservice'
17+
public: true
18+
tags:
19+
- {name: wa72_jsonrpc.exposable}
20+

Tests/JsonRpcController1Test.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,13 @@ public function setUp(): void
2828
} else {
2929
$this->fail('No serializer available. Please install JMS Serializer Bundle or Symfony Serializer.');
3030
}
31+
} else {
32+
$this->kernel = new \Wa72JsonRpcBundleTestKernel1('test', false);
33+
$this->kernel->boot();
34+
$container = $this->kernel->getContainer();
35+
$this->serializer = $container->get('jms_serializer');
36+
$this->controller = $container->get('wa72_jsonrpc.jsonrpccontroller');
3137
}
32-
$this->kernel = new \Wa72JsonRpcBundleTestKernel1('test', false);
33-
$this->kernel->boot();
34-
$container = $this->kernel->getContainer();
35-
$this->serializer = $container->get('jms_serializer');
36-
$this->controller = $container->get('wa72_jsonrpc.jsonrpccontroller');
3738
}
3839

3940
public function testHello()

Tests/JsonRpcController2Test.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,13 @@ public function setUp(): void
2727
} else {
2828
$this->fail('No serializer available. Please install JMS Serializer Bundle or Symfony Serializer.');
2929
}
30+
} else {
31+
$this->kernel = new \Wa72JsonRpcBundleTestKernel2('test', true);
32+
$this->kernel->boot();
33+
$container = $this->kernel->getContainer();
34+
$this->serializer = $container->get('wa72_jsonrpc.serializer');
35+
$this->controller = $container->get('wa72_jsonrpc.jsonrpccontroller');
3036
}
31-
$this->kernel = new \Wa72JsonRpcBundleTestKernel2('test', true);
32-
$this->kernel->boot();
33-
$container = $this->kernel->getContainer();
34-
$this->serializer = $container->get('wa72_jsonrpc.serializer');
35-
$this->controller = $container->get('wa72_jsonrpc.jsonrpccontroller');
3637
}
3738

3839
public function testHello()

0 commit comments

Comments
 (0)