Пример #1
0
    def test_override_previous_list(self, r, str_list, another_str_list):
        """
        Should be equal to another_str_list.

        Despite of it was initialized with str_list.
        """
        redis_list = RedisList(r, REDIS_TEST_KEY_NAME, str_list)
        assert list(redis_list) == str_list

        redis_list = RedisList(r, REDIS_TEST_KEY_NAME, another_str_list)
        assert list(redis_list) == another_str_list != str_list
Пример #2
0
def redis_list_without_pickling(r, str_list):
    """
    RedisList bonded to BYTES_LIST list in Redis.

    RedisList: [b'VAL_1', b'VAL_2', b'VAL_2']
    """
    return RedisList(r, REDIS_TEST_KEY_NAME, str_list, pickling=False)
Пример #3
0
def redis_list(r, str_list):
    """
    RedisList bonded to STR_LIST list in Redis.

    RedisList: ['VAL_1', 'VAL_2', 'VAL_2']
    """
    return RedisList(r, REDIS_TEST_KEY_NAME, str_list)
Пример #4
0
def redis_empty_list(r):
    """
    RedisList bonded to empty list in Redis.

    RedisList: []
    """
    return RedisList(r, REDIS_TEST_KEY_NAME)
Пример #5
0
    def test_bind_to_existing_list(self, r, bytes_list):
        """
        Should be equal to bytes_list.

        Since the items are stored in the Redis as bytes, pickling is disabled.
        """
        r.rpush(REDIS_TEST_KEY_NAME, *bytes_list)
        redis_list = RedisList(r, REDIS_TEST_KEY_NAME, pickling=False)
        assert list(redis_list) == bytes_list
Пример #6
0
 def test_init_with_empty_list(self, r, str_list):
     """Should override existing value with empty list by removing the key."""
     r.rpush(REDIS_TEST_KEY_NAME, *str_list)
     redis_list = RedisList(r, REDIS_TEST_KEY_NAME, [], pickling=False)
     assert list(redis_list) == []
     assert r.keys() == []
Пример #7
0
 def test_equal_items(self, r, redis_list, str_list):
     """Should return True."""
     other_redis_list = RedisList(r, self.OTHER_HASH_NAME, str_list)
     assert redis_list == other_redis_list and list(redis_list) == list(other_redis_list) \
         and redis_list.key_name != other_redis_list.key_name
Пример #8
0
 def test_bind_to_none(self, r):
     """Should be equal to empty string."""
     redis_list = RedisList(r, REDIS_TEST_KEY_NAME)
     assert list(redis_list) == []
Пример #9
0
 def test_bind_to_bytes_list(self, r, str_list):
     """Should raise ValueError."""
     r.rpush(REDIS_TEST_KEY_NAME, *str_list)
     with pytest.raises(ValueError):
         list(RedisList(r, REDIS_TEST_KEY_NAME))
Пример #10
0
 def test_equal_key_names(self, r, redis_list):
     """Should return True."""
     other_redis_list = RedisList(r, REDIS_TEST_KEY_NAME)
     assert redis_list == other_redis_list and other_redis_list.key_name == redis_list.key_name
Пример #11
0
 def test_two_different_redis_lists(self, r, redis_list, another_str_list):
     """Should return False."""
     other_redis_list = RedisList(r, self.OTHER_HASH_NAME, another_str_list)
     assert redis_list != other_redis_list and isinstance(other_redis_list, type(redis_list))
Пример #12
0
 def test_bind_to_wrong_type(self, r):
     """Should raise TypeError."""
     r.set(REDIS_TEST_KEY_NAME, 1)
     with pytest.raises(TypeError):
         RedisList(r, REDIS_TEST_KEY_NAME)
Пример #13
0
 def test_init_with_not_iterable_data_type(self, r):
     """Should raise ValueError."""
     with pytest.raises(ValueError):
         RedisList(r, REDIS_TEST_KEY_NAME, 1)