def testDifferentSearchFallback(self):
        baseConf = SimpleMock()
        baseConf.uriScheme = _VALID_URI_SCHEME
        searchBaseConf = SimpleMock()
        searchBaseConf.uriScheme = "invalid_search_interface"
        fileSystem = FileSystem(baseConf,
                                baseSearchConfiguration=searchBaseConf)

        self.assertEquals(len(fileSystem.search("*", "/")), 0)
    def testDifferentSearch(self):
        baseConf = SimpleMock()
        baseConf.uriScheme = _VALID_URI_SCHEME
        searchBaseConf = SimpleMock()
        searchBaseConf.uriScheme = _VALID_SEARCH_SCHEME
        fileSystem = FileSystem(baseConf,
                                baseSearchConfiguration=searchBaseConf)

        self.assertEquals(len(fileSystem.search("*", "/")), 2)
    def testDifferentPrincipalSearchFallback(self):
        baseConf = SimpleMock()
        baseConf.uriScheme = _VALID_URI_SCHEME
        principalSearchBaseConf = SimpleMock()
        principalSearchBaseConf.uriScheme = "invalid_principal_scheme"
        fileSystem = FileSystem(baseConf, principalSearchBaseConf)

        self.assertEquals(
            len(fileSystem.searchPrincipal("pattern", "searchMode")), 0)
    def testDifferentPrincipalSearch(self):
        baseConf = SimpleMock()
        baseConf.uriScheme = _VALID_URI_SCHEME
        principalSearchBaseConf = SimpleMock()
        principalSearchBaseConf.uriScheme = _VALID_PRINCIPAL_SEARCH_SCHEME
        fileSystem = FileSystem(baseConf, principalSearchBaseConf)

        self.assertEquals(
            len(fileSystem.searchPrincipal("pattern", "searchMode")), 2)
    def testValidInterfaceType(self):
        baseConf = SimpleMock()
        baseConf.uriScheme = _VALID_URI_SCHEME
        fileSystem = FileSystem(baseConf)

        fileStorer = fileSystem.createFileStorer("identifier")
        self.assertFalse(fileStorer is None)
        self.assertFalse(fileStorer.dataStorer is None)
        self.assertFalse(fileStorer.metadataStorer is None)
        self.assertFalse(fileStorer.privilegeStorer is None)
        self.assertTrue(fileSystem.hasCustomMetadataSupport)
        self.assertTrue(fileSystem.hasMetadataSearchSupport)
        self.assertTrue(fileSystem.hasPrivilegeSupport)
        self.assertEquals(fileSystem.determineFreeDiskSpace(), 200)
        self.assertNotEquals(fileSystem.baseUri, None)
        self.assertNotEquals(fileSystem.baseConfiguration, None)
        self.assertEquals(fileSystem.isAccessible, True)

        self.assertEquals(
            len(fileSystem.searchPrincipal("pattern", "searchMode")), 0)
        fileSystem.updateCredentials(dict())
        fileSystem.updatePrincipalSearchCredentials(dict())
        fileSystem.release()
 def testInvalidInterfaceType(self):
     baseConf = SimpleMock()
     baseConf.uriScheme = _UNSUPPORTED_URI_SCHEME
     self.assertRaises(PersistenceError, FileSystem, baseConf)