diff --git a/.travis.yml b/.travis.yml index aca49750..8370d0d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: php php: - - 5.3 - 5.4 - 5.5 - 5.6 diff --git a/composer.json b/composer.json index a6327217..04512ae9 100644 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ "php": ">=5.3.0", "react/cache": "~0.4.0|~0.3.0", "react/socket": "~0.4.0|~0.3.0", - "react/promise": "~2.1|~1.2" + "react/promise": "~2.2" }, "autoload": { "psr-4": { "React\\Dns\\": "src" } diff --git a/src/Query/RecordCache.php b/src/Query/RecordCache.php index b8142d3d..c23369c2 100644 --- a/src/Query/RecordCache.php +++ b/src/Query/RecordCache.php @@ -59,7 +59,7 @@ function ($e) { return new RecordBag(); } ) - ->then(function ($recordBag) use ($id, $currentTime, $record, $cache) { + ->done(function ($recordBag) use ($id, $currentTime, $record, $cache) { $recordBag->set($currentTime, $record); $cache->set($id, serialize($recordBag)); }); diff --git a/tests/Query/RetryExecutorTest.php b/tests/Query/RetryExecutorTest.php index c8ffe307..42546636 100644 --- a/tests/Query/RetryExecutorTest.php +++ b/tests/Query/RetryExecutorTest.php @@ -162,6 +162,30 @@ public function queryShouldCancelQueryOnCancel() $this->assertEquals(1, $cancelled); } + /** + * @test + * @expectedException Exception + * @expectedExceptionMessage query failed + */ + public function queryDoesNotHideErrors() + { + $executor = $this->createExecutorMock(); + $executor + ->expects($this->once()) + ->method('query') + ->with('8.8.8.8', $this->isInstanceOf('React\Dns\Query\Query')) + ->will($this->returnCallback(function ($domain, $query) { + return Promise\reject(new \Exception('query failed')); + })); + + $retryExecutor = new RetryExecutor($executor, 2); + + $query = new Query('igor.io', Message::TYPE_A, Message::CLASS_IN, 1345656451); + $retryExecutor + ->query('8.8.8.8', $query) + ->done(); + } + protected function expectCallableOnce() { $mock = $this->createCallableMock();