コード例 #1
0
ファイル: testConfigParser.py プロジェクト: ReinSi/cheshire3
class Cheshire3ObjectTestCase(unittest.TestCase):
    u"""Abstract Base Class for Cheshire3 Test Cases.   
        
    Almost all objects in Cheshire3 require a Session, and a server as its 
    parent, so create these now.
    """

    @classmethod
    def _get_class(cls):
        # Return class of object to test
        return C3Object
    
    def _get_config(self):
        # Return a parsed config for the object to be tested
        return etree.XML('''
        <subConfig id="{0.__name__}">
            <objectType>{0.__module__}.{0.__name__}</objectType>
        </subConfig>
        '''.format(self._get_class()))
    
    def _get_dependencyConfigs(self):
        # Generator of configs for objects on which this object depends
        # e.g. an Index may depends on and IndexStore for storage, and
        # Selectors, Extractors etc.
        return
        yield
    
    def setUp(self):
        self.session = Session()
        serverConfig = os.path.join(cheshire3Root,
                                    'configs',
                                    'serverConfig.xml')
        self.server = SimpleServer(self.session, serverConfig)
        for config in self._get_dependencyConfigs():
            identifier = config.get('id')
            self.server.subConfigs[identifier] = config
        # Disable stdout logging
        lgr = self.server.get_path(self.session, 'defaultLogger')
        lgr.minLevel = 60
        # Create object that will be tested
        config = self._get_config()
        self.testObj = makeObjectFromDom(self.session, config, self.server)
    
    def tearDown(self):
        pass
    
    def test_serverInstance(self):
        "Check test case's Session instance."
        self.assertIsInstance(self.server, SimpleServer)
        
    def test_instance(self):
        "Check that C3Object is an instance of the expected class."
        self.assertIsInstance(self.testObj, self._get_class())
コード例 #2
0
class Cheshire3ObjectTestCase(unittest.TestCase):
    u"""Abstract Base Class for Cheshire3 Test Cases.   
        
    Almost all objects in Cheshire3 require a Session, and a server as its 
    parent, so create these now.
    """
    @classmethod
    def _get_class(cls):
        # Return class of object to test
        return C3Object

    def _get_config(self):
        # Return a parsed config for the object to be tested
        return etree.XML('''
        <subConfig id="{0.__name__}">
            <objectType>{0.__module__}.{0.__name__}</objectType>
        </subConfig>
        '''.format(self._get_class()))

    def _get_dependencyConfigs(self):
        # Generator of configs for objects on which this object depends
        # e.g. an Index may depends on and IndexStore for storage, and
        # Selectors, Extractors etc.
        return
        yield

    def setUp(self):
        self.session = Session()
        serverConfig = os.path.join(cheshire3Root, 'configs',
                                    'serverConfig.xml')
        self.server = SimpleServer(self.session, serverConfig)
        for config in self._get_dependencyConfigs():
            identifier = config.get('id')
            self.server.subConfigs[identifier] = config
        # Disable stdout logging
        lgr = self.server.get_path(self.session, 'defaultLogger')
        lgr.minLevel = 60
        # Create object that will be tested
        config = self._get_config()
        self.testObj = makeObjectFromDom(self.session, config, self.server)

    def tearDown(self):
        pass

    def test_serverInstance(self):
        "Check test case's Session instance."
        self.assertIsInstance(self.server, SimpleServer)

    def test_instance(self):
        "Check that C3Object is an instance of the expected class."
        self.assertIsInstance(self.testObj, self._get_class())
コード例 #3
0
session.environment = "apache"
server = SimpleServer(
    session,
    os.path.join(cheshirePath, 'cheshire3', 'configs', 'serverConfig.xml'))
configs = {}
dbmap = {}
server._cacheDatabases(session)
for db in server.databases.values():
    if db.get_setting(session, "z3950"):
        db._cacheProtocolMaps(session)
        map1 = db.protocolMaps.get('http://www.loc.gov/z3950/', None)
        if map1:
            configs[map1.databaseName] = map1
            dbmap[db.id] = map1.databaseName

session.resultSetStore = server.get_path(session, 'resultSetStore')
session.logger = server.get_path(session, 'z3950Logger')
session.configs = configs


class ZHandler:

    connection = None
    session = None
    handlers = {}
    debug = 1
    decode_ctx = None
    encode_ctx = None

    def __init__(self):
        self.session = session
