Completed
Push — master ( 5d89d9...b6c216 )
by Robbie
15s queued 10s
created

DatabaseStoreTest::testDataCodecIntegrity()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 0
1
<?php
2
3
namespace SilverStripe\HybridSessions\Tests;
4
5
use SilverStripe\ORM\DB;
6
use SilverStripe\ORM\Connect\MySQLDatabase;
7
use SilverStripe\Core\Injector\Injector;
8
use SilverStripe\HybridSessions\Store\DatabaseStore;
9
10
class DatabaseStoreTest extends AbstractTest
11
{
12
    protected function setUp()
13
    {
14
        parent::setUp();
15
16
        if (!DB::get_conn() instanceof MySQLDatabase) {
17
            $this->markTestSkipped('Only MySQL databases are supported');
18
        }
19
    }
20
21
    protected function getStore()
22
    {
23
        $store = Injector::inst()->get(DatabaseStore::class);
24
        $store->setKey(uniqid());
25
26
        return $store;
27
    }
28
29
    public function testDataCodecIntegrity()
30
    {
31
        for ($i = 0; $i < 1000; ++$i) {
32
            $data = random_bytes(1024 * 4);
33
34
            $this->assertEquals($data, DatabaseStore::binaryDataJsonDecode(DatabaseStore::binaryDataJsonEncode($data)));
35
        }
36
    }
37
}
38