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)
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'
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
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
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
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
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
def test_request_type_set_get_fail(req): request = Request(request=req, copy=False) with pytest.raises(ValueError): request.request_type = 'random'
def test_request_type_set_get(req): request = Request(request=req, copy=False) request.request_type = 'search' assert request.request_type == 'SearchRequestProto'
def test_request_type_set_get(req): request = Request(request=req, copy=False) request.request_type = 'data' assert request.request_type == 'DataRequestProto'
def test_delete_request(): req = Request() req.request_type = str(RequestType.DELETE) req.ids.extend(['123', '456']) assert req.dict()['delete']['ids'] == ['123', '456']