@@ -52,74 +52,34 @@ public function testCreateConnection()
52
52
public function testDefaultUserPasswordAuth ()
53
53
{
54
54
$ predis = RedisAdapter::createConnection ('redis:// ' .getenv ('REDIS_HOST ' ), ['class ' => \Predis \Client::class]);
55
- self ::assertInstanceOf (\Predis \Client::class, $ predis );
56
- // set password for default user
57
55
$ predis ->config ('SET ' , 'requirepass ' , 'password ' );
58
56
59
- // connect with only default user password
60
- $ predis = RedisAdapter:: createConnection ( ' redis://password@ ' . getenv ( ' REDIS_HOST ' ) );
57
+ $ predis = RedisAdapter:: createConnection ( ' redis://password@ ' . getenv ( ' REDIS_HOST ' ), [ ' class ' => \ Predis \Client::class]);
58
+ $ this -> assertInstanceOf (\ Predis \Client::class, $ predis );
61
59
$ predis ->set (__FUNCTION__ , 'value1 ' );
62
- self :: assertSame ('value1 ' , $ predis ->get (__FUNCTION__ ));
60
+ $ this -> assertSame ('value1 ' , $ predis ->get (__FUNCTION__ ));
63
61
64
- // remove password
65
- $ predis = RedisAdapter::createConnection ('redis://password@ ' .getenv ('REDIS_HOST ' ));
66
62
$ predis ->config ('SET ' , 'requirepass ' , null );
67
-
68
- // connect with no password
69
- $ predis = RedisAdapter::createConnection ('redis:// ' .getenv ('REDIS_HOST ' ));
70
- $ predis ->set (__FUNCTION__ , 'value3 ' );
71
- self ::assertSame ('value3 ' , $ predis ->get (__FUNCTION__ ));
72
63
}
73
64
74
65
public function testAclUserPasswordAuth ()
75
66
{
76
- $ redis = RedisAdapter::createConnection ('redis:// ' .getenv ('REDIS_HOST ' ));
77
- $ redisServerInfo = $ redis ->info ();
78
- if (-1 === version_compare ($ redisServerInfo ['redis_version ' ], '6.0.0 ' )) {
79
- self ::markTestSkipped ('Redis server version should be greater than 6.0.0 for testing ACL features ' );
80
- }
81
-
82
67
// creating user via php-redis cause Predis (v1.1.10) does not support ACL command yet
83
- self ::assertTrue ($ redis ->acl ('SETUSER ' , 'predis ' , 'on ' ));
84
- self ::assertTrue ($ redis ->acl ('SETUSER ' , 'predis ' , '>password ' ));
85
- self ::assertTrue ($ redis ->acl ('SETUSER ' , 'predis ' , 'allkeys ' ));
86
- self ::assertTrue ($ redis ->acl ('SETUSER ' , 'predis ' , '+@all ' ));
87
-
88
- // auth by ACL user with Predis
89
- $ predis = RedisAdapter::createConnection ('redis://predis:password@ ' .getenv ('REDIS_HOST ' ), ['class ' => \Predis \Client::class]);
90
- self ::assertInstanceOf (\Predis \Client::class, $ predis );
91
- self ::assertSame ('OK ' , $ predis ->set (__FUNCTION__ , 'value2 ' )->getPayload ());
92
-
93
- // ACL delete user via php-redis
94
- self ::assertSame (1 , $ redis ->acl ('DELUSER ' , 'predis ' ));
95
- }
96
-
97
- public function testAclOnRedisBelowVersion6ShouldNotFall ()
98
- {
99
68
$ redis = RedisAdapter::createConnection ('redis:// ' .getenv ('REDIS_HOST ' ));
100
- $ redisServerInfo = $ redis -> info ();
101
- if (1 === version_compare ($ redisServerInfo ['redis_version ' ], '6.0.0 ' )) {
102
- self :: markTestSkipped ('Redis server version should be lower than 6.0.0 for testing for this test case ' );
69
+
70
+ if (version_compare ($ redis -> info () ['redis_version ' ], '6.0 ' , ' < ' )) {
71
+ $ this -> markTestSkipped ('Redis server >= 6.0 required ' );
103
72
}
104
73
105
- // auth by ACL user with Predis
106
- $ predis = RedisAdapter::createConnection ('redis:// ' .getenv ('REDIS_HOST ' ), ['class ' => \Predis \Client::class]);
107
- self ::assertInstanceOf (\Predis \Client::class, $ predis );
108
- self ::assertSame ('OK ' , $ predis ->set (__FUNCTION__ , 'value2 ' )->getPayload ());
109
- }
74
+ $ this ->assertTrue ($ redis ->acl ('SETUSER ' , 'predis ' , 'on ' ));
75
+ $ this ->assertTrue ($ redis ->acl ('SETUSER ' , 'predis ' , '>password ' ));
76
+ $ this ->assertTrue ($ redis ->acl ('SETUSER ' , 'predis ' , 'allkeys ' ));
77
+ $ this ->assertTrue ($ redis ->acl ('SETUSER ' , 'predis ' , '+@all ' ));
110
78
111
- public function testAclOnRedisBelowVersion6ShouldThrowNoAuth ()
112
- {
113
- $ redis = RedisAdapter::createConnection ('redis:// ' .getenv ('REDIS_HOST ' ));
114
- $ redisServerInfo = $ redis ->info ('server ' );
115
- if (1 === version_compare ($ redisServerInfo ['redis_version ' ], '6.0.0 ' )) {
116
- self ::markTestSkipped ('Redis server version should be lower than 6.0.0 for testing for this test case ' );
117
- }
79
+ $ predis = RedisAdapter::createConnection ('redis://predis:password@ ' .getenv ('REDIS_HOST ' ), ['class ' => \Predis \Client::class]);
80
+ $ this ->assertInstanceOf (\Predis \Client::class, $ predis );
81
+ $ this ->assertSame ('OK ' , $ predis ->set (__FUNCTION__ , 'value2 ' )->getPayload ());
118
82
119
- self ::expectException (\Predis \Connection \ConnectionException::class);
120
- self ::expectExceptionMessageMatches ("/^`AUTH` failed: ERR wrong number of arguments for 'auth' command.*$/ " );
121
- $ predis = RedisAdapter::createConnection ('redis://username:password@ ' .getenv ('REDIS_HOST ' ), ['class ' => \Predis \Client::class]);
122
- self ::assertInstanceOf (\Predis \Client::class, $ predis );
123
- self ::assertSame ('OK ' , $ predis ->set (__FUNCTION__ , 'value2 ' )->getPayload ());
83
+ $ this ->assertSame (1 , $ redis ->acl ('DELUSER ' , 'predis ' ));
124
84
}
125
85
}
0 commit comments