github.com/weaviate/weaviate@v1.24.6/test/acceptance/batch_request_endpoints/setup_test.go (about) 1 // _ _ 2 // __ _____ __ ___ ___ __ _| |_ ___ 3 // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ 4 // \ V V / __/ (_| |\ V /| | (_| | || __/ 5 // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| 6 // 7 // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. 8 // 9 // CONTACT: hello@weaviate.io 10 // 11 12 package batch_request_endpoints 13 14 import ( 15 "testing" 16 "time" 17 18 clschema "github.com/weaviate/weaviate/client/schema" 19 "github.com/weaviate/weaviate/entities/models" 20 "github.com/weaviate/weaviate/entities/schema" 21 "github.com/weaviate/weaviate/test/helper" 22 ) 23 24 func Test_Batch(t *testing.T) { 25 // there is no gql provider if there is no schema, so we need some sort of a schema 26 27 t.Run("setup", func(t *testing.T) { 28 createObjectClass(t, &models.Class{ 29 Class: "BulkTest", 30 Properties: []*models.Property{ 31 { 32 Name: "name", 33 DataType: schema.DataTypeText.PropString(), 34 Tokenization: models.PropertyTokenizationWhitespace, 35 }, 36 }, 37 }) 38 createObjectClass(t, &models.Class{ 39 Class: "BulkTestSource", 40 Properties: []*models.Property{ 41 { 42 Name: "name", 43 DataType: schema.DataTypeText.PropString(), 44 Tokenization: models.PropertyTokenizationWhitespace, 45 }, 46 { 47 Name: "ref", 48 DataType: []string{"BulkTest"}, 49 }, 50 }, 51 }) 52 createObjectClass(t, &models.Class{ 53 Class: "BulkTestTarget", 54 Properties: []*models.Property{ 55 { 56 Name: "intProp", 57 DataType: []string{"int"}, 58 }, 59 { 60 Name: "fromSource", 61 DataType: []string{"BulkTestSource"}, 62 }, 63 }, 64 }) 65 }) 66 67 time.Sleep(2000 * time.Millisecond) 68 69 t.Run("gql results order", batchJourney) 70 t.Run("gql results order", gqlResultsOrder) 71 t.Run("gql malformed request", gqlMalformedRequest) 72 t.Run("batch delete", batchDeleteJourney) 73 74 deleteObjectClass(t, "BulkTest") 75 deleteObjectClass(t, "BulkTestSource") 76 deleteObjectClass(t, "BulkTestTarget") 77 } 78 79 func createObjectClass(t *testing.T, class *models.Class) { 80 params := clschema.NewSchemaObjectsCreateParams().WithObjectClass(class) 81 resp, err := helper.Client(t).Schema.SchemaObjectsCreate(params, nil) 82 helper.AssertRequestOk(t, resp, err, nil) 83 } 84 85 func deleteObjectClass(t *testing.T, class string) { 86 delParams := clschema.NewSchemaObjectsDeleteParams().WithClassName(class) 87 delRes, err := helper.Client(t).Schema.SchemaObjectsDelete(delParams, nil) 88 helper.AssertRequestOk(t, delRes, err, nil) 89 }