Skip to content
Open
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
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
composer.phar
composer.lock
vendor
/vendor
/phpunit.xml
/.idea
.phpunit.result.cache
25 changes: 14 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
before_script:
- curl -s http://getcomposer.org/installer | php
- COMPOSER_ROOT_VERSION=dev-master php composer.phar --dev install

before_install:
- sudo apt-get update -qq

sudo: false
language: php

php:
- 5.3
- 5.4
- 5.5
matrix:
fast_finish: true
include:
- php: 7.2
env:
- SYMFONY_VERSION=4.1.*
- php: 7.2
env:
- SYMFONY_VERSION=4.2.*

before_script:
- if [ "$SYMFONY_VERSION" != "" ]; then composer require "symfony/symfony:${SYMFONY_VERSION}" --no-update; fi;
- travis_wait composer update --prefer-dist --optimize-autoloader --no-interaction --no-suggest --prefer-stable
4 changes: 4 additions & 0 deletions DataCollector/BuzzDataCollector.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ function __construct(HistoryListener $listener)
$this->listener = $listener;
}

public function reset()
{
}

public function collect(Request $request, Response $response, \Exception $exception = null)
{
$this->data = array();
Expand Down
4 changes: 2 additions & 2 deletions DependencyInjection/BuzzExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\DefinitionDecorator;
use Symfony\Component\DependencyInjection\ChildDefinition;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
Expand Down Expand Up @@ -103,7 +103,7 @@ private function createBrowser($name, array $config, ContainerBuilder $container

private function configureClientBrowser($name, Definition $browser, array $config, ContainerBuilder $container)
{
$baseDefinition = new DefinitionDecorator('buzz.client.'.$config['client']['name']);
$baseDefinition = new ChildDefinition('buzz.client.'.$config['client']['name']);
$container->setDefinition('buzz.client.'.$name,$baseDefinition);
$definition = $container->getDefinition('buzz.client.'.$name);

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BuzzBundle

[![Build Status](https://secure.travis-ci.org/juliendidier/BuzzBundle.png)](http://travis-ci.org/juliendidier/BuzzBundle)
[![Build Status](https://travis-ci.org/andreyserdjuk/BuzzBundle.svg?branch=master)](https://travis-ci.org/andreyserdjuk/BuzzBundle)

BuzzBundle is a Bundle for [Buzz](https://github.com/kriswallsmith/Buzz),
a library for issuing HTTP requests by Kris Wallsmith
Expand Down
16 changes: 10 additions & 6 deletions Tests/Buzz/BrowserManagerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
use Buzz\Client\ClientInterface;
use Buzz\Message\RequestInterface;
use Buzz\Message\MessageInterface;
use Buzz\Message\Factory\Factory;

use Buzz\Bundle\BuzzBundle\Buzz\BrowserManager;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;

class BrowserManagerTest extends \PHPUnit_Framework_TestCase
class BrowserManagerTest extends TestCase
{
public function testGetSetHas()
{
Expand Down Expand Up @@ -59,12 +59,16 @@ public function provideMethods()
);
}


/**
* @throws \ReflectionException
*/
public function testGetIterator()
{
$bm = new BrowserManager();
$bm->set('foo', $this->getMock('Buzz\Browser'));
$bm->set('bar', $this->getMock('Buzz\Browser'));
/** @var Browser|MockObject $browserMock */
$browserMock = $this->createMock(Browser::class);
$bm->set('foo', $browserMock);
$bm->set('bar', $browserMock);

$this->assertTrue($bm->getIterator() instanceof \ArrayIterator);
$this->assertEquals(2, count($bm));
Expand Down
8 changes: 5 additions & 3 deletions Tests/Buzz/BuzzTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,18 @@

namespace Buzz\Bundle\BuzzBundle\Tests\Buzz\Browser;

use Buzz\Browser;
use Buzz\Bundle\BuzzBundle\Buzz\BrowserManager;
use Buzz\Bundle\BuzzBundle\Buzz\Buzz;
use PHPUnit\Framework\TestCase;

class BuzzTest extends \PHPUnit_Framework_TestCase
class BuzzTest extends TestCase
{
public function testGetBorwser()
{
$browserManager = new BrowserManager();
$buzz = new Buzz($browserManager);
$foo = $this->getMock('Buzz\Browser');
$foo = $this->createMock(Browser::class);
$browserManager->set('foo', $foo);

$this->assertEquals($foo, $buzz->getBrowser('foo'));
Expand All @@ -21,7 +23,7 @@ public function testHasBrowser()
{
$browserManager = new BrowserManager();
$buzz = new Buzz($browserManager);
$foo = $this->getMock('Buzz\Browser');
$foo = $this->createMock(Browser::class);
$browserManager->set('foo', $foo);

$this->assertTrue($buzz->hasBrowser('foo'));
Expand Down
19 changes: 15 additions & 4 deletions Tests/Buzz/Listener/HostListenerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,22 @@
namespace Buzz\Bundle\BuzzBundle\Tests\Buzz\Listener;

use Buzz\Bundle\BuzzBundle\Buzz\Listener\HostListener;
use Buzz\Message\MessageInterface;
use Buzz\Message\Request;
use Buzz\Message\RequestInterface;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;

class HostListenerTest extends \PHPUnit_Framework_TestCase
class HostListenerTest extends TestCase
{
/**
* @throws \ReflectionException
*/
public function testPreSend()
{
$listener = new HostListener('my://foo');
$request = $this->getMock('Buzz\Message\Request');
/** @var RequestInterface|MockObject $request */
$request = $this->createMock(Request::class);

$request->expects($this->once())
->method('setHost')
Expand All @@ -18,8 +27,10 @@ public function testPreSend()

$listener->preSend($request);

$response = $this->getMock('Buzz\Message\MessageInterface');
$listener->postSend($cloneRequest = clone $request, $cloneResponse = clone $response);
$response = $this->createMock(MessageInterface::class);
/** @var RequestInterface|MockObject $cloneResponse */
$cloneResponse = clone $response;
$listener->postSend($cloneRequest = clone $request, $cloneResponse);

$this->assertEquals($request, $cloneRequest, 'postSend does nothing on the request');
$this->assertEquals($response, $cloneResponse, 'postSend does nothing on the response');
Expand Down
9 changes: 5 additions & 4 deletions Tests/DataCollector/BuzzDataCollectorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@
use Buzz\Listener\HistoryListener;
use Buzz\Listener\History\Entry;
use Buzz\Listener\History\Journal;
use PHPUnit\Framework\TestCase;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

use Buzz\Bundle\BuzzBundle\DataCollector\BuzzDataCollector;

class BuzzDataCollectorTest extends \PHPUnit_Framework_TestCase
class BuzzDataCollectorTest extends TestCase
{
protected function setUp()
protected function setUp(): void
{
if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
$this->markTestSkipped('The "HttpFoundation" component is not available');
Expand Down Expand Up @@ -46,8 +47,8 @@ public function testCollect()
public function getTestEntry()
{
return array(
new Entry($this->getMock('Buzz\Message\Request'), $this->getMock('Buzz\Message\Response'), 2),
new Entry($this->getMock('Buzz\Message\Request'), $this->getMock('Buzz\Message\Response'), 9),
new Entry($this->createMock('Buzz\Message\Request'), $this->createMock('Buzz\Message\Response'), 2),
new Entry($this->createMock('Buzz\Message\Request'), $this->createMock('Buzz\Message\Response'), 9),
);
}
}
Expand Down
89 changes: 52 additions & 37 deletions Tests/DependencyInjection/BuzzExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@
namespace Buzz\Bundle\BuzzBundle\Tests\DependencyInjection;

use Buzz\Bundle\BuzzBundle\DependencyInjection\BuzzExtension;
use PHPUnit\Framework\TestCase;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\DefinitionDecorator;
use Symfony\Component\DependencyInjection\ChildDefinition;
use Symfony\Component\DependencyInjection\Reference;

class BuzzExtensionTest extends \PHPUnit_Framework_TestCase
class BuzzExtensionTest extends TestCase
{
private $container;
private $configs;

public function __construct()
public function setUp(): void
{
$extension = new BuzzExtension();

Expand Down Expand Up @@ -45,15 +46,15 @@ public function testLoadClient()

$this->assertTrue($this->container->hasDefinition('buzz.client.foo'));
$client = $this->container->getDefinition('buzz.client.foo');
$this->assertTrue($client instanceof DefinitionDecorator);
$this->assertTrue($client instanceof ChildDefinition);
$curlClient = $this->container->get($client->getParent());
$this->assertEquals('Buzz\Client\Curl', get_class($curlClient));

$calls = $client->getMethodCalls();
$this->assertCount(2, $calls);
$expected = array('setTimeout', array(123));
$expected = ['setTimeout', [123]];
$this->assertEquals($expected, $calls[0]);
$expected = array('setProxy', array('http://127.0.0.1'));
$expected = ['setProxy', ['http://127.0.0.1']];
$this->assertEquals($expected, $calls[1]);

$client = new Reference('buzz.client.foo');
Expand All @@ -62,18 +63,18 @@ public function testLoadClient()

public function testLoadListener()
{
$this->assertSame(array('id' => 'foo.bar'), $this->configs['listeners']['foo_bar']);
$this->assertSame(['id' => 'foo.bar'], $this->configs['listeners']['foo_bar']);

$browser = $this->container->getDefinition('buzz.browser.foo');
$calls = $browser->getMethodCalls();
$this->assertCount(4, $calls);
$expected = array('addListener', array(new Reference('buzz.listener.host_foo')));
$expected = ['addListener', [new Reference('buzz.listener.host_foo')]];
$this->assertEquals($expected, $calls[0]);
$expected = array('addListener', array(new Reference('buzz.listener.exception_listener')));
$expected = ['addListener', [new Reference('buzz.listener.exception_listener')]];
$this->assertEquals($expected, $calls[1]);
$expected = array('addListener', array(new Reference('foo.bar')));
$expected = ['addListener', [new Reference('foo.bar')]];
$this->assertEquals($expected, $calls[2]);
$expected = array('addListener', array(new Reference('buzz.listener.history')));
$expected = ['addListener', [new Reference('buzz.listener.history')]];
$this->assertEquals($expected, $calls[3]);

$this->assertTrue($this->container->hasDefinition('buzz.listener.host_foo'));
Expand All @@ -85,7 +86,7 @@ public function testBrowserManagerCall()
{
$calls = $this->container->getDefinition('buzz.browser_manager')->getMethodCalls();
$this->assertCount(1, $calls);
$expected = array('set', array('foo', new Reference('buzz.browser.foo')));
$expected = ['set', ['foo', new Reference('buzz.browser.foo')]];
$this->assertEquals($expected, $calls[0]);
}

Expand Down Expand Up @@ -117,43 +118,57 @@ public function testBcBreakClient()
$this->container = new ContainerBuilder();
$extension = new BuzzExtension();

$array = array(array('browsers' => array('foo' => array('client' => 'curl'))));
$array = [
[
'browsers' => [
'foo' => [
'client' => 'curl',
],
],
],
];
$this->configs = $extension->load($array, $this->container);

$this->assertSame(array('name' => 'curl', 'timeout' => null, 'proxy' => null), $this->configs['browsers']['foo']['client']);
$this->assertSame(['name' => 'curl', 'timeout' => null, 'proxy' => null], $this->configs['browsers']['foo']['client']);
}

private function getConfig()
{
return array(
array(
'listeners' => array(
'foo_bar' => 'foo.bar'
),
'browsers' => array(
'foo' => array(
'client' => array('name' => 'curl', 'timeout' => 123, 'proxy' => 'http://127.0.0.1'),
return [
[
'listeners' => [
'foo_bar' => 'foo.bar',
],
'browsers' => [
'foo' => [
'client' => [
'name' => 'curl',
'timeout' => 123,
'proxy' => 'http://127.0.0.1',
],
'message_factory' => 'Buzz\\Message\\Factory\\Factory',
'host' => 'my://foo',
'listeners' => array(
'host' => 'my://foo',
'listeners' => [
'foo_bar',
)
)
)
)
);
],
],
],
],
];
}

private function getProfilerConfig()
{
return array(
array(
return [
[
'throw_exception' => false,
'profiler' => true,
'browsers' => array(
'foo' => array('client' => 'curl')
)
)
);
'profiler' => true,
'browsers' => [
'foo' => [
'client' => 'curl',
],
],
],
];
}
}
5 changes: 3 additions & 2 deletions Tests/DependencyInjection/Compiler/BrowserPassTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,19 @@

namespace Buzz\Bundle\BuzzBundle\Tests\DependencyInjection\Factory\Message;

use PHPUnit\Framework\TestCase;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;

use Buzz\Bundle\BuzzBundle\DependencyInjection\BuzzExtension;
use Buzz\Bundle\BuzzBundle\DependencyInjection\Compiler\BrowserPass;

class BrowserPassTest extends \PHPUnit_Framework_TestCase
class BrowserPassTest extends TestCase
{
public function testProcessNoConfig()
{
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder');
$container = $this->createMock('Symfony\Component\DependencyInjection\ContainerBuilder');
$browserPass = new BrowserPass();

$return = $browserPass->process($container);
Expand Down
Loading