diff options
Diffstat (limited to 'morphlib/builder_tests.py')
-rw-r--r-- | morphlib/builder_tests.py | 89 |
1 files changed, 2 insertions, 87 deletions
diff --git a/morphlib/builder_tests.py b/morphlib/builder_tests.py index 0cc90819..0067022f 100644 --- a/morphlib/builder_tests.py +++ b/morphlib/builder_tests.py @@ -15,12 +15,12 @@ import json -import os import StringIO import unittest import morphlib import morphlib.gitdir_tests +import morphlib.testutils class FakeBuildSystem(object): @@ -78,64 +78,6 @@ class FakeBuildEnv(object): } -class FakeFileHandle(object): - - def __init__(self, cache, key): - self._string = "" - self._cache = cache - self._key = key - - def __enter__(self): - return self - - def _writeback(self): - self._cache._cached[self._key] = self._string - - def __exit__(self, type, value, traceback): - self._writeback() - - def close(self): - self._writeback() - - def write(self, string): - self._string += string - - -class FakeArtifactCache(object): - - def __init__(self): - self._cached = {} - - def put(self, artifact): - return FakeFileHandle(self, (artifact.cache_key, artifact.name)) - - def put_artifact_metadata(self, artifact, name): - return FakeFileHandle(self, (artifact.cache_key, artifact.name, name)) - - def put_source_metadata(self, source, cachekey, name): - return FakeFileHandle(self, (cachekey, name)) - - def get(self, artifact): - return StringIO.StringIO( - self._cached[(artifact.cache_key, artifact.name)]) - - def get_artifact_metadata(self, artifact, name): - return StringIO.StringIO( - self._cached[(artifact.cache_key, artifact.name, name)]) - - def get_source_metadata(self, source, cachekey, name): - return StringIO.StringIO(self._cached[(cachekey, name)]) - - def has(self, artifact): - return (artifact.cache_key, artifact.name) in self._cached - - def has_artifact_metadata(self, artifact, name): - return (artifact.cache_key, artifact.name, name) in self._cached - - def has_source_metadata(self, source, cachekey, name): - return (cachekey, name) in self._cached - - class BuilderBaseTests(unittest.TestCase): def fake_runcmd(self, argv, *args, **kwargs): @@ -151,7 +93,7 @@ class BuilderBaseTests(unittest.TestCase): self.commands_run = [] self.app = FakeApp(self.fake_runcmd) self.staging_area = FakeStagingArea(self.fake_runcmd, FakeBuildEnv()) - self.artifact_cache = FakeArtifactCache() + self.artifact_cache = morphlib.testutils.FakeLocalArtifactCache() self.artifact = FakeArtifact('le-artifact') self.repo_cache = None self.build_env = FakeBuildEnv() @@ -187,33 +129,6 @@ class BuilderBaseTests(unittest.TestCase): self.assertEqual(sorted(events), sorted(meta['build-times'].keys())) - def test_downloads_depends(self): - lac = FakeArtifactCache() - rac = FakeArtifactCache() - afacts = [FakeArtifact(name) for name in ('a', 'b', 'c')] - for a in afacts: - fh = rac.put(a) - fh.write(a.name) - fh.close() - morphlib.builder.download_depends(afacts, lac, rac) - self.assertTrue(all(lac.has(a) for a in afacts)) - - def test_downloads_depends_metadata(self): - lac = FakeArtifactCache() - rac = FakeArtifactCache() - afacts = [FakeArtifact(name) for name in ('a', 'b', 'c')] - for a in afacts: - fh = rac.put(a) - fh.write(a.name) - fh.close() - fh = rac.put_artifact_metadata(a, 'meta') - fh.write('metadata') - fh.close() - morphlib.builder.download_depends(afacts, lac, rac, ('meta',)) - self.assertTrue(all(lac.has(a) for a in afacts)) - self.assertTrue(all(lac.has_artifact_metadata(a, 'meta') - for a in afacts)) - class ChunkBuilderTests(unittest.TestCase): |