Spaces:
Running
Running
File size: 4,127 Bytes
b110593 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
// _ _
// __ _____ __ ___ ___ __ _| |_ ___
// \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \
// \ V V / __/ (_| |\ V /| | (_| | || __/
// \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___|
//
// Copyright © 2016 - 2024 Weaviate B.V. All rights reserved.
//
// CONTACT: [email protected]
//
package modules
import (
"context"
"net/http"
"github.com/go-openapi/strfmt"
"github.com/stretchr/testify/mock"
"github.com/weaviate/weaviate/entities/additional"
"github.com/weaviate/weaviate/entities/models"
"github.com/weaviate/weaviate/entities/modulecapabilities"
"github.com/weaviate/weaviate/entities/moduletools"
"github.com/weaviate/weaviate/entities/schema"
"github.com/weaviate/weaviate/entities/search"
)
func newDummyModule(name string, t modulecapabilities.ModuleType) modulecapabilities.Module {
switch t {
case modulecapabilities.Text2Vec:
return newDummyText2VecModule(name)
case modulecapabilities.Ref2Vec:
return newDummyRef2VecModule(name)
default:
return newDummyNonVectorizerModule(name)
}
}
func newDummyText2VecModule(name string) dummyText2VecModuleNoCapabilities {
return dummyText2VecModuleNoCapabilities{name: name}
}
type dummyText2VecModuleNoCapabilities struct {
name string
}
func (m dummyText2VecModuleNoCapabilities) Name() string {
return m.name
}
func (m dummyText2VecModuleNoCapabilities) Init(ctx context.Context,
params moduletools.ModuleInitParams,
) error {
return nil
}
// TODO remove as this is a capability
func (m dummyText2VecModuleNoCapabilities) RootHandler() http.Handler {
return nil
}
func (m dummyText2VecModuleNoCapabilities) Type() modulecapabilities.ModuleType {
return modulecapabilities.Text2Vec
}
func (m dummyText2VecModuleNoCapabilities) VectorizeObject(ctx context.Context,
in *models.Object, objDiff *moduletools.ObjectDiff, cfg moduletools.ClassConfig,
) error {
in.Vector = []float32{1, 2, 3}
return nil
}
func newDummyRef2VecModule(name string) dummyRef2VecModuleNoCapabilities {
return dummyRef2VecModuleNoCapabilities{name: name}
}
type dummyRef2VecModuleNoCapabilities struct {
name string
}
func (m dummyRef2VecModuleNoCapabilities) Name() string {
return m.name
}
func (m dummyRef2VecModuleNoCapabilities) Init(ctx context.Context,
params moduletools.ModuleInitParams,
) error {
return nil
}
// TODO remove as this is a capability
func (m dummyRef2VecModuleNoCapabilities) RootHandler() http.Handler {
return nil
}
func (m dummyRef2VecModuleNoCapabilities) Type() modulecapabilities.ModuleType {
return modulecapabilities.Ref2Vec
}
func (m dummyRef2VecModuleNoCapabilities) VectorizeObject(ctx context.Context,
in *models.Object, cfg moduletools.ClassConfig,
findRefVecsFn modulecapabilities.FindObjectFn,
) error {
in.Vector = []float32{1, 2, 3}
return nil
}
func newDummyNonVectorizerModule(name string) dummyNonVectorizerModule {
return dummyNonVectorizerModule{name: name}
}
type dummyNonVectorizerModule struct {
name string
}
func (m dummyNonVectorizerModule) Name() string {
return m.name
}
func (m dummyNonVectorizerModule) Init(ctx context.Context,
params moduletools.ModuleInitParams,
) error {
return nil
}
// TODO remove as this is a capability
func (m dummyNonVectorizerModule) RootHandler() http.Handler {
return nil
}
func (m dummyNonVectorizerModule) Type() modulecapabilities.ModuleType {
var non modulecapabilities.ModuleType = "NonVectorizer"
return non
}
type fakeSchemaGetter struct{ schema schema.Schema }
func (f *fakeSchemaGetter) GetSchemaSkipAuth() schema.Schema {
return f.schema
}
type fakeObjectsRepo struct {
mock.Mock
}
func (r *fakeObjectsRepo) Object(ctx context.Context, class string,
id strfmt.UUID, props search.SelectProperties,
addl additional.Properties, tenant string,
) (*search.Result, error) {
args := r.Called(ctx, class, id, props, addl)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*search.Result), args.Error(1)
}
|