Merge lp:~edwin-grubbs/launchpad/bug-462622-series-caching-test into lp:launchpad/db-devel

Proposed by Edwin Grubbs
Status: Merged
Merged at revision: not available
Proposed branch: lp:~edwin-grubbs/launchpad/bug-462622-series-caching-test
Merge into: lp:launchpad/db-devel
Diff against target: 45 lines (+28/-0)
1 file modified
lib/lp/registry/tests/test_distribution.py (+28/-0)
To merge this branch: bzr merge lp:~edwin-grubbs/launchpad/bug-462622-series-caching-test
Reviewer Review Type Date Requested Status
Abel Deuring (community) code Approve
Review via email: mp+14525@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Edwin Grubbs (edwin-grubbs) wrote :

Summary
-------

Added test for populating and clearing the cache for
the distribution.serieses attribute.

Tests
-----

./bin/test -vvm lp.registry.tests.test_distribution

Revision history for this message
Abel Deuring (adeuring) :
review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/lp/registry/tests/test_distribution.py'
2--- lib/lp/registry/tests/test_distribution.py 2009-06-25 04:06:00 +0000
3+++ lib/lp/registry/tests/test_distribution.py 2009-11-06 04:15:24 +0000
4@@ -7,6 +7,8 @@
5
6 import unittest
7
8+from zope.security.proxy import removeSecurityProxy
9+
10 from lp.registry.tests.test_distroseries import (
11 TestDistroSeriesCurrentSourceReleases)
12 from lp.soyuz.interfaces.distributionsourcepackagerelease import (
13@@ -45,6 +47,32 @@
14 version='1.1', distroseries=self.current_series)
15 self.assertCurrentVersion('1.1')
16
17+ def test_distribution_series_cache(self):
18+ distribution = removeSecurityProxy(
19+ self.factory.makeDistribution('foo'))
20+
21+ # Not yet cached.
22+ missing = object()
23+ cached_series = getattr(distribution, '_cached_serieses', missing)
24+ self.assertEqual(missing, cached_series)
25+
26+ # Now cached.
27+ series = distribution.serieses
28+ self.assertTrue(series is distribution._cached_serieses)
29+
30+ # Cache cleared.
31+ distribution.newSeries(
32+ name='bar', displayname='Bar', title='Bar', summary='',
33+ description='', version='1', parent_series=None,
34+ owner=self.factory.makePerson())
35+ cached_series = getattr(distribution, '_cached_serieses', missing)
36+ self.assertEqual(missing, cached_series)
37+
38+ # New cached value.
39+ series = distribution.serieses
40+ self.assertEqual(1, len(series))
41+ self.assertTrue(series is distribution._cached_serieses)
42+
43
44 def test_suite():
45 suite = unittest.TestSuite()

Subscribers

People subscribed via source and target branches

to status/vote changes: