Exemple #1
0
    def test_cacheSetup(self):
        '''Test setting up cache folder'''

        cacheFolderPath = tempFolderManager.getNewTempFolder()

        # sanity check that it was not already somehow the cache and source folders already
        self.assertNotEqual(
            cacheFolderPath, cacheController.writeableCacheFolder,
            'The cache folder to be used for testing was already set: ' +
            str(cacheFolderPath))
        self.assertFalse(
            cacheFolderPath in cacheController.sourceFolders,
            'The new cache folder was somehow already in the source folder set: '
            + str(cacheFolderPath))

        # check that adding a folder adds it to the inside
        cacheController.setCacheFolder(cacheFolderPath)
        self.assertEqual(
            cacheFolderPath, cacheController.writeableCacheFolder,
            'Using setCacheFolder did not result in the cache folder being set in the class'
        )
        self.assertEqual(
            cacheFolderPath, cacheController.getCacheFolder(),
            'Using setCacheFolder did not result in the item the ouput of getCacheFolder: '
            + str(cacheController.getCacheFolder()))

        # check that this got added to the sourceFolders as well
        self.assertTrue(
            cacheFolderPath in cacheController.sourceFolders,
            'When selecting a cacheFolder it should automatically be added to the sourcefolder list, but was not'
        )
        self.assertTrue(
            cacheFolderPath in cacheController.getSourceFolders(),
            'When selecting a cacheFolder it should automatically be added to the getSourceFolders output, but was not'
        )

        # remove the setting, and test to see that it is removed from everywhere
        cacheController.removeCacheFolder()
        self.assertEqual(
            cacheController.writeableCacheFolder, None,
            'After calling removeCacheFolder the cache folder variable was still set'
        )
        self.assertRaises(RuntimeWarning, cacheController.getCacheFolder)

        self.assertFalse(
            cacheFolderPath in cacheController.sourceFolders,
            'After calling removeCacheFolder the cache folder should not be in the sourceFolders list'
        )
	def test_singleSourceSetup(self):
		'''Test setting up a single source folder'''
		
		# setup the cache folder so that we can do tests
		cacheFolderPath = tempFolderManager.getNewTempFolder()
		cacheController.setCacheFolder(cacheFolderPath)
		
		sourceFolderPath = tempFolderManager.getNewTempFolder()
		
		# sanity check that it was not already somehow the source folders already
		self.assertFalse(sourceFolderPath in cacheController.sourceFolders, 'The new sourceFolder was found in the sourceFodlers variable too soon')
		self.assertNotEqual(sourceFolderPath, cacheController.writeableCacheFolder, 'The new sourceFolder should not be the selected cache folder')
		
		# check that adding the source folder results in it being actually added
		cacheController.addSourceFolders(sourceFolderPath)
		self.assertTrue(sourceFolderPath in cacheController.sourceFolders, 'After being added with addSourceFolders the test source path was not in the sourceFolders vaiable')
		self.assertTrue(sourceFolderPath in cacheController.getSourceFolders(), 'After being added with addSourceFolders the test source path was not in the getSourceFolders output')
		
		# check that this has not affected the cache folder setting
		self.assertEqual(cacheFolderPath, cacheController.getCacheFolder(), 'After adding a source folder the cache folder should not change')
		
		# remove the source folder, and check to make sure it is removed
		cacheController.removeSourceFolders(sourceFolderPath)
		self.assertFalse(sourceFolderPath in cacheController.sourceFolders, 'After calling removeSourceFolder the source folder was still in the sourceFolders list')
		
		# cleanup
		cacheController.removeCacheFolder()
		cacheController.removeSourceFolders(cacheFolderPath)
		tempFolderManager.cleanupItem(cacheFolderPath)
		tempFolderManager.cleanupItem(sourceFolderPath)
Exemple #3
0
    def test_singleSourceSetup(self):
        '''Test setting up a single source folder'''

        # setup the cache folder so that we can do tests
        cacheFolderPath = tempFolderManager.getNewTempFolder()
        cacheController.setCacheFolder(cacheFolderPath)

        sourceFolderPath = tempFolderManager.getNewTempFolder()

        # sanity check that it was not already somehow the source folders already
        self.assertFalse(
            sourceFolderPath in cacheController.sourceFolders,
            'The new sourceFolder was found in the sourceFodlers variable too soon'
        )
        self.assertNotEqual(
            sourceFolderPath, cacheController.writeableCacheFolder,
            'The new sourceFolder should not be the selected cache folder')

        # check that adding the source folder results in it being actually added
        cacheController.addSourceFolders(sourceFolderPath)
        self.assertTrue(
            sourceFolderPath in cacheController.sourceFolders,
            'After being added with addSourceFolders the test source path was not in the sourceFolders vaiable'
        )
        self.assertTrue(
            sourceFolderPath in cacheController.getSourceFolders(),
            'After being added with addSourceFolders the test source path was not in the getSourceFolders output'
        )

        # check that this has not affected the cache folder setting
        self.assertEqual(
            cacheFolderPath, cacheController.getCacheFolder(),
            'After adding a source folder the cache folder should not change')

        # remove the source folder, and check to make sure it is removed
        cacheController.removeSourceFolders(sourceFolderPath)
        self.assertFalse(
            sourceFolderPath in cacheController.sourceFolders,
            'After calling removeSourceFolder the source folder was still in the sourceFolders list'
        )

        # cleanup
        cacheController.removeCacheFolder()
        cacheController.removeSourceFolders(cacheFolderPath)
        tempFolderManager.cleanupItem(cacheFolderPath)
        tempFolderManager.cleanupItem(sourceFolderPath)
