コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
    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)
コード例 #4
0
    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)
コード例 #5
0
 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))  
コード例 #6
0
    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)
コード例 #7
0
    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))
コード例 #8
0
    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))
コード例 #9
0
    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)
コード例 #10
0
    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))
コード例 #11
0
    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)
コード例 #12
0
 def test_refresh_packageList(self):
     package1 = Package()
     package2 = Package()
     exp = [package1, package2]
     obs = self._packageManager._packages
     self.assertEquals(obs, exp)
コード例 #13
0
 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)
コード例 #14
0
    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)