コード例 #4
0
class DynamicTestCase(unittest.TestCase):
    """Base Class for cheshire3.dynamic test cases."""
    def _get_objectTypes(self):
        return [
            'cheshire3.database.SimpleDatabase',
            'cheshire3.database.OptimisingDatabase',
            'cheshire3.documentFactory.SimpleDocumentFactory',
            'cheshire3.documentFactory.ComponentDocumentFactory',
            'cheshire3.documentStore.SimpleDocumentStore',
            'cheshire3.extractor.SimpleExtractor',
            'cheshire3.index.SimpleIndex', 'cheshire3.index.ProximityIndex',
            'cheshire3.index.RangeIndex', 'cheshire3.index.BitmapIndex',
            'cheshire3.indexStore.BdbIndexStore',
            'cheshire3.logger.SimpleLogger', 'cheshire3.logger.FunctionLogger',
            'cheshire3.logger.LoggingLogger',
            'cheshire3.logger.DateTimeFileLogger',
            'cheshire3.logger.MultipleLogger',
            'cheshire3.normalizer.SimpleNormalizer',
            'cheshire3.normalizer.CaseNormalizer',
            'cheshire3.normalizer.SpaceNormalizer',
            'cheshire3.normalizer.RangeNormalizer',
            'cheshire3.objectStore.BdbObjectStore',
            'cheshire3.parser.MinidomParser', 'cheshire3.parser.SaxParser',
            'cheshire3.parser.LxmlParser', 'cheshire3.parser.LxmlHtmlParser',
            'cheshire3.parser.MarcParser',
            'cheshire3.preParser.UnicodeDecodePreParser',
            'cheshire3.preParser.HtmlTidyPreParser',
            'cheshire3.preParser.SgmlPreParser',
            'cheshire3.preParser.CharacterEntityPreParser',
            'cheshire3.queryFactory.SimpleQueryFactory',
            'cheshire3.queryStore.SimpleQueryStore',
            'cheshire3.recordStore.BdbRecordStore',
            'cheshire3.resultSetStore.BdbResultSetStore',
            'cheshire3.selector.XPathSelector',
            'cheshire3.selector.SpanXPathSelector',
            'cheshire3.selector.MetadataSelector',
            'cheshire3.tokenizer.RegexpSubTokenizer',
            'cheshire3.tokenizer.SentenceTokenizer',
            'cheshire3.tokenizer.DateTokenizer',
            'cheshire3.tokenizer.PythonTokenizer',
            'cheshire3.tokenMerger.SimpleTokenMerger',
            'cheshire3.tokenMerger.ProximityTokenMerger',
            'cheshire3.tokenMerger.RangeTokenMerger',
            'cheshire3.tokenMerger.NGramTokenMerger',
            'cheshire3.transformer.XmlTransformer',
            'cheshire3.transformer.LxmlXsltTransformer',
            'cheshire3.transformer.MarcTransformer',
            'cheshire3.workflow.SimpleWorkflow',
            'cheshire3.workflow.CachingWorkflow'
        ]

    def _get_configFromObjectType(self, objectType):
        return etree.XML('''\
        <subConfig id="{0}">
          <objectType>{0}</objectType>
        </subConfig>'''.format(objectType))

    def setUp(self):
        self.session = baseObjects.Session()
        serverConfig = os.path.join(cheshire3Root, 'configs',
                                    'serverConfig.xml')
        self.server = SimpleServer(self.session, serverConfig)
        # Disable stdout logging
        lgr = self.server.get_path(self.session, 'defaultLogger')
        lgr.minLevel = 60
