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  }