Completed
Pull Request — master (#50)
by
unknown
01:33
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
use SilverStripe\HybridSessions\Store\DatabaseStore\DataCodec;
10
11
class DatabaseStoreTest extends AbstractTest
12
{
13
    protected function setUp()
14
    {
15
        parent::setUp();
16
17
        if (!DB::get_conn() instanceof MySQLDatabase) {
18
            $this->markTestSkipped('Only MySQL databases are supported');
19
        }
20
    }
21
22
    protected function getStore()
23
    {
24
        $store = Injector::inst()->get(DatabaseStore::class);
25
        $store->setKey(uniqid());
26
27
        return $store;
28
    }
29
30
    public function testDataCodecIntegrity()
31
    {
32
        for ($i=0; $i<1000; ++$i) {
33
            $data = random_bytes(1024 * 4);
34
35
            $this->assertEquals($data, DataCodec::decode(DataCodec::encode($data)));
36
        }
37
    }
38
}
39