Skip to content

Commit

Permalink
Moved Symfony before Buzz (#141)
Browse files Browse the repository at this point in the history
* Moved Symfony before Buzz

* Moved Symfony and added test

* cs
  • Loading branch information
Nyholm authored Jun 27, 2019
1 parent 73e5506 commit e444002
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 11 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ matrix:
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" COVERAGE=true TEST_COMMAND="composer test" PULI_VERSION=1.0.0-beta9
- name: PHPUnit tests
php: 7.3
env: TEST_COMMAND="./vendor/bin/phpunit" DEPENDENCIES="phpunit/phpunit:^7.5 nyholm/psr7:^1.0 kriswallsmith/buzz:^1.0@beta php-http/curl-client:^1.0 php-http/message"
env: TEST_COMMAND="./vendor/bin/phpunit" DEPENDENCIES="phpunit/phpunit:^7.5 nyholm/psr7:^1.0 kriswallsmith/buzz:^1.0 php-http/curl-client:^1.0 php-http/message"
- name: PHPUnit test with nothing installed
php: 7.3
env: TEST_COMMAND="./vendor/bin/phpunit --group=NothingInstalled" DEPENDENCIES="phpunit/phpunit:^7.5"
Expand Down
19 changes: 9 additions & 10 deletions src/Strategy/CommonClassesStrategy.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
use GuzzleHttp\Psr7\Request as GuzzleRequest;
use Http\Client\HttpAsyncClient;
use Http\Client\HttpClient;
use Http\Discovery\ClassDiscovery;
use Http\Discovery\MessageFactoryDiscovery;
use Http\Discovery\Psr17FactoryDiscovery;
use Http\Message\MessageFactory;
Expand Down Expand Up @@ -71,6 +70,10 @@ final class CommonClassesStrategy implements DiscoveryStrategy
['class' => React::class, 'condition' => React::class],
],
HttpClient::class => [
[
'class' => [self::class, 'symfonyHttplugInstantiate'],
'condition' => SymfonyHttplug::class,
],
['class' => Guzzle6::class, 'condition' => Guzzle6::class],
['class' => Guzzle5::class, 'condition' => Guzzle5::class],
['class' => Curl::class, 'condition' => Curl::class],
Expand All @@ -84,20 +87,16 @@ final class CommonClassesStrategy implements DiscoveryStrategy
'class' => [self::class, 'buzzInstantiate'],
'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
],
[
'class' => [self::class, 'symfonyHttplugInstantiate'],
'condition' => SymfonyHttplug::class,
],
],
Psr18Client::class => [
[
'class' => [self::class, 'buzzInstantiate'],
'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
],
[
'class' => [self::class, 'symfonyPsr18Instantiate'],
'condition' => SymfonyPsr18::class,
],
[
'class' => [self::class, 'buzzInstantiate'],
'condition' => [\Buzz\Client\FileGetContents::class, \Buzz\Message\ResponseBuilder::class],
],
],
];

Expand Down Expand Up @@ -133,7 +132,7 @@ public static function buzzInstantiate()

public static function symfonyHttplugInstantiate()
{
return new SymfonyHttplug(null, ClassDiscovery::findOneByType(MessageFactory::class), ClassDiscovery::findOneByType(StreamFactory::class));
return new SymfonyHttplug(null, Psr17FactoryDiscovery::findResponseFactory(), Psr17FactoryDiscovery::findStreamFactory());
}

public static function symfonyPsr18Instantiate()
Expand Down
16 changes: 16 additions & 0 deletions tests/HttpClientDiscoveryTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace tests\Http\Discovery;

use Http\Client\HttpClient;
use Http\Discovery\HttpClientDiscovery;
use PHPUnit\Framework\TestCase;

class HttpClientDiscoveryTest extends TestCase
{
public function testFind()
{
$client = HttpClientDiscovery::find();
$this->assertInstanceOf(HttpClient::class, $client);
}
}

0 comments on commit e444002

Please sign in to comment.