def testGetTemporaryFileObject(self): """ Tests the creation of the temporary file object. """ expectedName = "/temp/tempfile" expectedFile = StringIO("TestContent") mkstempMock = SimpleMock((expectedFile, expectedName)) fdOpenMock = SimpleMock(expectedFile) namedTemporaryFileMock = SimpleMock(name=expectedName, file=expectedFile) filestorer.mkstemp = mkstempMock filestorer.os.fdopen = fdOpenMock filestorer.NamedTemporaryFile = SimpleMock(namedTemporaryFileMock) self._fileStorer.readData = SimpleMock(StringIO("Some test data.")) self._fileStorer._tempfile = None self.assertEquals(self._fileStorer.getTemporaryFileObject(), (expectedName, expectedFile)) #self._fileStorer._tempfile = None #self._fileStorer.readData = SimpleMock(StringIO("Some test data.")) #namedTemporaryFileMock.error = IOError("") #self.assertRaises(PersistenceError, self._fileStorer.getTemporaryFileObject) self._fileStorer._tempfile = None self._fileStorer.readData = SimpleMock(StringIO("Some test data.")) self.assertEquals(self._fileStorer.getTemporaryFileObject("", False), (expectedName, expectedFile)) self._fileStorer._tempfile = None self._fileStorer.readData = SimpleMock(StringIO("Some test data.")) mkstempMock.error = IOError("") self.assertRaises(PersistenceError, self._fileStorer.getTemporaryFileObject, "", False)
def testComparison(self): """ Tests the comparison of two instances. """ # checking comparison with self self.assertEquals(self._acl, self._acl) # checking comparison of different empty ACLs anotherAcl = acl.AccessControlList() self.assertEquals(self._acl, anotherAcl) # adding a new principal to only one ACL should make them not equal aPrincipal = SimpleMock(identifier="aPrincipal") anotherAcl.grantPrivilege(aPrincipal, self._SUPPORTED_PRIVILEGE) self.assertNotEquals(self._acl, anotherAcl) # making them equal again self._acl.grantPrivilege(aPrincipal, self._SUPPORTED_PRIVILEGE) self.assertEquals(self._acl, anotherAcl) # ACLs with different principal order should be not equal anotherPrincipal = SimpleMock(identifier="anotherPrincipal") self._acl.grantPrivilege(anotherPrincipal, self._SUPPORTED_PRIVILEGE) anotherAcl.grantPrivilege(anotherPrincipal, self._SUPPORTED_PRIVILEGE) self.assertEquals(self._acl, anotherAcl) self._acl.setIndex(aPrincipal, 1) self.assertNotEquals(self._acl, anotherAcl) # checking comparison of a copy self.assertEquals(self._acl, deepcopy(self._acl))
def setUp(self): """ Mocks an utility functionality. """ factory.FileSystem._getConnectionPool = SimpleMock( SimpleMock(SimpleMock())) self._factory = factory.FileSystem( BaseConfiguration("http://s3.amazonaws.de/bucketname/keyname"))
def testValidationError(self): validatorsWithError = [ SimpleMock(error=ValueError), SimpleMock(error=ValueError) ] self.validator.validators = validatorsWithError self.assertRaises(ValueError, self.validator, "testValue")
def testStoreData(self): """ DefaultDataPersisterTestCase: Tests the retrieval of data. """ self._persister.storeData(SimpleMock()) self._fileStorerMock.error = PersistenceError("") self.assertRaises(PersistenceError, self._persister.storeData, SimpleMock())
def testCreateResource(self): """ Tests the normal behavior of the createResource method. """ self._defaultAdapter.createResource() adapter = DataWebdavAdapter("identifier", SimpleMock(), SimpleMock(""), SimpleMock(SimpleMock())) self.assertRaises(PersistenceError, adapter.createResource)
def setUp(self): """ Creates default adapter usable by test cases. """ self._defaultAdapter = DataWebdavAdapter("/path/identifier", SimpleMock(), SimpleMock("identifier"), SimpleMock(SimpleMock()))
def __init__(self, pathMock, returnValue=None, error=None): """ Constructor. """ SimpleMock.__init__(self, returnValue, error) self.returnValue = returnValue self.error = error self.path = pathMock
def testErrorHandlingOnLibraryInstanceCreation(self): """ Tests the error handling when creating concrete library instances. """ adapter = DataWebdavAdapter("/anotherIdentifier", SimpleMock(), SimpleMock("anotherIdentifier"), SimpleMock(error=PersistenceError(""))) try: self.assertFalse(adapter.isLink) self.fail("PersistenceError not raised.") except PersistenceError: self.assertTrue(True) try: self.assertFalse(adapter.isLeaf) self.fail("PersistenceError not raised.") except PersistenceError: self.assertTrue(True) try: self.assertFalse(adapter.isCollection) self.fail("PersistenceError not raised.") except PersistenceError: self.assertTrue(True) self.assertRaises(PersistenceError, adapter.createLink, self._defaultAdapter) self.assertRaises(PersistenceError, adapter.createResource) self.assertRaises(PersistenceError, adapter.createCollection) self.assertRaises(PersistenceError, adapter.getChildren) self.assertRaises(PersistenceError, adapter.writeData, StringIO("")) self.assertRaises(PersistenceError, adapter.readData) self.assertRaises(PersistenceError, adapter.delete) self.assertRaises(PersistenceError, adapter.move, self._defaultAdapter) self.assertRaises(PersistenceError, adapter.copy, self._defaultAdapter)
def testGetBucket(self): """ Tests the getBucket method""" #failure look up try: self.assertRaises( PersistenceError, DataS3Adapter("identifier", SimpleMock(SimpleMock(error=self.responseError)), '')) self.fail("PersistenceError not thrown") except PersistenceError: self.assertTrue(True) #failure create try: self.assertRaises( PersistenceError, DataS3Adapter( "identifier", SimpleMock( SimpleMock(returnValue=None, error=self.responseError)), '')) self.fail("PersistenceError not thrown") except PersistenceError: self.assertTrue(True)
def createFileStorer(self, identifier): """ Mocks factory method. """ fileStorerMock = SimpleMock(identifier=identifier, fileSystem=self, parent=SimpleMock(list(), name="")) fileStorerMock.value = fileStorerMock return fileStorerMock
def setUp(self): """ Creates object under test. """ self._fileStorerMock = SimpleMock(name="base", parent=SimpleMock(SimpleMock())) self._itemMock = SimpleMock(dataUri="/aasdsad", properties={ARCHIVE_PART_COUNT_ID:SimpleMock(value=1)}) self._baseDataPersisterMock = SimpleMock(fileStorer=self._fileStorerMock) self._persister = persisters.ArchiveDataPersister("dataState", self._itemMock, self._baseDataPersisterMock)
def testGetChildren(self): """ Tests the normal behavior of the getChildren method. """ adapter = DataWebdavAdapter( "/identifier", SimpleMock(), SimpleMock("/Path"), SimpleMock(_VALID_GETCHILDREN_WEBDAV_RESULT)) self.assertEquals(adapter.getChildren(), _VALID_GETCHILDREN_RESULT)
def testRetrieve(self): # Success expectedResult = self._initValidRetrieveResult() connectionMock = SimpleMock(methodNameResultMap=\ {"getProperty": ('{"name": "me"}', None), "info": ({"lastChangedDate": "", "owner": "", "size": "10", "creationDate": ""}, None)}) defaultAdapter = adapter.MetadataSubversionAdapter( "identifier", SimpleMock(connectionMock)) self.assertEquals(defaultAdapter.retrieve(), expectedResult) # Filter nothing self.assertEquals(defaultAdapter.retrieve(list()), expectedResult) # Filter nothing self.assertEquals(defaultAdapter.retrieve([const.SIZE]), {const.SIZE: MetadataValue("10")}) # Filter size # Error access system properties connectionMock.methodNameResultMap = { "info": (None, SubversionError("")) } self.assertRaises(PersistenceError, defaultAdapter.retrieve) # Error accessing custom properties connectionMock.methodNameResultMap = { "getProperty": (None, SubversionError("")) } self.assertRaises(PersistenceError, defaultAdapter.retrieve)
def testSearchSuccess(self): """ Tests successful search. """ adapter = SearchWebdavAdapter( SimpleMock(), SimpleMock("/PATH"), SimpleMock(SimpleMock(_VALID_WEBDAV_SEARCH_RESULT))) self.assertEquals(adapter.search([], SimpleMock("/PATH")), _VALID_SEARCH_RESULT)
def setUp(self): """ Creates a default object under test. """ self._defaultAdapter = MetadataWebdavAdapter("identifier", SimpleMock(), SimpleMock(), SimpleMock(), SimpleMock(SimpleMock()))
def testDeleteSuccess(self): """ Tests successful deletion of meta data. """ connectionMock = SimpleMock(methodNameResultMap={"setProperty": (None, SubversionError), \ "getProperty": ("{\"1\": \"value\"}", None)}) defaultAdapter = adapter.MetadataSubversionAdapter( "identifier", SimpleMock(connectionMock)) self.assertRaises(PersistenceError, defaultAdapter.delete, ["1", "2"])
def setUp(self): self._privilegeMapper = SimpleMock() self._connectionHelper = SimpleMock(SimpleMock()) self._adapter = adapter.PrivilegeWebdavAdapter("identifier", SimpleMock(), SimpleMock(), self._privilegeMapper, self._connectionHelper)
def __init__(self, stderr="", stdout="", returnValue=None, error=None, methodNameResultMap=None): """ Constructor. """ SimpleMock.__init__(self, returnValue, error, methodNameResultMap) self._stderr = StringIO(stderr) self.stderrRaiseTimeoutError = False self._stdout = StringIO(stdout) self.stdoutRaiseTimeoutError = False
def setUp(self): """ Mocks an utility functionality. """ self._collectionStorerMock = _CollectionStorerMock() factory.createCollectionStorer = self._createCollectionStorerMock factory.FileSystem._getConnectionPool = SimpleMock(SimpleMock()) self._factory = factory.FileSystem( BaseConfiguration("http://test.de/mypath/"))
def testEmptyConnectionsAreIgnored(self): """ Checks whether empty connections are ignored. """ self._handler._preferences = SimpleMock(connections=[ SimpleMock(url=None, username=None, password=None), SimpleMock(url="uri", username=None, password=None) ]) self.assertEquals(len(self._handler.connectionUris), 1)
def testSuccessfullValidation(self): successValidators = [SimpleMock(), SimpleMock()] self.validator.validators = successValidators self.validator("testValue") validatorsWithOneError = [SimpleMock(error=ValueError), SimpleMock()] self.validator.validators = validatorsWithOneError self.validator("testValue")
def testMove(self): """ HierarchicalDataPersisterTestCase: Tests the additional actions performed during move operations. """ itemMock = SimpleMock(dataPersister=SimpleMock(fileStorer=SimpleMock(parent=SimpleMock()))) self._persister.move(itemMock) self._fileStorerMock.error = PersistenceError("") self.assertRaises(PersistenceError, self._persister.move, itemMock)
def setUp(self): """ Creates the required mocks. """ self._targetItemMock = SimpleMock() self._itemMock = SimpleMock() self._repositoryMock = SimpleMock(self._itemMock) self._repositoryManagerInstanceMock = SimpleMock( workingRepository=self._repositoryMock) item_support.repositoryManagerInstance = self._repositoryManagerInstanceMock
def testReadData(self): """ Tests the normal behavior of the readData method. """ #success adapter = DataS3Adapter( "identifier", SimpleMock(SimpleMock(SimpleMock(SimpleMock()))), SimpleMock()) fileObject = adapter.readData() self.assertEquals(fileObject.read(), "")
def testIsCollection(self): """ Tests the normal behavior of the isResource method. """ #true adapter = DataS3Adapter("/", SimpleMock(SimpleMock()), SimpleMock()) self.assertTrue(adapter.isCollection) #false adapter = DataS3Adapter("identifier", SimpleMock(SimpleMock()), '') self.assertFalse(adapter.isCollection)
def testCreateLink(self): # Success self._adapter.createLink(SimpleMock(identifier="/destPath")) # Error self._connectionMock.methodNameResultMap = \ {"setProperty": (None, SubversionError(""))} self.assertRaises(PersistenceError, self._adapter.createLink, SimpleMock(identifier="/destPath"))
def setUp(self): self._connectionMock = SimpleMock() self._createSvnConnectionMock = SimpleMock(self._connectionMock) connection_pool.util.createSubversionConnection = self._createSvnConnectionMock factory.FileSystem._connectionManager = ConnectionPoolManager( 10) # Ensure it is empty self._factory = factory.FileSystem( BaseConfiguration("http://svn.test.de/svn")) self.assertTrue(self._factory.hasCustomMetadataSupport)
def setUp(self): """ Creates test environment. """ self._scriptInitMock = SimpleMock() self._scriptCollectionInitMock = SimpleMock() self._initScriptInitPointer = script.Script.__init__ self._initScriptCollectionPointer = script.ScriptCollection.__init__ script.Script.__init__ = self._scriptInitMock script.ScriptCollection.__init__ = self._scriptCollectionInitMock
def testErrorHandlingOnLibraryInstanceCreation(self): """ Tests the error handling when creating concrete library instances. """ adapter = MetadataWebdavAdapter("identifier", SimpleMock(), SimpleMock(), SimpleMock(), SimpleMock(error=PersistenceError(""))) self.assertRaises(PersistenceError, adapter.retrieve) self.assertRaises(PersistenceError, adapter.update, dict()) self.assertRaises(PersistenceError, adapter.delete, [])
def testMove(self): """ Test move method of the archive data persister. """ itemMock = SimpleMock(dataUri="/aasdsad", dataPersister=self._persister) self._persister.move(itemMock) itemMock.dataUri = "/Peter/aasdsad" self._persister._count = 2 self._persister.move(itemMock)
def setUp(self): """ Creates object under test. """ self._createFileStorerMock = SimpleMock() registry.createFileStorer = self._createFileStorerMock self._createScriptMock = SimpleMock() registry.createScript = self._createScriptMock self._registry = registry.ScriptRegistry( SimpleMock(scriptUris=["path1"]))
def testRetrieveSuccess(self): """ Tests successful meta data retrieval. """ webdavStorerMock = SimpleMock(dict()) adapter = MetadataWebdavAdapter("identifier", SimpleMock(), SimpleMock(), SimpleMock("1"), SimpleMock(webdavStorerMock)) self.assertEquals(adapter.retrieve(), _VALID_PROPERTY_RESULT) self.assertEquals(adapter.retrieve(list()), dict()) webdavStorerMock.value = {("1", "1"): SimpleMock("value")} self.assertEquals(adapter.retrieve(["1"]), {"1": MetadataValue("value")})
def testCreate(self): """ Tests the creation of an ACE. """ persistenceAce = SimpleMock() persistenceAce.principal = principal.Principal(identifier="principal") persistenceAce.grantedPrivileges = [privilege.READ_PRIVILEGE.identifier] persistenceAce.deniedPrivileges = [privilege.WRITE_PRIVILEGE.identifier] mappedAce = self._ace.create(persistenceAce) self.assertEquals(mappedAce.principal.identifier, "principal") self.assertEquals(mappedAce.grantedPrivileges, set([privilege.READ_PRIVILEGE])) self.assertEquals(mappedAce.deniedPrivileges, set([privilege.WRITE_PRIVILEGE]))
def testCopy(self): """ FlatDataPersisterTestCase: Tests the additional actions performed during copying. """ itemMock = SimpleMock(uri="test", properties={CONTENT_IDENTIFIER_ID:None}) self._persister.copy(itemMock) itemMock.properties = dict() self.assertRaises(ItemError, self._persister.copy, itemMock) self._fileStorerMock.error = PersistenceError("") self.assertRaises(PersistenceError, self._persister.copy, itemMock)
def testAddIcon(self): """ Tests the adding of an icon. """ self._sourceFileStorer.value = SimpleMock() self._targetFileStorer.value = SimpleMock() localIconFileStorerMock = SimpleMock() localIconFileStorerMock.methodNameResultMap = {"exists": (True, None), "readData": (SimpleMock(), None)} self._createFileStorerMock.value = SimpleMock(localIconFileStorerMock) self._handler.addIcon("test", "/test/zzz/testPath") localIconFileStorerMock.methodNameResultMap = {"exists": (False, None)} self.assertRaises(ConfigurationError, self._handler.addIcon, "test", "/test/zzz/testPath") localIconFileStorerMock.methodNameResultMap = {"exists": (True, None), "readData": (None, PersistenceError(""))} self.assertRaises(ConfigurationError, self._handler.addIcon, "test", "/test/zzz/testPath") self._createFileStorerMock.error = PersistenceError("") self.assertRaises(ConfigurationError, self._handler.addIcon, "test", "/test/zzz/testPath")
def testRetrieve(self): # Success expectedResult = self._initValidRetrieveResult() connectionMock = SimpleMock(methodNameResultMap=\ {"getProperty": ('{"name": "me"}', None), "info": ({"lastChangedDate": "", "owner": "", "size": "10", "creationDate": ""}, None)}) defaultAdapter = adapter.MetadataSubversionAdapter("identifier", SimpleMock(connectionMock)) self.assertEquals(defaultAdapter.retrieve(), expectedResult) # Filter nothing self.assertEquals(defaultAdapter.retrieve(list()), expectedResult) # Filter nothing self.assertEquals(defaultAdapter.retrieve([const.SIZE]), {const.SIZE: MetadataValue("10")}) # Filter size # Error access system properties connectionMock.methodNameResultMap = {"info": (None, SubversionError(""))} self.assertRaises(PersistenceError, defaultAdapter.retrieve) # Error accessing custom properties connectionMock.methodNameResultMap = {"getProperty": (None, SubversionError(""))} self.assertRaises(PersistenceError, defaultAdapter.retrieve)
def testCreate(self): """ Tests the creation from persistence format. """ persistedPrincipal = SimpleMock() persistedPrincipal.identifier = "principal" persistedPrincipal.type = "____user____" persistedGroup = SimpleMock() persistedGroup.identifier = "group" persistedGroup.type = "____group____" persistedGroup.memberof = list() persistedPrincipal.memberof = [persistedGroup] mappedPrincipal = self._principal.create(persistedPrincipal) self.assertEquals(mappedPrincipal, self._principal) self.assertEquals(len(mappedPrincipal.memberof), 1) # Checking loop detection persistedPrincipal.memberof.append(persistedPrincipal) self.assertRaises(CoreError, self._principal.create, persistedPrincipal) # Checking invalid type persistedPrincipal.type = "unknown" self.assertRaises(CoreError, self._principal.create, persistedPrincipal)
def __init__(self, returnValue=None, error=None): """ Constructor. """ self.returnValue = returnValue self.error = error SimpleMock.__init__(self, returnValue, error)