File: TestCase.php

package info (click to toggle)
simplesamlphp 1.19.7-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 42,920 kB
  • sloc: php: 202,044; javascript: 14,867; xml: 2,700; sh: 225; perl: 82; makefile: 70; python: 5
file content (110 lines) | stat: -rw-r--r-- 2,836 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<?php

namespace Basho\Tests;

use Basho\Riak;
use Basho\Riak\Node;

/**
 * Main class for testing Riak clustering
 *
 * @author Christopher Mancini <cmancini at basho d0t com>
 */
abstract class TestCase extends \PHPUnit_Framework_TestCase
{
    const TEST_NODE_HOST = 'riak-test';
    const TEST_NODE_PORT = 8087;
    const TEST_NODE_HTTP_PORT = 8098;
    const TEST_NODE_SECURE_PORT = 8498;

    const BITCASK_BUCKET_TYPE = 'bitcask';
    const COUNTER_BUCKET_TYPE = 'counters';
    const HLL_BUCKET_TYPE = 'hlls';
    const LEVELDB_BUCKET_TYPE = 'plain';
    const MAP_BUCKET_TYPE = 'maps';
    const SEARCH_BUCKET_TYPE = 'yokozuna';
    const SET_BUCKET_TYPE = 'sets';
    const GSET_BUCKET_TYPE = 'gsets';

    const TEST_IMG = "Basho_Man_Super.png";

    /**
     * @var \Basho\Riak|null
     */
    static $riak = null;

    /**
     * Gets a cluster of 3 fake nodes
     *
     * @return array
     */
    public static function getCluster()
    {
        return (new Node\Builder)
            ->onPort(static::getTestPort())
            ->buildCluster(['riak1.company.com', 'riak2.company.com', 'riak3.company.com',]);
    }

    public static function getLocalNode()
    {
        return (new Node\Builder)
            ->atHost(static::getTestHost())
            ->onPort(static::getTestPort())
            ->build();
    }

    public static function getApiBridgeClass()
    {
        return !empty($_ENV['PB_INTERFACE']) ? new Riak\Api\Pb() : null;
    }

    public static function getTestHost()
    {
        $host = getenv('RIAK_HOST');
        return $host ?: static::TEST_NODE_HOST;
    }

    public static function getTestHttpPort()
    {
        return getenv('RIAK_HTTP_PORT') ? getenv('RIAK_HTTP_PORT') : static::TEST_NODE_HTTP_PORT;
    }

    public static function getTestPort()
    {
        if (getenv('PB_INTERFACE')) {
            $port = getenv('RIAK_PORT') ? getenv('RIAK_PORT') : static::TEST_NODE_PORT;
        } else {
            $port = static::getTestHttpPort();
        }

        return $port;
    }

    public static function getTestSecurePort()
    {
        if (getenv('PB_INTERFACE')) {
            $port = static::getTestPort();
        } else {
            $port = getenv('RIAK_HTTPS_PORT') ? getenv('RIAK_HTTPS_PORT') : static::TEST_NODE_SECURE_PORT;
        }

        return $port;
    }

    /**
     * Parent setup method opens Riak connection and initializes static variable
     */
    public static function setUpBeforeClass()
    {
        static::$riak = new Riak([static::getLocalNode()], [], static::getApiBridgeClass());
    }

    /**
     * Parent tear down method closes Riak connection and uninitializes static variable
     */
    public static function tearDownAfterClass()
    {
        static::$riak->getApi()->closeConnection();
        static::$riak = null;
    }
}