Browse Source

Added (network!) test for default options being used for fetching as well as parsing

pull/113/head
Barnaby Walters 1 year ago
parent
commit
3766187ce2
2 changed files with 27 additions and 2 deletions
  1. +1
    -2
      tests/FetchTestDisabled.php
  2. +26
    -0
      tests/LibraryTest.php

+ 1
- 2
tests/FetchTestDisabled.php View File

@ -32,7 +32,6 @@ class FetchTest extends PHPUnit\Framework\TestCase
{
$url = 'https://nghttp2.org/httpbin/ip';
$response = $this->http->get($url);
$this->assertEquals('', $response['error']);
$this->assertEquals('', $response['error']);
}
}

+ 26
- 0
tests/LibraryTest.php View File

@ -108,4 +108,30 @@ class LibraryTest extends PHPUnit\Framework\TestCase
$normalXRay->parse($url, $html)
);
}
public function testDefaultOptionsAreUsedForFetching()
{
// LibraryTest::testDefaultOptionsAreUsed can only test that default options are merged and passed
// to the relevant format handler. To test that they’re additionally passed to the fetcher currently
// requires a network request to the twitter API for an auth error.
// A potential future improvement for this would be to make a new mock HTTP client object which
// accepts a callback, which gets passed the request it would send. We can then check that the
// request has the parameters we want without having to actually hit the network.
$url = 'https://twitter.com/BarnabyWalters/status/990659593561952256';
// Confirm the expected behaviour.
$xray = new p3k\XRay();
$result = $xray->parse($url);
$this->assertEquals('missing_parameters', $result['error']);
$xray = new p3k\XRay([
'twitter_api_key' => 'extremely real API credentials',
'twitter_api_secret' => 'extremely real API credentials',
'twitter_access_token' => 'extremely real API credentials',
'twitter_access_token_secret' => 'extremely real API credentials'
]);
$result = $xray->parse($url);
$this->assertEquals('twitter_error', $result['error']);
}
}

Loading…
Cancel
Save