1717
1818from warehouse import packaging
1919from warehouse .packaging .interfaces import IDownloadStatService , IFileStorage
20- from warehouse .packaging .models import Project , Release
20+ from warehouse .packaging .models import Project , Release , User
2121from warehouse .packaging .tasks import compute_trending
2222
2323
@@ -34,7 +34,7 @@ def test_includme(monkeypatch, with_trending):
3434 )
3535
3636 def key_factory (keystring , iterate_on = None ):
37- return pretend .call (keystring , iterate_on = None )
37+ return pretend .call (keystring , iterate_on = iterate_on )
3838
3939 monkeypatch .setattr (packaging , 'key_factory' , key_factory )
4040
@@ -78,22 +78,35 @@ def key_factory(keystring, iterate_on=None):
7878 Project ,
7979 cache_keys = [
8080 key_factory ("project/{obj.normalized_name}" ),
81+ key_factory ("user/{itr.username}" , iterate_on = 'users' ),
8182 ],
8283 purge_keys = [
8384 key_factory ("project/{obj.normalized_name}" ),
85+ key_factory ("user/{itr.username}" , iterate_on = 'users' ),
8486 key_factory ("all-projects" ),
8587 ],
8688 ),
8789 pretend .call (
8890 Release ,
8991 cache_keys = [
9092 key_factory ("project/{obj.project.normalized_name}" ),
93+ key_factory ("user/{itr.username}" , iterate_on = 'project.users' ),
9194 ],
9295 purge_keys = [
9396 key_factory ("project/{obj.project.normalized_name}" ),
97+ key_factory ("user/{itr.username}" , iterate_on = 'project.users' ),
9498 key_factory ("all-projects" ),
9599 ],
96100 ),
101+ pretend .call (
102+ User ,
103+ cache_keys = [
104+ key_factory ("user/{obj.username}" ),
105+ ],
106+ purge_keys = [
107+ key_factory ("user/{obj.username}" ),
108+ ],
109+ ),
97110 ]
98111
99112 if with_trending :
0 commit comments