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
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ indent_style = tab
indent_size = tab
tab_width = 4

[{*.json,*.yml,*.yaml,*.md}]
[*.{json,yaml,yml,md}]
indent_style = space
indent_size = 2
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Not archived
.docs export-ignore
.github export-ignore
tests export-ignore
.editorconfig export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.travis.yml export-ignore
Makefile export-ignore
phpstan.neon export-ignore
README.md export-ignore
Expand Down
10 changes: 0 additions & 10 deletions .github/.kodiak.toml

This file was deleted.

6 changes: 5 additions & 1 deletion .github/workflows/codesniffer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: "Codesniffer"
on:
pull_request:

workflow_dispatch:

push:
branches: ["*"]

Expand All @@ -12,4 +14,6 @@ on:
jobs:
codesniffer:
name: "Codesniffer"
uses: contributte/.github/.github/workflows/codesniffer.yml@v1
uses: contributte/.github/.github/workflows/codesniffer.yml@master
with:
php: "8.2"
6 changes: 5 additions & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: "Coverage"
on:
pull_request:

workflow_dispatch:

push:
branches: ["*"]

Expand All @@ -12,4 +14,6 @@ on:
jobs:
coverage:
name: "Nette Tester"
uses: contributte/.github/.github/workflows/nette-tester-coverage.yml@v1
uses: contributte/.github/.github/workflows/nette-tester-coverage-v2.yml@master
with:
php: "8.2"
6 changes: 5 additions & 1 deletion .github/workflows/phpstan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: "PHPStan"
on:
pull_request:

workflow_dispatch:

push:
branches: ["*"]

Expand All @@ -12,4 +14,6 @@ on:
jobs:
phpstan:
name: "PHPStan"
uses: contributte/.github/.github/workflows/phpstan.yml@v1
uses: contributte/.github/.github/workflows/phpstan.yml@master
with:
php: "8.2"
30 changes: 19 additions & 11 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,42 @@ name: "Nette Tester"
on:
pull_request:

workflow_dispatch:

push:
branches: ["*"]

schedule:
- cron: "0 8 * * 1"

jobs:
test82:
test85:
name: "Nette Tester"
uses: contributte/.github/.github/workflows/nette-tester.yml@master
with:
php: "8.5"

test84:
name: "Nette Tester"
uses: contributte/.github/.github/workflows/nette-tester.yml@v1
uses: contributte/.github/.github/workflows/nette-tester.yml@master
with:
php: "8.2"
php: "8.4"

test81:
test83:
name: "Nette Tester"
uses: contributte/.github/.github/workflows/nette-tester.yml@v1
uses: contributte/.github/.github/workflows/nette-tester.yml@master
with:
php: "8.1"
php: "8.3"

test80:
test82:
name: "Nette Tester"
uses: contributte/.github/.github/workflows/nette-tester.yml@v1
uses: contributte/.github/.github/workflows/nette-tester.yml@master
with:
php: "8.0"
php: "8.2"

testlowest:
name: "Nette Tester"
uses: contributte/.github/.github/workflows/nette-tester.yml@v1
uses: contributte/.github/.github/workflows/nette-tester.yml@master
with:
php: "8.0"
php: "8.2"
composer: "composer update --no-interaction --no-progress --prefer-dist --prefer-stable --prefer-lowest"
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,9 @@
/composer.lock

# Tests
/coverage.xml
/tests/tmp
/coverage.*
*.expected
*.actual
*.log
*.html
15 changes: 10 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,26 +1,31 @@
.PHONY: install qa cs csf phpstan tests coverage

.PHONY: install
install:
composer update

.PHONY: qa
qa: phpstan cs

.PHONY: cs
cs:
ifdef GITHUB_ACTION
vendor/bin/phpcs --standard=ruleset.xml --encoding=utf-8 --colors -nsp -q --report=checkstyle src tests | cs2pr
vendor/bin/phpcs --standard=ruleset.xml --encoding=utf-8 --extensions="php,phpt" --colors -nsp -q --report=checkstyle src tests | cs2pr
else
vendor/bin/phpcs --standard=ruleset.xml --encoding=utf-8 --colors -nsp src tests
vendor/bin/phpcs --standard=ruleset.xml --encoding=utf-8 --extensions="php,phpt" --colors -nsp src tests
endif

.PHONY: csf
csf:
vendor/bin/phpcbf --standard=ruleset.xml --encoding=utf-8 --colors -nsp src tests
vendor/bin/phpcbf --standard=ruleset.xml --encoding=utf-8 --extensions="php,phpt" --colors -nsp src tests

.PHONY: phpstan
phpstan:
vendor/bin/phpstan analyse -c phpstan.neon

.PHONY: tests
tests:
vendor/bin/tester -s -p php --colors 1 -C tests/Cases

