PHP Classes

File: test/BundleTest.php

Recommend this page to a friend!
  Classes of Scott Arciszewski   Certainty   test/BundleTest.php   Download  
File: test/BundleTest.php
Role: Class source
Content type: text/plain
Description: Class source
Class: Certainty
Manage SSL certificate authority file used by PHP
Author: By
Last change:
Date: 6 years ago
Size: 2,047 bytes
 

Contents

Class file image Download
<?php
namespace ParagonIE\Certainty\Tests;


use
ParagonIE\Certainty\Bundle;
use
ParagonIE\Certainty\Fetch;
use
PHPUnit\Framework\TestCase;

class
BundleTest extends TestCase
{
   
/** @var string $link */
   
protected $link;

    public function
setUp()
    {
       
$this->link = __DIR__ . '/static/symlink-test';
    }

    public function
tearDown()
    {
        if (\
file_exists($this->link)) {
            \
unlink($this->link);
        }
    }

   
/**
     * @covers Bundle::createSymlink()
     */
   
public function testCreateSymlink()
    {
        if (\
file_exists($this->link)) {
            \
unlink($this->link);
        }
       
$test = __DIR__ . '/static/test-file.txt';
        if (!@\
symlink($test, $this->link)) {
           
$this->markTestSkipped('Possibly a read-only file-system (e.g. VirtualBox shared folder). Skipping.');
            return;
        }

       
$latest = (new Fetch())->getLatestBundle();

       
$latest->createSymlink($this->link, true);

       
$this->assertSame(
            \
hash_file('sha384', $this->link),
            \
hash_file('sha384', $latest->getFilePath()),
           
'Symlink creation failed.'
       
);
    }

   
/**
     * @covers Bundle::getFilePath()
     * @covers Bundle::getSha256Sum()
     * @covers Bundle::getSignature()
     */
   
public function testGetters()
    {
       
$latest = (new Fetch())->getLatestBundle();
       
$this->assertTrue(\is_string($latest->getFilePath()));
       
$this->assertTrue(\is_string($latest->getSha256Sum()));
       
$this->assertTrue(\is_string($latest->getSignature()));
       
$this->assertTrue(\is_string($latest->getSha256Sum(true)));
       
$this->assertTrue(\is_string($latest->getSignature(true)));

       
$this->assertSame(64, \mb_strlen($latest->getSha256Sum(), '8bit'));
       
$this->assertSame(128, \mb_strlen($latest->getSignature(), '8bit'));
       
$this->assertSame(32, \mb_strlen($latest->getSha256Sum(true), '8bit'));
       
$this->assertSame(64, \mb_strlen($latest->getSignature(true), '8bit'));
    }
}