Exemple #1
0
    def _check_base(self, method, param_to_change=None):
        self.cache.reset_mock()

        items = [u'тест', 'str', 100, 1.45]
        random.shuffle(items)

        a, b, c = items[:3]

        result = process_args(a, b, c)

        self.assertEqual(method(a, b, c), result)
        self.cache.assert_called_once_with(result)
        self.cache.reset_mock()

        # cached version (force convert to unicode)
        self.assertEqual(force_text(method(a, b, c)), force_text(result))
        self.assertFalse(self.cache.called)
        self.cache.reset_mock()

        if param_to_change == 'c':
            c = items[3]
        elif param_to_change == 'b':
            b = items[3]
        else:
            a = items[3]

        result = process_args(a, b, c)

        # different params, no cache
        self.assertEqual(method(a, b, c), result)
        self.cache.assert_called_once_with(result)
        self.cache.reset_mock()
Exemple #2
0
    def _check_base(self, method, param_to_change=None):
        self.cache.reset_mock()

        items = [u'тест', 'str', 100, 1.45]
        random.shuffle(items)

        a, b, c = items[:3]

        result = process_args(a, b, c)

        self.assertEqual(method(a, b, c), result)
        self.cache.assert_called_once_with(result)
        self.cache.reset_mock()

        # cached version (force convert to unicode)
        self.assertEqual(force_text(method(a, b, c)), force_text(result))
        self.assertFalse(self.cache.called)
        self.cache.reset_mock()

        if param_to_change == 'c':
            c = items[3]
        elif param_to_change == 'b':
            b = items[3]
        else:
            a = items[3]

        result = process_args(a, b, c)

        # different params, no cache
        self.assertEqual(method(a, b, c), result)
        self.cache.assert_called_once_with(result)
        self.cache.reset_mock()
Exemple #3
0
    def search_prefix(self, prefix):
        keys_list = self.get_all_keys()

        actual_prefix = prefix

        if self.is_locmem:
            # using real keys only for locmem cache
            actual_prefix = self.with_key_prefix(force_text(prefix))

        for key in keys_list:
            # force all keys to be unicode, since not all cache backends support it
            key = force_text(key)
            if key.startswith(force_text(actual_prefix)):
                return True
        return False
Exemple #4
0
    def search_prefix(self, prefix):
        keys_list = self.get_all_keys()

        actual_prefix = prefix

        if self.is_locmem:
            # using real keys only for locmem cache
            actual_prefix = self.with_key_prefix(force_text(prefix))

        for key in keys_list:
            # force all keys to be unicode, since not all cache backends support it
            key = force_text(key)
            if key.startswith(force_text(actual_prefix)):
                return True
        return False
Exemple #5
0
def process_args(*args, **kwargs):
    final = list(args)
    for k, v in sorted(kwargs.items()):
        final.append(k)
        final.append(v)

    return ':'.join(force_text(i) for i in final)
Exemple #6
0
def process_args(*args, **kwargs):
    final = list(args)
    for k, v in sorted(kwargs.items()):
        final.append(k)
        final.append(v)

    return ':'.join(force_text(i) for i in final)