Completed
Pull Request — master (#30)
by Matthew
48:21 queued 02:09
created

PhpRedisJobManagerTest::setUpBeforeClass()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 24
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 24
rs 8.9713
c 1
b 0
f 0
cc 2
eloc 20
nc 2
nop 0
1
<?php
2
3
namespace Dtc\QueueBundle\Tests\Redis;
4
5
use Dtc\QueueBundle\Model\JobTiming;
6
use Dtc\QueueBundle\Manager\JobTimingManager;
7
use Dtc\QueueBundle\Model\Run;
8
use Dtc\QueueBundle\Manager\RunManager;
9
use Dtc\QueueBundle\Redis\JobManager;
10
use Dtc\QueueBundle\Redis\PhpRedis;
11
use Dtc\QueueBundle\Tests\FibonacciWorker;
12
use Dtc\QueueBundle\Tests\Manager\AutoRetryTrait;
13
use Dtc\QueueBundle\Tests\Manager\PriorityTestTrait;
14
15
/**
16
 * @author David
17
 *
18
 * This test requires local beanstalkd running
19
 */
20
class PhpRedisJobManagerTest extends JobManagerTest
21
{
22
    use PriorityTestTrait;
23
    use AutoRetryTrait;
24
    public static $connection;
25
26
    public static function setUpBeforeClass()
27
    {
28
        $host = getenv('REDIS_HOST');
29
        $port = getenv('REDIS_PORT') ?: 6379;
30
        $jobTimingClass = JobTiming::class;
31
        $runClass = Run::class;
32
        $redis = new \Redis();
33
        $redis->connect($host, $port);
34
        $redis->flushAll();
35
        $phpredis = new PhpRedis($redis);
36
37
        self::$jobTimingManager = new JobTimingManager($jobTimingClass, false);
38
        self::$runManager = new RunManager($runClass);
39
        self::$jobManager = new JobManager(
40
            self::$runManager,
41
            self::$jobTimingManager,
42
            \Dtc\QueueBundle\Redis\Job::class,
43
            'test_cache_key'
44
        );
45
        self::$jobManager->setRedis($phpredis);
46
        self::$jobManager->setMaxPriority(255);
47
        self::$worker = new FibonacciWorker();
48
        parent::setUpBeforeClass();
49
    }
50
}
51