示例#1
0
def test_command(req):
    request = Request(request=req, copy=False)
    request.request_type = 'control'
    cmd = request.command
    assert request.is_used
    assert cmd
    assert isinstance(cmd, str)
示例#2
0
def test_request_docs_mutable_iterator():
    """To test the weak reference work in docs"""
    r = Request()
    r.request_type = 'data'
    for d in random_docs(10):
        r.docs.append(d)

    for idx, d in enumerate(r.docs):
        assert isinstance(d, Document)
        d.text = f'look I changed it! {idx}'

    # iterate it again should see the change
    doc_pointers = []
    for idx, d in enumerate(r.docs):
        assert isinstance(d, Document)
        assert d.text == f'look I changed it! {idx}'
        doc_pointers.append(d)

    # pb-lize it should see the change
    rpb = r.proto

    for idx, d in enumerate(rpb.data.docs):
        assert isinstance(d, DocumentProto)
        assert d.text == f'look I changed it! {idx}'

    # change again by following the pointers
    for d in doc_pointers:
        d.text = 'now i change it back'

    # iterate it again should see the change
    for idx, d in enumerate(rpb.data.docs):
        assert isinstance(d, DocumentProto)
        assert d.text == 'now i change it back'
示例#3
0
def test_groundtruth(req):
    request = Request(request=req, copy=False)
    request.request_type = 'data'
    groundtruths = request.groundtruths
    assert request.is_used
    assert isinstance(groundtruths, DocumentArray)
    assert len(groundtruths) == 0
示例#4
0
def test_docs(req):
    request = Request(request=req, copy=False)
    request.request_type = 'data'
    docs = request.docs
    assert request.is_used
    assert isinstance(docs, DocumentArray)
    assert len(docs) == 1
示例#5
0
def test_groundtruth(req, req_type):
    request = Request(request=req, copy=False)
    request.request_type = req_type
    groundtruths = request.groundtruths
    assert request.is_used
    assert isinstance(groundtruths, DocumentSet)
    assert len(groundtruths) == 0
示例#6
0
def chunks(document_factory):
    req = Request()
    req.request_type = 'data'
    req.docs.extend([
        document_factory.create(1, 'test 1'),
        document_factory.create(2, 'test 1'),
        document_factory.create(3, 'test 3'),
    ])
    return req.proto.data.docs
示例#7
0
def test_docs(req, req_type):
    request = Request(request=req, copy=False)
    request.request_type = req_type
    docs = request.docs
    assert request.is_used
    assert isinstance(docs, DocumentSet)
    if req_type == 'index':
        assert len(docs) == 1
    else:
        assert len(docs) == 0
示例#8
0
文件: test_request.py 项目: yk/jina
def test_request_type_set_get_fail(req):
    request = Request(request=req, copy=False)
    with pytest.raises(ValueError):
        request.request_type = 'random'
示例#9
0
文件: test_request.py 项目: yk/jina
def test_request_type_set_get(req):
    request = Request(request=req, copy=False)
    request.request_type = 'search'
    assert request.request_type == 'SearchRequestProto'
示例#10
0
def test_request_type_set_get(req):
    request = Request(request=req, copy=False)
    request.request_type = 'data'
    assert request.request_type == 'DataRequestProto'
示例#11
0
def test_delete_request():
    req = Request()
    req.request_type = str(RequestType.DELETE)
    req.ids.extend(['123', '456'])
    assert req.dict()['delete']['ids'] == ['123', '456']