diff options
| author | Alvaro Lopez Garcia <aloga@ifca.unican.es> | 2011-12-02 14:18:38 +0100 |
|---|---|---|
| committer | Alvaro Lopez Garcia <aloga@ifca.unican.es> | 2011-12-15 18:09:21 +0100 |
| commit | f68abf9b0e3e2ba206c560c19db321c6f88670f1 (patch) | |
| tree | 3e798b368e928c79d15dc7d8337db976324e4e0d /nova/tests | |
| parent | 36791875b599da16d90578b1b53759f82f8e04bb (diff) | |
Fixes bug 723235
The XML templates have been converted into properties, thus we can
compare the mtime of the XML templates (libvirt and cpuinfo) each
time they are needed, checking if they have been modified and
reloading them. Added a function to read cached files.
Change-Id: I6cf0229c6435300e73f9d9a6b10b0bf9bf144a55
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/test_utils.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/nova/tests/test_utils.py b/nova/tests/test_utils.py index 15ac0dc2d..d2b122121 100644 --- a/nova/tests/test_utils.py +++ b/nova/tests/test_utils.py @@ -14,6 +14,8 @@ # License for the specific language governing permissions and limitations # under the License. +import __builtin__ +import mox import datetime import os import tempfile @@ -330,6 +332,33 @@ class GenericUtilsTestCase(test.TestCase): actual_url = "http://%s:%d" % (FLAGS.glance_host, FLAGS.glance_port) self.assertEqual(generated_url, actual_url) + def test_read_cached_file(self): + self.mox.StubOutWithMock(os.path, "getmtime") + os.path.getmtime(mox.IgnoreArg()).AndReturn(1) + self.mox.ReplayAll() + + cache_data = {"data": 1123, "mtime": 1} + data = utils.read_cached_file("/this/is/a/fake", cache_data) + self.assertEqual(cache_data["data"], data) + + def test_read_modified_cached_file(self): + self.mox.StubOutWithMock(os.path, "getmtime") + self.mox.StubOutWithMock(__builtin__, 'open') + + os.path.getmtime(mox.IgnoreArg()).AndReturn(2) + + fake_contents = "lorem ipsum" + fake_file = self.mox.CreateMockAnything() + fake_file.read().AndReturn(fake_contents) + __builtin__.open(mox.IgnoreArg()).AndReturn(fake_file) + + self.mox.ReplayAll() + cache_data = {"data": 1123, "mtime": 1} + data = utils.read_cached_file("/this/is/a/fake", cache_data) + self.mox.VerifyAll() + self.mox.UnsetStubs() + self.assertEqual(data, fake_contents) + class IsUUIDLikeTestCase(test.TestCase): def assertUUIDLike(self, val, expected): |
