コード例 #1
0
    def test_bulk_insert_async_with_collection_non_exist(
            self, connect, hvcollection, dim):
        collection = hvcollection + "_c1"
        vectors = records_factory(dim, 1)
        integers = integer_factory(1)

        entities = [{
            "name": "Vec",
            "values": vectors
        }, {
            "name": "Int",
            "values": integers
        }]

        with pytest.raises(BaseError):
            future = connect.bulk_insert(collection, entities, _async=True)
            future.result()

        entities = [{
            "name": "Vec",
            "values": vectors,
            "type": DataType.FLOAT_VECTOR
        }, {
            "name": "Int",
            "values": integers,
            "type": DataType.INT64
        }]

        future = connect.bulk_insert(collection, entities, _async=True)
        with pytest.raises(BaseError):
            future.result()
コード例 #2
0
    def test_bulk_insert_with_wrong_scalar_type_then_correct_type(
            self, connect, hvcollection, dim):
        vectors = records_factory(dim, 10000)
        integers = integer_factory(10000)

        entities = [{
            "name": "Vec",
            "values": vectors,
            "type": DataType.FLOAT_VECTOR
        }, {
            "name": "Int",
            "values": integers,
            "type": DataType.FLOAT
        }]

        with pytest.raises(BaseError):
            connect.bulk_insert(hvcollection, entities)

        entities = [{
            "name": "Vec",
            "values": vectors,
            "type": DataType.FLOAT_VECTOR
        }, {
            "name": "Int",
            "values": integers,
            "type": DataType.INT64
        }]

        try:
            connect.bulk_insert(hvcollection, entities)
        except Exception as e:
            pytest.fail("Unexpected MyError: {}".format(str(e)))
コード例 #3
0
ファイル: test_insert.py プロジェクト: jjnnzb/pymilvus
    def test_insert_with_wrong_type_data(self, connect, hvcollection, dim):
        vectors = records_factory(dim, 10000)
        integers = integer_factory(10000)

        entities = [{"Vec": v, "Int": i} for v, i in zip(vectors, integers)]

        connect.insert(hvcollection, entities)
コード例 #4
0
    def test_create_collection_exception(self, connect, hvcollection, dim):
        vectors = records_factory(dim, 1)
        integers = integer_factory(1)

        entities = [{
            "name": "Vec",
            "values": vectors
        }, {
            "name": "Int",
            "values": integers
        }]

        mock_grpc_timeout = mock.MagicMock(
            side_effect=grpc.FutureTimeoutError())
        with mock.patch.object(Uum, 'future', mock_grpc_timeout):
            with pytest.raises(grpc.FutureTimeoutError):
                connect.bulk_insert(hvcollection, entities)

        mock_grpc_error = mock.MagicMock(side_effect=MockGrpcError())
        with mock.patch.object(Uum, 'future', mock_grpc_error):
            with pytest.raises(grpc.RpcError):
                connect.bulk_insert(hvcollection, entities)

        mock_exception = mock.MagicMock(side_effect=Exception("error"))
        with mock.patch.object(Uum, 'future', mock_exception):
            with pytest.raises(Exception):
                connect.bulk_insert(hvcollection, entities)
コード例 #5
0
    def test_search_multi_condition_in_single_must(self, connect, ivrecords, dim):
        topk = 10
        xq = records_factory(dim, 10)
        xi = integer_factory(2)
        metric = "L2"

        dsl = {
            "bool": {
                "must": [
                    {
                        "term": {"Int": xi}
                    },
                    {
                        "vector": {
                            "Vec": {"topk": topk, "query": xq, "metric_type": metric}
                        }
                    }
                ]
            }
        }

        try:
            connect.search(ivrecords, dsl)
        except Exception as e:
            pytest.fail(f"{e}")
コード例 #6
0
    def test_insert_with_wrong_nonaligned_data(self, connect, hvcollection, dim):
        vectors = records_factory(dim, 10000)
        integers = integer_factory(9998)

        entities = [{"Vec": v, "Int": i} for v, i in zip(vectors[:9998], integers[:9998])]
        entities.append({"Vec": vectors[9998]})

        with pytest.raises(BaseError):
            connect.insert(hvcollection, entities)
コード例 #7
0
def ivrecords(request, connect, hvcollection, dim):

    vectors = records_factory(dim, 10000)
    integers = integer_factory(10000)

    entities = [
        {"name": Field_Integer, "values": integers, "type": DataType.INT64},
        {"name": Field_Vector, "values": vectors, "type": DataType.FLOAT_VECTOR}
    ]
    connect.insert(vcollection, entities)

    return hvcollection
コード例 #8
0
    def test_bulk_insert_normal2(self, connect, hvcollection, dim):
        vectors = records_factory(dim, 10000)
        integers = integer_factory(10000)

        entities = [{
            "name": "Vec",
            "values": vectors
        }, {
            "name": "Int",
            "values": integers
        }]

        try:
            connect.bulk_insert(hvcollection, entities)
        except Exception as e:
            pytest.fail("Unexpected MyError: {}".format(str(e)))
コード例 #9
0
    def test_bulk_insert_with_collection_non_exist(self, connect, hvcollection,
                                                   dim):
        collection = hvcollection + "_c1"
        vectors = records_factory(dim, 1)
        integers = integer_factory(1)

        entities = [{
            "name": "Vec",
            "values": vectors
        }, {
            "name": "Int",
            "values": integers
        }]

        with pytest.raises(BaseError):
            connect.bulk_insert(collection, entities)
コード例 #10
0
    def test_bulk_insert_with_wrong_scalar_type(self, sd, connect,
                                                hvcollection, dim):
        vectors = records_factory(dim, 10000)
        integers = integer_factory(10000)

        entities = [{
            "name": "Vec",
            "values": vectors,
            "type": DataType.FLOAT_VECTOR
        }, {
            "name": "Int",
            "values": integers,
            "type": sd
        }]

        with pytest.raises(BaseError):
            connect.bulk_insert(hvcollection, entities)
コード例 #11
0
def ivirecords(request, connect, hvicollection, dim):

    vectors = records_factory(dim, 10000)
    integers = integer_factory(10000)

    entities = [{
        "name": Field_Integer,
        "values": integers,
        "type": DataType.INT64
    }, {
        "name": Field_Vector,
        "values": vectors,
        "type": DataType.FLOAT_VECTOR
    }]
    ids = [i for i in range(10000)]
    connect.bulk_insert(hvicollection, entities, ids)
    connect.flush([hvicollection])

    return hvicollection