// _ _ // __ _____ __ ___ ___ __ _| |_ ___ // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ // \ V V / __/ (_| |\ V /| | (_| | || __/ // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| // // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. // // CONTACT: hello@weaviate.io // package vectorizer import ( "testing" "github.com/weaviate/weaviate/entities/moduletools" ) func Test_classSettings_Validate(t *testing.T) { type fields struct { cfg moduletools.ClassConfig } tests := []struct { name string fields fields wantErr bool }{ { name: "should not pass with empty config", wantErr: true, }, { name: "should not pass with nil config", fields: fields{ cfg: nil, }, wantErr: true, }, { name: "should not pass with nil imageFields", fields: fields{ cfg: newConfigBuilder().addSetting("imageFields", nil).build(), }, wantErr: true, }, { name: "should not pass with fault imageFields value", fields: fields{ cfg: newConfigBuilder().addSetting("imageFields", []string{}).build(), }, wantErr: true, }, { name: "should not pass with empty imageFields", fields: fields{ cfg: newConfigBuilder().addSetting("imageFields", []interface{}{}).build(), }, wantErr: true, }, { name: "should not pass with empty string in imageFields", fields: fields{ cfg: newConfigBuilder().addSetting("imageFields", []interface{}{""}).build(), }, wantErr: true, }, { name: "should not pass with int value in imageFields", fields: fields{ cfg: newConfigBuilder().addSetting("imageFields", []interface{}{1.0}).build(), }, wantErr: true, }, { name: "should pass with proper value in imageFields", fields: fields{ cfg: newConfigBuilder().addSetting("imageFields", []interface{}{"field"}).build(), }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { ic := &classSettings{ cfg: tt.fields.cfg, } if err := ic.Validate(); (err != nil) != tt.wantErr { t.Errorf("classSettings.Validate() error = %v, wantErr %v", err, tt.wantErr) } }) } }