class findPackages(cacheControllerTest):
    def test_findItem(self):
        '''Test out both local files and downloads with the findItem method'''

        # perform all of the the local file tests
        for thisTest in self.testMaterials:
            thisPackage = installerPackage(thisTest['fileName'],
                                           thisTest['checksumType'] + ":" +
                                           thisTest['checksumValue'],
                                           displayName=None)

            try:
                thisPackage.findItem(progressReporter=None)
            except FileNotFoundException, error:
                self.fail(thisTest['errorMessage'] +
                          ', was unable to find a package - ' + str(error))

            thisTest['resultPath'] = thisPackage.getItemLocalPath()
            self.assertEqual(
                thisTest['filePath'], thisPackage.getItemLocalPath(),
                thisTest['errorMessage'] +
                ', should have been "%(filePath)s" but was: "%(resultPath)s"' %
                thisTest)

        # download a file
        thisPackage = installerPackage(
            'http://images.apple.com/support/iknow/images/downloads_software_update.png',
            'sha1:4d200d3fc229d929ea9ed64a9b5e06c5be733b38',
            displayName=None)
        try:
            thisPackage.findItem(progressReporter=None)
            self.assertEqual(
                os.path.join(
                    cacheController.getCacheFolder(),
                    'downloads_software_update sha1-4d200d3fc229d929ea9ed64a9b5e06c5be733b38.png'
                ), thisPackage.getItemLocalPath(),
                "Downloading a file from Apple's site returned: " +
                str(thisPackage.getItemLocalPath()))
        except FileNotFoundException, error:
            self.fail(thisTest['errorMessage'] +
                      ', was unable to find a package - ' + str(error))
	def test_cacheSetup(self):
		'''Test setting up cache folder'''
		
		cacheFolderPath = tempFolderManager.getNewTempFolder()
		
		# sanity check that it was not already somehow the cache and source folders already
		self.assertNotEqual(cacheFolderPath, cacheController.writeableCacheFolder, 'The cache folder to be used for testing was already set: ' + str(cacheFolderPath))
		self.assertFalse(cacheFolderPath in cacheController.sourceFolders, 'The new cache folder was somehow already in the source folder set: ' + str(cacheFolderPath))
		
		# check that adding a folder adds it to the inside 
		cacheController.setCacheFolder(cacheFolderPath)
		self.assertEqual(cacheFolderPath, cacheController.writeableCacheFolder, 'Using setCacheFolder did not result in the cache folder being set in the class')
		self.assertEqual(cacheFolderPath, cacheController.getCacheFolder(), 'Using setCacheFolder did not result in the item the ouput of getCacheFolder: ' + str(cacheController.getCacheFolder()))
		
		# check that this got added to the sourceFolders as well
		self.assertTrue(cacheFolderPath in cacheController.sourceFolders, 'When selecting a cacheFolder it should automatically be added to the sourcefolder list, but was not')
		self.assertTrue(cacheFolderPath in cacheController.getSourceFolders(), 'When selecting a cacheFolder it should automatically be added to the getSourceFolders output, but was not')
		
		# remove the setting, and test to see that it is removed from everywhere
		cacheController.removeCacheFolder()
		self.assertEqual(cacheController.writeableCacheFolder, None, 'After calling removeCacheFolder the cache folder variable was still set')
		self.assertRaises(RuntimeWarning, cacheController.getCacheFolder)
		
		self.assertFalse(cacheFolderPath in cacheController.sourceFolders, 'After calling removeCacheFolder the cache folder should not be in the sourceFolders list')
Exemple #6
0
class cacheControllerTests(cacheControllerTest):
    '''Test cases for cacheController once it has been set up'''
    def test_findItemInCaches(self):
        '''Test out the findItemInCaches method'''

        for thisTest in self.testMaterials:
            resultPath, waste = cacheController.findItemInCaches(
                thisTest['fileName'],
                thisTest['checksumType'],
                thisTest['checksumValue'],
                progressReporter=None)
            thisTest['resultPath'] = resultPath
            self.assertEqual(
                thisTest['filePath'], resultPath, thisTest['errorMessage'] +
                ', should have been "%(filePath)s" but was: %(resultPath)s' %
                thisTest)

    def test_findItem(self):
        '''Test out both local files and downloads with the findItem method'''

        # perform all of the the local file tests
        for thisTest in self.testMaterials:

            result = None
            try:
                result = cacheController.findItem(
                    nameOrLocation=thisTest['fileName'],
                    checksumType=thisTest['checksumType'],
                    checksumValue=thisTest['checksumValue'],
                    displayName=None,
                    additionalSourceFolders=None,
                    progressReporter=None)
            except FileNotFoundException, error:
                self.fail(thisTest['errorMessage'] +
                          ', was unable to find a package - ' + str(error))

            self.assertEqual(
                thisTest['filePath'], result, thisTest['errorMessage'] +
                ', should have been "%s" but was: %s' %
                (thisTest['filePath'], result))

        # download a file

        try:
            result = cacheController.findItem(
                nameOrLocation=
                'http://images.apple.com/support/iknow/images/downloads_software_update.png',
                checksumType='sha1',
                checksumValue='4d200d3fc229d929ea9ed64a9b5e06c5be733b38',
                displayName=None,
                progressReporter=None)
            expectedResult = os.path.join(
                cacheController.getCacheFolder(),
                'downloads_software_update sha1-4d200d3fc229d929ea9ed64a9b5e06c5be733b38.png'
            )
            self.assertEqual(
                expectedResult, result,
                'Downloading a file from Apple\'s site returned: "%s" rather than "%s"'
                % (str(result), expectedResult))
        except FileNotFoundException, error:
            self.fail(thisTest['errorMessage'] +
                      ', was unable to find a package - ' + str(error))