github.com/weaviate/weaviate@v1.24.6/modules/qna-openai/ask/param_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 ask 13 14 import "testing" 15 16 func Test_validateAskFn(t *testing.T) { 17 type args struct { 18 param interface{} 19 } 20 tests := []struct { 21 name string 22 args args 23 wantErr bool 24 }{ 25 { 26 name: "should validate", 27 args: args{ 28 param: &AskParams{ 29 Question: "question", 30 }, 31 }, 32 }, 33 { 34 name: "should not validate when empty question", 35 args: args{ 36 param: &AskParams{ 37 Question: "", 38 }, 39 }, 40 wantErr: true, 41 }, 42 { 43 name: "should not validate when empty params", 44 args: args{ 45 param: &AskParams{}, 46 }, 47 wantErr: true, 48 }, 49 { 50 name: "should not validate when distance and certainty are present", 51 args: args{ 52 param: &AskParams{ 53 Distance: 0.1, 54 Certainty: 0.1, 55 }, 56 }, 57 wantErr: true, 58 }, 59 { 60 name: "should not validate when param passed is struct, not a pointer to struct", 61 args: args{ 62 param: AskParams{ 63 Question: "question", 64 }, 65 }, 66 wantErr: true, 67 }, 68 } 69 provider := New(nil) 70 for _, tt := range tests { 71 t.Run(tt.name, func(t *testing.T) { 72 if err := provider.validateAskFn(tt.args.param); (err != nil) != tt.wantErr { 73 t.Errorf("validateAskFn() error = %v, wantErr %v", err, tt.wantErr) 74 } 75 }) 76 } 77 }