def test_invalidate_all(self):
        cache_key = 'foo'
        cache_value = 'goo'
        self.cache_region.set(cache_key, cache_value)
        self.assertEqual(self.cache_region.get(cache_key), cache_value)

        url = self.url_for(
            DemoCacheRegionResource.endpoint_for_action(DemoCacheRegionResource.Action.INVALIDATE_ALL))
        resp = self.client_post(url)
        self.assert200(resp, resp.data)
        self.assertEqual(dogpile_cache_ext.NO_VALUE, self.cache_region.get(cache_key))
    def test_set_value(self):
        cache_key = 'foo'
        cache_value = 'goo'

        url = self.url_for(
            DemoCacheRegionResource.endpoint_for_action(DemoCacheRegionResource.Action.SET_VALUE),
            region=self.region,
            key=cache_key)
        resp = self.client_post(url, data=dict(value=cache_value))
        self.assert200(resp, resp.data)
        cached_value = self.cache_region.get(cache_key)
        self.assertEqual(cached_value, cache_value)
    def test_get_value(self):
        cache_key = 'foo'
        cache_value = 'goo'
        self.cache_region.set(cache_key, cache_value)
        self.assertEqual(self.cache_region.get(cache_key), cache_value)

        url = self.url_for(
            DemoCacheRegionResource.endpoint_for_action(DemoCacheRegionResource.Action.GET_VALUE),
            region=self.region,
            key=cache_key)
        resp = self.client_get(url)
        self.assert200(resp, resp.data)
        content = self.extract_response_content(resp)
        self.assertEqual(cache_value, content)
    def test_delete_value(self):
        cache_key_1 = 'foo'
        cache_value_1 = 'goo'
        self.cache_region.set(cache_key_1, cache_value_1)
        self.assertEqual(self.cache_region.get(cache_key_1), cache_value_1)

        cache_key_2 = 'boo'
        cache_value_2 = 'zoo'
        self.cache_region.set(cache_key_2, cache_value_2)
        self.assertEqual(self.cache_region.get(cache_key_2), cache_value_2)

        url = self.url_for(
            DemoCacheRegionResource.endpoint_for_action(DemoCacheRegionResource.Action.DELETE_VALUE),
            region=self.region,
            key=cache_key_1)
        resp = self.client_delete(url)
        self.assert200(resp, resp.data)

        cached_value_1 = self.cache_region.get(cache_key_1)
        self.assertEqual(dogpile_cache_ext.NO_VALUE, cached_value_1)

        cached_value_2 = self.cache_region.get(cache_key_2)
        self.assertEqual(cache_value_2, cached_value_2)