Skip to content

Cache: indirect link not refreshed

Steps to reproduce

  • I join a circle
  • I successfully remove myself from it (DELETE /circle-members/)
  • my list of circles is not updated correctly (GET /circles/)
  • returns outdated version of the container because the circle-member resource has been refreshed, but not the connecting circle
def test_leave_circle_user_cache_updates(self):
    self.setUpLoggedInUser()
    another_user = get_random_user()
    self.setUpCircle(owner=another_user)
    me = CircleMember.objects.create(user=self.user, circle=self.circle, is_admin=False)

    response = self.client.get('/users/{}/'.format(self.user.username))
    self.assertEqual(len(response.data['circles']['ldp:contains']), 1)

    response = self.client.delete('/circle-members/{}/'.format(me.pk))
    self.assertEqual(response.status_code, 204)

    response = self.client.get('/users/{}/'.format(self.user.username))
    # -- FAILS HERE --
    self.assertEqual(len(response.data['circles']['ldp:contains']), 0)

Old accounting Protocol

Edited by Cyril Thiriet