def test_save_and_load_updates(self): input =[] input.append(Package(name="TestPackageOne",description = "A test description")) input.append(Package(name="TestPackageTwo",description = "Another test description",status="active")) yield self._persistenceLayer.save_updates(input) exp = input obs = yield self._persistenceLayer.load_updates() self.assertEquals(obs,exp)
def test_update_update(self): input = Package(name="TestPackage",description = "A test description") yield self._persistenceLayer.save_update(input) input.name = "TestPackageModified" yield self._persistenceLayer.save_update(input) exp = input obs = yield self._persistenceLayer.load_update(id = input.cid) self.assertEquals(obs,exp)
def test_install_addon(self): self._write_mock_compressedPackage("TestAddOn", self._path_manager.tmpPath) addOn = Package(type = "addon", name = "TestAddOn", version = "0.0.1",file="TestAddOn.zip") addOn.downloaded = True self._packageManager._available_packages[addOn.cid] = addOn yield self._packageManager.install_package(id = addOn.cid) packagePath = os.path.join(self._path_manager._addon_path,"TestAddOn") self.assertTrue(os.path.exists(packagePath)) self.assertTrue(self._packageManager._installed_packages[addOn.cid],addOn)
def test_get_plugins(self): addOn = Package(type = "addon", name = "TestAddOn", version = "0.0.1",file="TestAddOn.zip") addOn.downloaded = True self._packageManager._available_packages[addOn.cid] = addOn self._write_mock_compressedPackageWithMockPlugin("TestAddOn", self._path_manager.tmpPath,"TestAddOn") yield self._packageManager.install_package(id = addOn.cid) expLPlugins = [plugin.__name__ for plugin in [IMockPluginImplementation,IMockPluginImplementationToo]] obsLPlugins = [plugin.__name__ for plugin in (yield self._packageManager.get_plugins(IMockPlugin))] self.assertEquals(obsLPlugins,expLPlugins)
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://localhost:8765/TestAddOn.zip" self._packageManager._available_packages[addOn.cid] = addOn yield self._packageManager._download_package(id = addOn.cid) if os.path.exists(fileServePath): shutil.rmtree(fileServePath) packagePath = os.path.join(self._path_manager.tmpPath,addOn.file) self.assertTrue(os.path.exists(packagePath))
def test_install_addon(self): self._write_mock_compressedPackage("TestAddOn", self._path_manager.tmpPath) addOn = Package(type="addon", name="TestAddOn", version="0.0.1", file="TestAddOn.zip") addOn.downloaded = True self._packageManager._available_packages[addOn.cid] = addOn yield self._packageManager.install_package(id=addOn.cid) packagePath = os.path.join(self._path_manager._addon_path, "TestAddOn") self.assertTrue(os.path.exists(packagePath)) self.assertTrue(self._packageManager._installed_packages[addOn.cid], addOn)
def test_install_addon_update(self): self._write_mock_compressedPackage("TestAddOn", self._path_manager.tmpPath) addOn = Package(type="addon", name="TestAddOn", version="0.0.1", file="TestAddOn.zip") addOn.downloaded = True self._packageManager._available_packages[addOn.cid] = addOn yield self._packageManager.install_package(id=addOn.cid) self._write_mock_compressedPackage2("TestAddOn", self._path_manager.tmpPath, "TestUpdate") update = Package(type="update", name="TestUpdate", fromVersion="0.0.1", toVersion="0.0.2", file="TestUpdate.zip") update.targetId = addOn.cid update.downloaded = True self._packageManager._available_packages[update.cid] = update yield self._packageManager.install_package(id=update.cid) self.assertEquals( self._packageManager._installed_packages[addOn.cid].version, update.toVersion) expNewFileOne = os.path.join(self._path_manager._addon_path, "TestAddOn", "addOnFileThree.py") expNewFileTwo = os.path.join(self._path_manager._addon_path, "TestAddOn", "subdir", "addOnFileFour.py") self.assertTrue(os.path.exists(expNewFileOne)) self.assertTrue(os.path.exists(expNewFileTwo))
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://localhost:8765/TestAddOn.zip" self._packageManager._available_packages[addOn.cid] = addOn yield self._packageManager._download_package(id=addOn.cid) if os.path.exists(fileServePath): shutil.rmtree(fileServePath) packagePath = os.path.join(self._path_manager.tmpPath, addOn.file) self.assertTrue(os.path.exists(packagePath))
def test_parse_packageListFile(self): packageListPath = os.path.join(self._path_manager.tmpPath, "pollapli_packages.json") self._write_mock_packageListFile(packageListPath) package1 = Package(type="addon", name="Test AddOn", version="0.0.1") package2 = Package(type="update", name="Test Update", targetId="23b0d813-a6b2-461a-88ad-a7020ae67742", fromVersion="0.5.0", toVersion="0.6.0") lExpPackages = [package1, package2] self._packageManager._parse_packageListFile() lObsPackages = self._packageManager._available_packages.values() self.assertEquals(lObsPackages[0], lExpPackages[0]) self.assertEquals(lObsPackages, lExpPackages) os.remove(packageListPath)
def test_install_addon_update(self): self._write_mock_compressedPackage("TestAddOn", self._path_manager.tmpPath) addOn = Package(type = "addon", name = "TestAddOn", version = "0.0.1",file="TestAddOn.zip") addOn.downloaded = True self._packageManager._available_packages[addOn.cid] = addOn yield self._packageManager.install_package(id = addOn.cid) self._write_mock_compressedPackage2("TestAddOn", self._path_manager.tmpPath,"TestUpdate") update = Package(type = "update", name = "TestUpdate", fromVersion= "0.0.1", toVersion = "0.0.2", file="TestUpdate.zip") update.targetId = addOn.cid update.downloaded = True self._packageManager._available_packages[update.cid] = update yield self._packageManager.install_package(id = update.cid) self.assertEquals(self._packageManager._installed_packages[addOn.cid].version , update.toVersion) expNewFileOne = os.path.join(self._path_manager._addon_path,"TestAddOn","addOnFileThree.py") expNewFileTwo = os.path.join(self._path_manager._addon_path,"TestAddOn","subdir","addOnFileFour.py") self.assertTrue(os.path.exists(expNewFileOne)) self.assertTrue(os.path.exists(expNewFileTwo))
def test_get_plugins(self): addOn = Package(type="addon", name="TestAddOn", version="0.0.1", file="TestAddOn.zip") addOn.downloaded = True self._packageManager._available_packages[addOn.cid] = addOn self._write_mock_compressedPackageWithMockPlugin( "TestAddOn", self._path_manager.tmpPath, "TestAddOn") yield self._packageManager.install_package(id=addOn.cid) expLPlugins = [ plugin.__name__ for plugin in [IMockPluginImplementation, IMockPluginImplementationToo] ] obsLPlugins = [ plugin.__name__ for plugin in (yield self._packageManager.get_plugins(IMockPlugin)) ] self.assertEquals(obsLPlugins, expLPlugins)
def test_refresh_packageList(self): package1 = Package() package2 = Package() exp = [package1, package2] obs = self._packageManager._packages self.assertEquals(obs, exp)
def test_save_and_load_update(self): input = Package(type ="update", name="TestPackage",description = "A test description",) yield self._persistenceLayer.save_update(input) exp = input obs = yield self._persistenceLayer.load_update(id = input.cid) self.assertEquals(obs,exp)
def test_disable_addon(self): addOn = Package(type="addon", name="TestAddOn") self._packageManager._installed_packages[addOn.cid] = addOn self._packageManager.disable_addon(addOn.cid) self.assertFalse(self._packageManager.get_package(addOn.cid).enabled)