Spaces:
Running
Running
// _ _ | |
// __ _____ __ ___ ___ __ _| |_ ___ | |
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ | |
// \ V V / __/ (_| |\ V /| | (_| | || __/ | |
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| | |
// | |
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. | |
// | |
// CONTACT: [email protected] | |
// | |
package test | |
import ( | |
"encoding/json" | |
"fmt" | |
"net/http" | |
"testing" | |
"github.com/stretchr/testify/assert" | |
"github.com/stretchr/testify/require" | |
"github.com/weaviate/weaviate/entities/vectorindex/hnsw" | |
"github.com/weaviate/weaviate/test/helper" | |
) | |
func testGetSchemaWithoutClient(t *testing.T) { | |
res, err := http.Get(fmt.Sprintf("%s%s", helper.GetWeaviateURL(), "/v1/schema")) | |
require.Nil(t, err) | |
defer res.Body.Close() | |
var body map[string]interface{} | |
err = json.NewDecoder(res.Body).Decode(&body) | |
require.Nil(t, err) | |
expected := map[string]interface{}{ | |
"classes": []interface{}{ | |
map[string]interface{}{ | |
"class": "YellowCars", | |
"properties": (interface{})(nil), | |
"vectorIndexType": "hnsw", // from default | |
"vectorIndexConfig": map[string]interface{}{ // from default | |
"skip": false, | |
"cleanupIntervalSeconds": float64(300), | |
"efConstruction": float64(128), | |
"flatSearchCutoff": float64(40000), | |
"ef": float64(-1), | |
"maxConnections": float64(64), | |
"vectorCacheMaxObjects": float64(1e12), | |
"dynamicEfMin": float64(100), | |
"dynamicEfMax": float64(500), | |
"dynamicEfFactor": float64(8), | |
"distance": "cosine", | |
"bq": map[string]interface{}{ | |
"enabled": false, | |
}, | |
"pq": map[string]interface{}{ | |
"bitCompression": false, | |
"centroids": float64(256), | |
"enabled": false, | |
"encoder": map[string]interface{}{ | |
"distribution": "log-normal", | |
"type": hnsw.PQEncoderTypeKMeans, | |
}, | |
"segments": float64(0), | |
"trainingLimit": float64(100000), | |
}, | |
}, | |
"shardingConfig": map[string]interface{}{ | |
"actualCount": float64(1), | |
"actualVirtualCount": float64(128), | |
"desiredCount": float64(1), | |
"desiredVirtualCount": float64(128), | |
"function": "murmur3", | |
"strategy": "hash", | |
"key": "_id", | |
"virtualPerPhysical": float64(128), | |
}, | |
"replicationConfig": map[string]interface{}{ | |
"factor": float64(1), | |
}, | |
"vectorizer": "text2vec-contextionary", // global default from env var, see docker-compose-test.yml | |
"invertedIndexConfig": map[string]interface{}{ | |
"cleanupIntervalSeconds": float64(60), | |
"bm25": map[string]interface{}{ | |
"k1": float64(1.2), | |
"b": float64(0.75), | |
}, | |
"stopwords": map[string]interface{}{ | |
"preset": "en", | |
"additions": nil, | |
"removals": nil, | |
}, | |
}, | |
"moduleConfig": map[string]interface{}{ | |
"text2vec-contextionary": map[string]interface{}{ | |
"vectorizeClassName": true, | |
}, | |
}, | |
"multiTenancyConfig": map[string]interface{}{"enabled": false}, | |
}, | |
}, | |
} | |
assert.Equal(t, expected, body) | |
} | |