File: amqpconnection_validation.phpt

package info (click to toggle)
php-amqp 2.1.2-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,536 kB
  • sloc: ansic: 7,295; xml: 1,162; php: 690; pascal: 49; makefile: 2
file content (112 lines) | stat: -rw-r--r-- 5,128 bytes parent folder | download
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
111
112
--TEST--
AMQPConnection parameter validation
--SKIPIF--
<?php
if (!extension_loaded("amqp")) print "skip AMQP extension is not loaded";
?>
--FILE--
<?php
$parameters = [
    ['login', 'setLogin', 'getLogin', [str_repeat('X', 1025), 'user']],
    ['password', 'setPassword', 'getPassword', [str_repeat('X', 1025), 'pass']],
    ['host', 'setHost', 'getHost', [str_repeat('X', 513), 'host']],
    ['vhost', 'setVhost', 'getVhost', [str_repeat('X', 513), 'vhost']],
    ['port', 'setPort', 'getPort', [-1, 65536, 1234]],
    ['timeout', 'setTimeout', 'getTimeout', [-1], 10],
    ['read_timeout', 'setReadTimeout', 'getReadTimeout', [-1, 20]],
    ['write_timeout', 'setWriteTimeout', 'getWriteTimeout', [-1, 30]],
    ['connect_timeout', null, 'getConnectTimeout', [-1, 40]],
    ['rpc_timeout', 'setRpcTimeout', 'getRpcTimeout', [-1, 50]],
    ['frame_max', null, 'getMaxFrameSize', [-1, PHP_INT_MAX + 1, 128]],
    ['channel_max', null, 'getMaxChannels', [-1, 257, 128]],
    ['heartbeat', null, 'getHeartbeatInterval', [-1, PHP_INT_MAX + 1, 250, 0]],
];

foreach ($parameters as $args) {
    list($prop, $setter, $getter, $values) = $args;
    foreach ($values as $value) {
        try {
            $con1 = new AMQPConnection([$prop => $value]);
            echo $getter . " after constructor: ";
            echo $con1->{$getter}();
            echo PHP_EOL;
        } catch (\Throwable $t) {
            echo get_class($t);
            echo ": ";
            echo $t->getMessage();
            echo PHP_EOL;
        }
        if ($setter === null) {
            continue;
        }
        $con2 = new AMQPConnection();
        try {
            $con2->{$setter}($value);
            echo $getter . " after setter: ";
            echo $con2->{$getter}();
            echo PHP_EOL;
        } catch (\Throwable $t) {
            echo get_class($t);
            echo ": ";
            echo $t->getMessage();
            echo PHP_EOL;
        }
    }
}

?>
==DONE==
--EXPECTF--
AMQPConnectionException: Parameter 'login' exceeds 1024 character limit.
AMQPConnectionException: Parameter 'login' exceeds 1024 character limit.
getLogin after constructor: user
getLogin after setter: user
AMQPConnectionException: Parameter 'password' exceeds 1024 character limit.
AMQPConnectionException: Parameter 'password' exceeds 1024 character limit.
getPassword after constructor: pass
getPassword after setter: pass
AMQPConnectionException: Parameter 'host' exceeds 512 character limit.
AMQPConnectionException: Parameter 'host' exceeds 512 character limit.
getHost after constructor: host
getHost after setter: host
AMQPConnectionException: Parameter 'vhost' exceeds 512 character limit.
AMQPConnectionException: Parameter 'vhost' exceeds 512 characters limit.
getVhost after constructor: vhost
getVhost after setter: vhost
AMQPConnectionException: Parameter 'port' must be a valid port number between 1 and 65535.
AMQPConnectionException: Parameter 'port' must be a valid port number between 1 and 65535.
AMQPConnectionException: Parameter 'port' must be a valid port number between 1 and 65535.
AMQPConnectionException: Parameter 'port' must be a valid port number between 1 and 65535.
getPort after constructor: 1234
getPort after setter: 1234

Deprecated: AMQPConnection::__construct(): Parameter 'timeout' is deprecated; use 'read_timeout' instead in %s on line %d
AMQPConnectionException: Parameter 'timeout' must be greater than or equal to zero.

Deprecated: AMQPConnection::setTimeout(): AMQPConnection::setTimeout($timeout) method is deprecated; use AMQPConnection::setReadTimeout($timeout) instead in %s on line %d
AMQPConnectionException: Parameter 'timeout' must be greater than or equal to zero.
AMQPConnectionException: Parameter 'read_timeout' must be greater than or equal to zero.
AMQPConnectionException: Parameter 'readTimeout' must be greater than or equal to zero.
getReadTimeout after constructor: 20
getReadTimeout after setter: 20
AMQPConnectionException: Parameter 'write_timeout' must be greater than or equal to zero.
AMQPConnectionException: Parameter 'writeTimeout' must be greater than or equal to zero.
getWriteTimeout after constructor: 30
getWriteTimeout after setter: 30
AMQPConnectionException: Parameter 'connect_timeout' must be greater than or equal to zero.
getConnectTimeout after constructor: 40
AMQPConnectionException: Parameter 'rpc_timeout' must be greater than or equal to zero.
AMQPConnectionException: Parameter 'rpcTimeout' must be greater than or equal to zero.
getRpcTimeout after constructor: 50
getRpcTimeout after setter: 50
AMQPConnectionException: Parameter 'frame_max' is out of range.
AMQPConnectionException: Parameter 'frame_max' is out of range.
getMaxFrameSize after constructor: 128
AMQPConnectionException: Parameter 'channel_max' is out of range.
AMQPConnectionException: Parameter 'channel_max' is out of range.
getMaxChannels after constructor: 128
AMQPConnectionException: Parameter 'heartbeat' is out of range.
AMQPConnectionException: Parameter 'heartbeat' is out of range.
getHeartbeatInterval after constructor: 250
getHeartbeatInterval after constructor: 0
==DONE==