.PHONY: coverage
coverage:
ifdef GITHUB_ACTION
vendor/bin/tester -s -p phpdbg --colors 1 -C --coverage coverage.xml --coverage-src src tests/Cases
Expand Down
11 changes: 8 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@
}
],
"require": {
"php": ">=8.0",
"php": ">=8.2",
"guzzlehttp/guzzle": "^7.5.0",
"nette/di": "^3.1.2",
"nette/utils": "^3.2.8 || ^4.0.0",
"tracy/tracy": "^2.9.5"
},
"require-dev": {
"mockery/mockery": "^1.5.1",
"contributte/tester": "^0.1.0",
"contributte/qa": "^0.4.0",
"contributte/tester": "~0.4.0",
"contributte/qa": "~0.4.0",
"phpstan/phpstan": "^1.9.4",
"phpstan/phpstan-deprecation-rules": "^1.1.1",
"phpstan/phpstan-nette": "^1.2.0",
Expand All @@ -39,6 +39,11 @@
"Contributte\\Guzzlette\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
Expand Down
3 changes: 2 additions & 1 deletion phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ includes:

parameters:
level: 9
phpVersion: 80000
phpVersion: 80200

scanDirectories:
- src
Expand All @@ -18,3 +18,4 @@ parameters:
- src

ignoreErrors:
- '#Call to an undefined method Nette\\Schema\\Elements\\Structure\|Nette\\Schema\\Elements\\Type::dynamic\(\)#'
2 changes: 1 addition & 1 deletion ruleset.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="Contributte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd">
<!-- Rulesets -->
<rule ref="./vendor/contributte/qa/ruleset-8.0.xml"/>
<rule ref="./vendor/contributte/qa/ruleset-8.2.xml"/>

<!-- Rules -->
<rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName">
Expand Down
4 changes: 0 additions & 4 deletions tests/.coveralls.yml

This file was deleted.

115 changes: 52 additions & 63 deletions tests/Cases/GuzzleExtensionTest.phpt
Original file line number Diff line number Diff line change
@@ -1,84 +1,73 @@
<?php declare(strict_types = 1);

namespace Tests\Contributte\Guzzlette\DI;
namespace Tests\Cases;

use Contributte\Guzzlette\ClientFactory;
use Contributte\Guzzlette\DI\GuzzleExtension;
use Contributte\Tester\Environment;
use Contributte\Tester\Toolkit;
use GuzzleHttp\Client;
use Nette\DI\Compiler;
use Nette\DI\Container;
use Nette\DI\ContainerLoader;
use Tester\Assert;
use Tester\TestCase;

require_once __DIR__ . '/../bootstrap.php';

/**
* @TestCase
*/
class GuzzleExtensionTest extends TestCase
{
Toolkit::test(function (): void {
$loader = new ContainerLoader(Environment::getTestDir(), true);
$class = $loader->load(function (Compiler $compiler): void {
$compiler->addConfig([
'guzzle' => [
'debug' => true,
],
]);
$compiler->addExtension('guzzle', new GuzzleExtension());
}, [getmypid(), 1]);

public function testExtensionDebug(): void
{
$loader = new ContainerLoader(TEMP_DIR, true);
$class = $loader->load(function (Compiler $compiler): void {
$compiler->addConfig([
'guzzle' => [
'debug' => true,
],
]);
$compiler->addExtension('guzzle', new GuzzleExtension());
}, [getmypid(), 1]);
/** @var Container $container */
$container = new $class();

/** @var Container $container */
$container = new $class();
Assert::count(1, $container->findByType(Client::class));
Assert::count(1, $container->findByType(ClientFactory::class));
});

Assert::count(1, $container->findByType(Client::class));
Assert::count(1, $container->findByType(ClientFactory::class));
}
Toolkit::test(function (): void {
$loader = new ContainerLoader(Environment::getTestDir(), true);
$class = $loader->load(function (Compiler $compiler): void {
$compiler->addConfig([
'guzzle' => [
'debug' => false,
],
]);
$compiler->addExtension('guzzle', new GuzzleExtension());
}, [getmypid(), 2]);

public function testExtensionProduction(): void
{
$loader = new ContainerLoader(TEMP_DIR, true);
$class = $loader->load(function (Compiler $compiler): void {
$compiler->addConfig([
'guzzle' => [
'debug' => false,
],
]);
$compiler->addExtension('guzzle', new GuzzleExtension());
}, [getmypid(), 2]);
/** @var Container $container */
$container = new $class();

/** @var Container $container */
$container = new $class();
Assert::count(1, $container->findByType(Client::class));
Assert::count(1, $container->findByType(ClientFactory::class));
});

Assert::count(1, $container->findByType(Client::class));
Assert::count(1, $container->findByType(ClientFactory::class));
}
Toolkit::test(function (): void {
$loader = new ContainerLoader(Environment::getTestDir(), true);
$class = $loader->load(function (Compiler $compiler): void {
$compiler->setDynamicParameterNames(['guzzle-client']);
$compiler->addConfig([
'parameters' => [
'guzzle-client' => [],
],
'guzzle' => [
'client' => '%guzzle-client%',
],
]);
$compiler->addExtension('guzzle', new GuzzleExtension());
}, [getmypid(), 3]);

public function testExtensionDynamic(): void
{
$loader = new ContainerLoader(TEMP_DIR, true);
$class = $loader->load(function (Compiler $compiler): void {
$compiler->setDynamicParameterNames(['guzzle-client']);
$compiler->addConfig([
'parameters'=>[
'guzzle-client' => [],
],
'guzzle' => [
'client' => '%guzzle-client%'
],
]);
$compiler->addExtension('guzzle', new GuzzleExtension());
}, [getmypid(), 1]);
/** @var Container $container */
$container = new $class();

/** @var Container $container */
$container = new $class();

Assert::count(1, $container->findByType(Client::class));
Assert::count(1, $container->findByType(ClientFactory::class));
}
}

(new GuzzleExtensionTest())->run();
Assert::count(1, $container->findByType(Client::class));
Assert::count(1, $container->findByType(ClientFactory::class));
});
Loading