コード例 #5
0
ファイル: testDynamic.py プロジェクト: bloomonkey/cheshire3
class DynamicTestCase(unittest.TestCase):
    """Base Class for cheshire3.dynamic test cases."""
    
    def _get_objectTypes(self):
        return ['cheshire3.database.SimpleDatabase',
                'cheshire3.database.OptimisingDatabase',
                'cheshire3.documentFactory.SimpleDocumentFactory',
                'cheshire3.documentFactory.ComponentDocumentFactory',
                'cheshire3.documentStore.SimpleDocumentStore',
                'cheshire3.extractor.SimpleExtractor',
                'cheshire3.index.SimpleIndex',
                'cheshire3.index.ProximityIndex',
                'cheshire3.index.RangeIndex',
                'cheshire3.index.BitmapIndex',
                'cheshire3.indexStore.BdbIndexStore',
                'cheshire3.logger.SimpleLogger',
                'cheshire3.logger.FunctionLogger',
                'cheshire3.logger.LoggingLogger',
                'cheshire3.logger.DateTimeFileLogger',
                'cheshire3.logger.MultipleLogger',
                'cheshire3.normalizer.SimpleNormalizer',
                'cheshire3.normalizer.CaseNormalizer',
                'cheshire3.normalizer.SpaceNormalizer',
                'cheshire3.normalizer.RangeNormalizer',
                'cheshire3.objectStore.BdbObjectStore',
                'cheshire3.parser.MinidomParser',
                'cheshire3.parser.SaxParser',
                'cheshire3.parser.LxmlParser',
                'cheshire3.parser.LxmlHtmlParser',
                'cheshire3.parser.MarcParser',
                'cheshire3.preParser.UnicodeDecodePreParser',
                'cheshire3.preParser.HtmlTidyPreParser',
                'cheshire3.preParser.SgmlPreParser',
                'cheshire3.preParser.CharacterEntityPreParser',
                'cheshire3.queryFactory.SimpleQueryFactory',
                'cheshire3.queryStore.SimpleQueryStore',
                'cheshire3.recordStore.BdbRecordStore',
                'cheshire3.resultSetStore.BdbResultSetStore',
                'cheshire3.selector.XPathSelector',
                'cheshire3.selector.SpanXPathSelector',
                'cheshire3.selector.MetadataSelector',
                'cheshire3.tokenizer.RegexpSubTokenizer',
                'cheshire3.tokenizer.SentenceTokenizer',
                'cheshire3.tokenizer.DateTokenizer',
                'cheshire3.tokenizer.PythonTokenizer',
                'cheshire3.tokenMerger.SimpleTokenMerger',
                'cheshire3.tokenMerger.ProximityTokenMerger',
                'cheshire3.tokenMerger.RangeTokenMerger',
                'cheshire3.tokenMerger.NGramTokenMerger',
                'cheshire3.transformer.XmlTransformer',
                'cheshire3.transformer.LxmlXsltTransformer',
                'cheshire3.transformer.MarcTransformer',
                'cheshire3.workflow.SimpleWorkflow',
                'cheshire3.workflow.CachingWorkflow']

    def _get_configFromObjectType(self, objectType):    
        return etree.XML('''\
        <subConfig id="{0}">
          <objectType>{0}</objectType>
        </subConfig>'''.format(objectType))

    def setUp(self):
        self.session = baseObjects.Session()
        serverConfig = os.path.join(cheshire3Root,
                                    'configs',
                                    'serverConfig.xml')
        self.server = SimpleServer(self.session, serverConfig)
        # Disable stdout logging
        lgr = self.server.get_path(self.session, 'defaultLogger')
        lgr.minLevel = 60
コード例 #6
0
ファイル: zApacheHandler.py プロジェクト: ReinSi/cheshire3
session = Session()
session.environment = "apache"
server = SimpleServer(session, os.path.join(internal.cheshire3Root, 'configs', 'serverConfig.xml'))
configs = {}
dbmap = {}
server._cacheDatabases(session)
for db in server.databases.values():
    if db.get_setting(session, "z3950"):
        db._cacheProtocolMaps(session)
	map1 = db.protocolMaps.get('http://www.loc.gov/z3950/', None)
	if map1:
	    configs[map1.databaseName] = map1
	    dbmap[db.id] = map1.databaseName

session.resultSetStore = server.get_path(session, 'resultSetStore')
session.logger = server.get_path(session, 'z3950Logger')
session.configs = configs

class ZHandler:

    connection = None
    session = None
    handlers = {}
    debug = 1
    decode_ctx = None
    encode_ctx = None

    def __init__(self):
        self.session = session
        self.decode_ctx = asn1.IncrementalDecodeCtx(APDU)
コード例 #7
0
#!/usr/bin/python
import sys
import os
from cheshire3.baseObjects import Session
from cheshire3.server import SimpleServer
from cheshire3.internal import cheshire3Root

# Build environment...
session = Session() # a Session - used to store
print cheshire3Root

serv = SimpleServer(session, os.path.join(cheshire3Root, 'configs', 'serverConfig.xml'))
session.logger = serv.get_path(session, 'defaultLogger') # a logger
db = serv.get_object(session, 'db_tdo_index') # the Database
session.database = db.id

#qf = db.get_object(session, 'defaultQueryFactory')

def testVec():
    recordStore = db.get_object(session, 'recordStore')
    rec = recordStore.fetch_record(session, 1)
    idx= db.get_object(session, 'idx-topic')
    vec = idx.fetch_vector(session, rec)