class PackageSystemTest(unittest.TestCase): @defer.inlineCallbacks def setUp(self): self._path_manager = PathManager() if not os.path.exists("tmp"): os.makedirs("tmp") if not os.path.exists("addons"): os.makedirs("addons") self._path_manager._addon_path = "addons" self._path_manager.tmpPath = "tmp" self._persistenceLayer = PersistenceLayer() self._packageManager = PackageManager(self._persistenceLayer,self._path_manager) yield self._packageManager.setup() @defer.inlineCallbacks def tearDown(self): if os.path.exists("tmp"): shutil.rmtree("tmp") if os.path.exists("addons"): shutil.rmtree("addons") yield self._persistenceLayer.tearDown() if os.path.exists("pollapli.db"): os.remove("pollapli.db") self._stop_mock_file_server() def test_refresh_packageList(self): package1 = Package() package2 = Package() exp = [package1, package2] obs = self._packageManager._packages self.assertEquals(obs,exp) @defer.inlineCallbacks def test_setup_package(self): """Test for downloading and installing a package""" fileServePath = "fileserve" os.makedirs(fileServePath) self._write_mock_compressedPackage("TestAddOn", fileServePath) self._start_mock_file_server(fileServePath) addOn = Package(type = "addon", name = "TestAddOn", version = "0.0.1",file="TestAddOn.zip") addOn.downloadUrl = "http://*****:*****@gmail.com\n") f.write("License: GPL\n") f.write("Description: UNKNOWN\n") f.write("Keywords: web remote control remote monitoring reprap repstrap\n") f.write("Platform: UNKNOWN\n") f.write("Classifier: Development Status :: 1 - Planning\n") f.write("Classifier: Topic :: Utilities\n") f.write("Classifier: Natural Language :: English\n") f.write("Classifier: Operating System :: OS Independent\n") f.write("Classifier: Programming Language :: Python :: 2.6\n") f.close() def _write_mock_packageListFile(self, packageListPath): f = open(packageListPath,"w") f.write('''{ "packages": [ { "id": "23b0d813-a6b2-461a-88ad-a7020ae66742", "type": "addon", "name": "Test AddOn", "version": "0.0.1", "description": "A test Add on", "tags": [ "test", "something" ], "img": "testAddon.png", "file": "testAddon-0.0.1.egg", "fileHash": "80e157c0f10baef206ee2de03fae7449", "downloadUrl" : "http://kaosat.net/pollapli/testAddon-0.0.1.egg" }, { "id": "23b0d813-a6b2-461a-88ad-a7020ae64542", "type": "update", "name": "Test Update", "target": "pollapli", "targetId": "23b0d813-a6b2-461a-88ad-a7020ae67742", "fromVersion" : "0.5.0", "toVersion" : "0.6.0", "description": "A test Update", "tags": [ "update", "fish" ], "img": "testPackage.png", "file": "testPackage-0.2.1.egg", "fileHash": "80e157c0f10baef206ee2de03fae7449", "downloadUrl" : "http://kaosat.net/pollapli/testUpdate-0.2.1.egg" }]}''') f.close()
class PackageSystemTest(unittest.TestCase): @defer.inlineCallbacks def setUp(self): self._path_manager = PathManager() if not os.path.exists("tmp"): os.makedirs("tmp") if not os.path.exists("addons"): os.makedirs("addons") self._path_manager._addon_path = "addons" self._path_manager.tmpPath = "tmp" self._persistenceLayer = PersistenceLayer() self._packageManager = PackageManager(self._persistenceLayer, self._path_manager) yield self._packageManager.setup() @defer.inlineCallbacks def tearDown(self): if os.path.exists("tmp"): shutil.rmtree("tmp") if os.path.exists("addons"): shutil.rmtree("addons") yield self._persistenceLayer.tearDown() if os.path.exists("pollapli.db"): os.remove("pollapli.db") self._stop_mock_file_server() def test_refresh_packageList(self): package1 = Package() package2 = Package() exp = [package1, package2] obs = self._packageManager._packages self.assertEquals(obs, exp) @defer.inlineCallbacks def test_setup_package(self): """Test for downloading and installing a package""" fileServePath = "fileserve" os.makedirs(fileServePath) self._write_mock_compressedPackage("TestAddOn", fileServePath) self._start_mock_file_server(fileServePath) addOn = Package(type="addon", name="TestAddOn", version="0.0.1", file="TestAddOn.zip") addOn.downloadUrl = "http://*****:*****@gmail.com\n") f.write("License: GPL\n") f.write("Description: UNKNOWN\n") f.write( "Keywords: web remote control remote monitoring reprap repstrap\n") f.write("Platform: UNKNOWN\n") f.write("Classifier: Development Status :: 1 - Planning\n") f.write("Classifier: Topic :: Utilities\n") f.write("Classifier: Natural Language :: English\n") f.write("Classifier: Operating System :: OS Independent\n") f.write("Classifier: Programming Language :: Python :: 2.6\n") f.close() def _write_mock_packageListFile(self, packageListPath): f = open(packageListPath, "w") f.write('''{ "packages": [ { "id": "23b0d813-a6b2-461a-88ad-a7020ae66742", "type": "addon", "name": "Test AddOn", "version": "0.0.1", "description": "A test Add on", "tags": [ "test", "something" ], "img": "testAddon.png", "file": "testAddon-0.0.1.egg", "fileHash": "80e157c0f10baef206ee2de03fae7449", "downloadUrl" : "http://kaosat.net/pollapli/testAddon-0.0.1.egg" }, { "id": "23b0d813-a6b2-461a-88ad-a7020ae64542", "type": "update", "name": "Test Update", "target": "pollapli", "targetId": "23b0d813-a6b2-461a-88ad-a7020ae67742", "fromVersion" : "0.5.0", "toVersion" : "0.6.0", "description": "A test Update", "tags": [ "update", "fish" ], "img": "testPackage.png", "file": "testPackage-0.2.1.egg", "fileHash": "80e157c0f10baef206ee2de03fae7449", "downloadUrl" : "http://kaosat.net/pollapli/testUpdate-0.2.1.egg" }]}''') f.close()