(t *testing.T)
| 659 | } |
| 660 | |
| 661 | func TestVectorDelete(t *testing.T) { |
| 662 | pred := "vtest" |
| 663 | dropPredicate(pred) |
| 664 | |
| 665 | setSchema(fmt.Sprintf(vectorSchemaWithIndex, pred, "4", "euclidean")) |
| 666 | |
| 667 | numVectors := 1000 |
| 668 | rdf, vectors := generateRandomVectors(numVectors, 10, "vtest") |
| 669 | require.NoError(t, addTriplesToCluster(rdf)) |
| 670 | |
| 671 | query := `{ |
| 672 | vector(func: has(vtest)) { |
| 673 | count(uid) |
| 674 | } |
| 675 | }` |
| 676 | |
| 677 | result := processQueryNoErr(t, query) |
| 678 | require.JSONEq(t, fmt.Sprintf(`{"data": {"vector":[{"count":%d}]}}`, numVectors), result) |
| 679 | |
| 680 | allVectors, err := queryAllVectorsPred(t, "vtest") |
| 681 | require.NoError(t, err) |
| 682 | |
| 683 | require.Equal(t, vectors, allVectors) |
| 684 | |
| 685 | triples := strings.Split(rdf, "\n") |
| 686 | |
| 687 | deleteTriple := func(idx int) string { |
| 688 | triple := triples[idx] |
| 689 | |
| 690 | deleteTriplesInCluster(triple) |
| 691 | uid := strings.Split(triple, " ")[0] |
| 692 | query = fmt.Sprintf(`{ |
| 693 | vector(func: uid(%s)) { |
| 694 | vtest |
| 695 | } |
| 696 | }`, uid[1:len(uid)-1]) |
| 697 | |
| 698 | result = processQueryNoErr(t, query) |
| 699 | require.JSONEq(t, `{"data": {"vector":[]}}`, result) |
| 700 | return triple |
| 701 | |
| 702 | } |
| 703 | |
| 704 | for i := 0; i < len(triples)-2; i++ { |
| 705 | triple := deleteTriple(i) |
| 706 | vector, err := querySingleVector(t, strings.Split(triple, `"`)[1], "vtest") |
| 707 | require.NoError(t, err) |
| 708 | require.Contains(t, allVectors, vector) |
| 709 | } |
| 710 | |
| 711 | triple := deleteTriple(len(triples) - 2) |
| 712 | // after deleteing all vectors, we should get an empty array of vectors in response when we do silimar_to query |
| 713 | _, err = querySingleVectorError(t, strings.Split(triple, `"`)[1], "vtest", false) |
| 714 | require.NoError(t, err) |
| 715 | } |
| 716 | |
| 717 | func TestVectorUpdate(t *testing.T) { |
| 718 | pred := "vtest" |
nothing calls this directly
no test coverage detected