Accepting request 906638 from devel:languages:python

- Add account-defaults-redis.patch which fixes failing tests by
  taking into consideration redis defaults, not overwriting them
  (gh#andymccurdy/redis-py#1499).

OBS-URL: https://build.opensuse.org/request/show/906638
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-redis?expand=0&rev=30
This commit is contained in:
Dominique Leuenberger 2021-07-18 21:44:49 +00:00 committed by Git OBS Bridge
commit 82b2960908
3 changed files with 99 additions and 3 deletions

View File

@ -0,0 +1,87 @@
From fea5d60c4426ec31a0e309a2efb2be62f6b2a412 Mon Sep 17 00:00:00 2001
From: "Chayim I. Kirshen" <c@kirshen.com>
Date: Mon, 28 Jun 2021 16:34:00 +0300
Subject: [PATCH 1/3] changing unit tests to account for defaults in redis
flags
Some versions of redis (validated against 6.2.4) set extra flags, making the tests fail.
Modified the tests to validate the specific flags pertaining to the test case are in place.
Similarly with acl_list, as other tests validate the specifics of acl_setuser, I changed it to validate against the acl list.
Finally, while here, I added python 3.9 to tox
---
tests/test_commands.py | 37 ++++++++++++++++++-------------------
1 file changed, 18 insertions(+), 19 deletions(-)
--- a/tests/test_commands.py
+++ b/tests/test_commands.py
@@ -105,25 +105,24 @@ class TestRedisCommands(object):
# test enabled=False
assert r.acl_setuser(username, enabled=False, reset=True)
- assert r.acl_getuser(username) == {
- 'categories': ['-@all'],
- 'commands': [],
- 'enabled': False,
- 'flags': ['off'],
- 'keys': [],
- 'passwords': [],
- }
+ acl = r.acl_getuser(username)
+ assert acl['categories'] == ['-@all']
+ assert acl['commands'] == []
+ assert acl['keys'] == []
+ assert acl['passwords'] == []
+ assert 'off' in acl['flags']
+ assert acl['enabled'] is False
# test nopass=True
assert r.acl_setuser(username, enabled=True, reset=True, nopass=True)
- assert r.acl_getuser(username) == {
- 'categories': ['-@all'],
- 'commands': [],
- 'enabled': True,
- 'flags': ['on', 'nopass'],
- 'keys': [],
- 'passwords': [],
- }
+ acl = r.acl_getuser(username)
+ assert acl['categories'] == ['-@all']
+ assert acl['commands'] == []
+ assert acl['keys'] == []
+ assert acl['passwords'] == []
+ assert 'on' in acl['flags']
+ assert 'nopass' in acl['flags']
+ assert acl['enabled'] is True
# test all args
assert r.acl_setuser(username, enabled=True, reset=True,
@@ -135,7 +134,7 @@ class TestRedisCommands(object):
assert set(acl['categories']) == set(['-@all', '+@set', '+@hash'])
assert set(acl['commands']) == set(['+get', '+mget', '-hset'])
assert acl['enabled'] is True
- assert acl['flags'] == ['on']
+ assert 'on' in acl['flags']
assert set(acl['keys']) == set([b'cache:*', b'objects:*'])
assert len(acl['passwords']) == 2
@@ -154,7 +153,7 @@ class TestRedisCommands(object):
assert set(acl['categories']) == set(['-@all', '+@set', '+@hash'])
assert set(acl['commands']) == set(['+get', '+mget'])
assert acl['enabled'] is True
- assert acl['flags'] == ['on']
+ assert 'on' in acl['flags']
assert set(acl['keys']) == set([b'cache:*', b'objects:*'])
assert len(acl['passwords']) == 2
@@ -193,7 +192,7 @@ class TestRedisCommands(object):
assert r.acl_setuser(username, enabled=False, reset=True)
users = r.acl_list()
- assert 'user %s off -@all' % username in users
+ assert len(users) == 2
@skip_if_server_version_lt(REDIS_6_VERSION)
def test_acl_setuser_categories_without_prefix_fails(self, r, request):

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Jul 16 09:15:51 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Add account-defaults-redis.patch which fixes failing tests by
taking into consideration redis defaults, not overwriting them
(gh#andymccurdy/redis-py#1499).
-------------------------------------------------------------------
Wed Mar 10 12:41:14 UTC 2021 - Matej Cepl <mcepl@suse.com>

View File

@ -25,6 +25,9 @@ License: MIT
Group: Development/Languages/Python
URL: https://github.com/andymccurdy/redis-py
Source: https://files.pythonhosted.org/packages/source/r/redis/redis-%{version}.tar.gz
# PATCH-FIX-UPSTREAM account-defaults-redis.patch gh#andymccurdy/redis-py#1499 mcepl@suse.com
# changing unit tests to account for defaults in redis
Patch0: account-defaults-redis.patch
BuildRequires: %{python_module mock}
BuildRequires: %{python_module pytest >= 2.7.0}
BuildRequires: %{python_module setuptools}
@ -41,7 +44,7 @@ BuildArch: noarch
The Python interface to the Redis key-value store.
%prep
%setup -q -n redis-%{version}
%autosetup -p1 -n redis-%{version}
%build
%python_build
@ -52,8 +55,7 @@ The Python interface to the Redis key-value store.
%check
%{_sbindir}/redis-server --port 6379 &
# Skipped tests because of gh#andymccurdy/redis-py#1459
%pytest -k 'not (test_acl_getuser_setuser or test_acl_list)'
%pytest
killall redis-server