Esempio n. 1
0
def test_annotate():
    impl = NoopAnnotateCommunicationService()
    host = 'localhost'
    port = find_port()
    timeout = 5

    comm_id = '1-2-3-4'
    comm = create_comm(comm_id)

    comm_uuid_uuidString = comm.uuid.uuidString
    comm_metadata_tool = comm.metadata.tool
    comm_metadata_timestamp = comm.metadata.timestamp

    with SubprocessAnnotateCommunicationServiceWrapper(impl,
                                                       host,
                                                       port,
                                                       timeout=timeout):
        transport = TSocket.TSocket(host, port)
        transport = TTransport.TFramedTransport(transport)
        protocol = TCompactProtocol.TCompactProtocolAccelerated(transport)

        cli = AnnotateCommunicationService.Client(protocol)
        transport.open()
        res = cli.annotate(comm)
        transport.close()

        assert res.id == comm_id
        assert res.uuid.uuidString == comm_uuid_uuidString
        assert res.metadata.tool == comm_metadata_tool
        assert res.metadata.timestamp == comm_metadata_timestamp
Esempio n. 2
0
 def invoke(self, endpointUrl='', params=[]):
     '''
     invoke endpoint
     :return:
     '''
     result = None
     transport = None
     try:
         # Make socket
         transport = TSocket.TSocket(self.url.host, self.url.port)
         # Buffering is critical. Raw sockets are very slow
         transport = TTransport.TBufferedTransport(transport)
         # Wrap in a protocol
         protocol = TCompactProtocol.TCompactProtocolAccelerated(transport)
         # Create a client to use the protocol encoder
         client = BoarpcService.Client(protocol)
         # Connect!
         transport.open()
         endpointMetas = endpointUrl.split('.')
         result = client.dispatcher(NetUtils.getIp(), endpointMetas[0],
                                    endpointMetas[1], endpointMetas[2],
                                    params)
     finally:
         if transport is not None:
             transport.close()
     return result
Esempio n. 3
0
def test_search_communications():
    impl = FooSearch()
    host = 'localhost'
    port = find_port()
    timeout = 5

    terms = ['foo', 'bar']
    query = SearchQuery(type=SearchType.COMMUNICATIONS,
                        terms=[t for t in terms])

    with SubprocessSearchServiceWrapper(impl, host, port, timeout=timeout):
        transport = TSocket.TSocket(host, port)
        transport = TTransport.TFramedTransport(transport)
        protocol = TCompactProtocol.TCompactProtocolAccelerated(transport)

        cli = SearchService.Client(protocol)
        transport.open()
        res = cli.search(query)
        transport.close()

        assert res.uuid.uuidString == '12345678-1234-5678-1234-567812345678'
        assert len(res.searchResultItems) == 2
        assert res.searchResultItems[0].communicationId == 'foo'
        assert res.searchResultItems[0].score == 42.
        assert res.searchResultItems[1].communicationId == 'bar'
        assert res.searchResultItems[1].score == 42.
        assert res.metadata.tool == 'Foo Search'
Esempio n. 4
0
 def Auth(self, isopen=True):
     self.transport = THttpClient.THttpClient(self.host)
     self.transport.setCustomHeaders(self.headers)
     self.protocol = TCompactProtocol.TCompactProtocolAccelerated(
         self.transport)
     self._auth = AuthService.Client(self.protocol)
     if isopen:
         self.transport.open()
     return self._auth
Esempio n. 5
0
def is_accelerated():
    '''
    Return whether this concrete-python installation has accelerated
    serialization.

    Returns:
        True if this concrete-python installation is accelerated, False
        otherwise
    '''
    try:
        transport = TTransport.TMemoryBuffer()
        TCompactProtocol.TCompactProtocolAccelerated(transport, fallback=False)
        return True
    except Exception:
        return False
Esempio n. 6
0
def test_get_metadata():
    impl = NoopAnnotateCommunicationService()
    host = 'localhost'
    port = find_port()
    timeout = 5

    with SubprocessAnnotateCommunicationServiceWrapper(impl,
                                                       host,
                                                       port,
                                                       timeout=timeout):
        transport = TSocket.TSocket(host, port)
        transport = TTransport.TFramedTransport(transport)
        protocol = TCompactProtocol.TCompactProtocolAccelerated(transport)

        cli = AnnotateCommunicationService.Client(protocol)
        transport.open()
        metadata = cli.getMetadata()
        transport.close()

        assert NoopAnnotateCommunicationService.METADATA_TOOL == metadata.tool
#!/usr/bin/env python

import sys

from thrift.transport import TTransport
from thrift.protocol import TCompactProtocol

try:
    transport = TTransport.TMemoryBuffer()
    TCompactProtocol.TCompactProtocolAccelerated(transport, fallback=False)
    sys.stderr.write('Thrift is accelerated\n')
    sys.exit(0)
except Exception:
    sys.stderr.write('ERROR: Thrift is NOT accelerated\n')
    sys.exit(-1)