Revision: 21068 http://gar.svn.sourceforge.net/gar/?rev=21068&view=rev Author: wahwah Date: 2013-05-13 22:53:53 +0000 (Mon, 13 May 2013) Log Message: ----------- generate-catalog-file: More unit tests
To smoke-test the basic generation functions. Modified Paths: -------------- csw/mgar/gar/v2/lib/python/generate_catalog_file.py csw/mgar/gar/v2/lib/python/generate_catalog_file_test.py Modified: csw/mgar/gar/v2/lib/python/generate_catalog_file.py =================================================================== --- csw/mgar/gar/v2/lib/python/generate_catalog_file.py 2013-05-13 20:29:51 UTC (rev 21067) +++ csw/mgar/gar/v2/lib/python/generate_catalog_file.py 2013-05-13 22:53:53 UTC (rev 21068) @@ -80,9 +80,9 @@ out_file = os.path.join(out_dir, CATALOG_FN) if os.path.exists(out_file): raise Error("File %s already exists." % out_file) - lines = self._GenerateCatalogLines() + lines = self._GenerateCatalogAsLines() with open(out_file, "w") as fd: - fd.write("\n".join(lines)) + fd.write("\n".join(lines).encode('utf-8')) def _GenerateCatalogAsLines(self): """Return the complete catalog as a list of lines.""" @@ -104,7 +104,7 @@ catalog_data = self.pkgcache.GetDeps(pkg_data["md5_sum"]) lines.append(catalog_data['pkginfo_name']) with open(out_file, "w") as fd: - fd.write("\n".join(lines)) + fd.write("\n".join(lines).encode('utf-8')) def main(): Modified: csw/mgar/gar/v2/lib/python/generate_catalog_file_test.py =================================================================== --- csw/mgar/gar/v2/lib/python/generate_catalog_file_test.py 2013-05-13 20:29:51 UTC (rev 21067) +++ csw/mgar/gar/v2/lib/python/generate_catalog_file_test.py 2013-05-13 22:53:53 UTC (rev 21068) @@ -4,6 +4,8 @@ import mox import generate_catalog_file import rest +import __builtin__ +import io PKG_DATA_1 = { "basename": "389_admin-1.1.29,REV=2012.05.02-SunOS5.10-sparc-CSW.pkg.gz", @@ -69,6 +71,38 @@ EXPECTED_LINE, ], cfg._GenerateCatalogAsLines()) + def testGenerateCatalog(self): + mock_pkgcache = self.mox.CreateMock(rest.CachedPkgstats) + mock_rest = self.mox.CreateMock(rest.RestClient) + self.mox.StubOutWithMock(__builtin__, 'open') + cfg = generate_catalog_file.CatalogFileGenerator("dublin", + "sparc", + "SunOS5.10", + mock_pkgcache, mock_rest) + mock_rest.GetCatalog('dublin', 'sparc', 'SunOS5.10').AndReturn([PKG_DATA_1]) + md5_sum = 'fdb7912713da36afcbbe52266c15cb3f' + mock_rest.GetCatalogData(md5_sum).AndReturn(FAKE_CATALOG_DATA) + fake_file = io.BytesIO(); + open('fake-dir/catalog', 'w').AndReturn(fake_file) + self.mox.ReplayAll() + cfg.GenerateCatalog('fake-dir') + def testGenerateDescriptions(self): + mock_pkgcache = self.mox.CreateMock(rest.CachedPkgstats) + mock_rest = self.mox.CreateMock(rest.RestClient) + self.mox.StubOutWithMock(__builtin__, 'open') + cfg = generate_catalog_file.CatalogFileGenerator("dublin", + "sparc", + "SunOS5.10", + mock_pkgcache, mock_rest) + md5_sum = 'fdb7912713da36afcbbe52266c15cb3f' + mock_pkgcache.GetDeps(md5_sum).AndReturn(FAKE_CATALOG_DATA) + mock_rest.GetCatalog('dublin', 'sparc', 'SunOS5.10').AndReturn([PKG_DATA_1]) + fake_file = io.BytesIO(); + open('fake-dir/descriptions', 'w').AndReturn(fake_file) + self.mox.ReplayAll() + cfg.GenerateDescriptions('fake-dir') + + if __name__ == '__main__': unittest.main() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ devel mailing list devel@lists.opencsw.org https://lists.opencsw.org/mailman/listinfo/devel