示例#1
0
def test_GetAllDocuments(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=''), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='other',
                                      text=''), None)
    response, _, _, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['GetAllDocumentNames'], {},
        events_pb2.GetAllDocumentNamesRequest(event_id='1'),
        None).termination()
    assert 'plaintext' in response.document_names
    assert 'other' in response.document_names
    assert len(response.document_names) == 2
示例#2
0
def test_GetLabels(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None)
    request = events_pb2.AddLabelsRequest(event_id='1',
                                          document_name='plaintext',
                                          index_name='labels')
    s = request.generic_labels.labels.add()
    s.start_index = 15
    s.end_index = 20
    s.fields['some_other_field'] = 'blah'
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddLabels'], {}, request, None)

    req = events_pb2.GetLabelsRequest(event_id='1',
                                      document_name='plaintext',
                                      index_name='labels')
    res, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['GetLabels'], {}, req, None).termination()
    assert len(res.generic_labels.labels) == 1
    label = res.generic_labels.labels[0]
    assert label.start_index == 15
    assert label.end_index == 20
    assert label.fields['some_other_field'] == 'blah'
示例#3
0
def test_GetLabelIndicesInfo(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None)
    request = events_pb2.AddLabelsRequest(event_id='1',
                                          document_name='plaintext',
                                          index_name='labels')
    s = request.generic_labels.labels.add()
    s.start_index = 15
    s.end_index = 20
    s.fields['some_other_field'] = 'blah'
    _, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddLabels'], {}, request, None).termination()
    assert status_code == grpc.StatusCode.OK
    request = events_pb2.GetLabelIndicesInfoRequest(event_id='1',
                                                    document_name='plaintext')
    res, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['GetLabelIndicesInfo'], {}, request,
        None).termination()
    assert status_code == grpc.StatusCode.OK
    assert len(res.label_index_infos) == 1
    assert res.label_index_infos[0].index_name == 'labels'
    assert res.label_index_infos[
        0].type == events_pb2.GetLabelIndicesInfoResponse.LabelIndexInfo.GENERIC
示例#4
0
def test_AddDocument_bad_event(events_server):
    _, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None).termination()
    assert status_code == grpc.StatusCode.NOT_FOUND
示例#5
0
def test_AddDocument_exists(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None)
    _, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None).termination()
    assert status_code == grpc.StatusCode.ALREADY_EXISTS
示例#6
0
def test_AddDocument_empty_name(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    _, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='',
                                      text=PHASERS), None).termination()
    assert status_code == grpc.StatusCode.INVALID_ARGUMENT
示例#7
0
def test_GetLabels_bad_index_name(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None)
    r = events_pb2.GetLabelsRequest(event_id='1',
                                    document_name='plaintext',
                                    index_name='labels')
    _, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['GetLabels'], {}, r, None).termination()
    assert status_code == grpc.StatusCode.NOT_FOUND
示例#8
0
def test_GetDocumentText(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None)
    response, _, _, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['GetDocumentText'], {},
        events_pb2.GetDocumentTextRequest(event_id='1',
                                          document_name='plaintext'),
        None).termination()
    assert response.text == PHASERS
示例#9
0
def test_AddLabels(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None)
    request = events_pb2.AddLabelsRequest(event_id='1',
                                          document_name='plaintext',
                                          index_name='labels')
    s = request.json_labels.labels.add()
    s['start_index'] = 15
    s['end_index'] = 20
    s['some_other_field'] = 'blah'
    _, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddLabels'], {}, request, None).termination()
    assert status_code == grpc.StatusCode.OK
示例#10
0
def test_AddLabels_bad_index_name(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None)
    request = events_pb2.AddLabelsRequest(event_id='1',
                                          document_name='plaintext',
                                          index_name='')
    label = request.generic_labels.labels.add()
    label.start_index = 15
    label.end_index = 20
    label.fields['some_other_field'] = 'blah'

    _, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddLabels'], {}, request, None).termination()
    assert status_code == grpc.StatusCode.INVALID_ARGUMENT
示例#11
0
def test_GetLabels_no_labels(events_server):
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['OpenEvent'], {},
        events_pb2.OpenEventRequest(event_id='1'), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddDocument'], {},
        events_pb2.AddDocumentRequest(event_id='1',
                                      document_name='plaintext',
                                      text=PHASERS), None)
    events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['AddLabels'], {},
        events_pb2.AddLabelsRequest(event_id='1',
                                    document_name='plaintext',
                                    index_name='labels'), None)
    req = events_pb2.GetLabelsRequest(event_id='1',
                                      document_name='plaintext',
                                      index_name='labels')
    res, _, status_code, _ = events_server.invoke_unary_unary(
        events_pb2.DESCRIPTOR.services_by_name['Events'].
        methods_by_name['GetLabels'], {}, req, None).termination()
    assert len(res.generic_labels.labels) == 0
示例#12
0
 def add_document(self, event_id, document_name, text):
     request = events_pb2.AddDocumentRequest(event_id=event_id,
                                             document_name=document_name,
                                             text=text)
     response = self.stub.AddDocument(request)
     return response is not None