| 
<?phpnamespace ParagonIE\Certainty\Tests;
 
 
 use ParagonIE\Certainty\Bundle;
 use ParagonIE\Certainty\Fetch;
 use PHPUnit\Framework\TestCase;
 
 class FetchTest extends TestCase
 {
 /** @var string */
 protected $root;
 
 public function setUp()
 {
 $this->root = __DIR__ . '/static/';
 }
 
 /**
 * @covers Fetch
 */
 public function testEmptyDir()
 {
 try {
 (new Fetch($this->root . 'empty-dir'))->getAllBundles();
 $this->fail('Expected an exception.');
 } catch (\Exception $ex) {
 $this->assertSame(
 'ca-certs.json not found in data directory.',
 $ex->getMessage()
 );
 }
 }
 
 /**
 * @covers Fetch
 */
 public function testEmptyJson()
 {
 $this->assertSame(
 [],
 (new Fetch($this->root . 'data-empty'))->getAllBundles()
 );
 }
 
 /**
 * @covers Fetch
 */
 public function testInvalid()
 {
 try {
 (new Fetch($this->root . 'data-invalid'))->getLatestBundle();
 $this->fail('Expected an exception.');
 } catch (\Exception $ex) {
 $this->assertSame(
 'No valid bundles were found in the data directory.',
 $ex->getMessage()
 );
 }
 }
 
 /**
 *
 */
 public function testLiveDataDir()
 {
 $this->assertInstanceOf(
 Bundle::class,
 (new Fetch())->getLatestBundle(),
 'The live data directory has no valid signatures.'
 );
 }
 }
 
 |