25
25
import org .springframework .ai .embedding .EmbeddingRequest ;
26
26
27
27
import static org .assertj .core .api .Assertions .assertThat ;
28
+ import static org .assertj .core .api .Assertions .assertThatThrownBy ;
28
29
29
30
/**
30
31
* Unit tests for {@link EmbeddingModelObservationContext}.
@@ -43,8 +44,83 @@ void whenMandatoryRequestOptionsThenReturn() {
43
44
assertThat (observationContext ).isNotNull ();
44
45
}
45
46
47
+ @ Test
48
+ void whenBuilderWithNullRequestThenThrowsException () {
49
+ assertThatThrownBy (() -> EmbeddingModelObservationContext .builder ()
50
+ .embeddingRequest (null )
51
+ .provider ("test-provider" )
52
+ .build ()).isInstanceOf (IllegalArgumentException .class ).hasMessage ("request cannot be null" );
53
+ }
54
+
55
+ @ Test
56
+ void whenBuilderWithNullProviderThenThrowsException () {
57
+ var embeddingRequest = generateEmbeddingRequest (EmbeddingOptionsBuilder .builder ().model ("test-model" ).build ());
58
+
59
+ assertThatThrownBy (() -> EmbeddingModelObservationContext .builder ()
60
+ .embeddingRequest (embeddingRequest )
61
+ .provider (null )
62
+ .build ()).isInstanceOf (IllegalArgumentException .class ).hasMessage ("provider cannot be null or empty" );
63
+ }
64
+
65
+ @ Test
66
+ void whenBuilderWithEmptyProviderThenThrowsException () {
67
+ var embeddingRequest = generateEmbeddingRequest (EmbeddingOptionsBuilder .builder ().model ("test-model" ).build ());
68
+
69
+ assertThatThrownBy (() -> EmbeddingModelObservationContext .builder ()
70
+ .embeddingRequest (embeddingRequest )
71
+ .provider ("" )
72
+ .build ()).isInstanceOf (IllegalArgumentException .class ).hasMessage ("provider cannot be null or empty" );
73
+ }
74
+
75
+ @ Test
76
+ void whenValidRequestAndProviderThenBuildsSuccessfully () {
77
+ var embeddingRequest = generateEmbeddingRequest (EmbeddingOptionsBuilder .builder ().model ("test-model" ).build ());
78
+
79
+ var observationContext = EmbeddingModelObservationContext .builder ()
80
+ .embeddingRequest (embeddingRequest )
81
+ .provider ("valid-provider" )
82
+ .build ();
83
+
84
+ assertThat (observationContext ).isNotNull ();
85
+ }
86
+
87
+ @ Test
88
+ void whenBuilderWithBlankProviderThenThrowsException () {
89
+ var embeddingRequest = generateEmbeddingRequest (EmbeddingOptionsBuilder .builder ().model ("test-model" ).build ());
90
+
91
+ assertThatThrownBy (() -> EmbeddingModelObservationContext .builder ()
92
+ .embeddingRequest (embeddingRequest )
93
+ .provider (" " )
94
+ .build ()).isInstanceOf (IllegalArgumentException .class ).hasMessage ("provider cannot be null or empty" );
95
+ }
96
+
97
+ @ Test
98
+ void whenEmbeddingRequestWithNullOptionsThenBuildsSuccessfully () {
99
+ var embeddingRequest = generateEmbeddingRequest (null );
100
+
101
+ var observationContext = EmbeddingModelObservationContext .builder ()
102
+ .embeddingRequest (embeddingRequest )
103
+ .provider ("test-provider" )
104
+ .build ();
105
+
106
+ assertThat (observationContext ).isNotNull ();
107
+ }
108
+
109
+ @ Test
110
+ void whenEmbeddingRequestWithEmptyInputListThenBuildsSuccessfully () {
111
+ var embeddingRequest = new EmbeddingRequest (List .of (),
112
+ EmbeddingOptionsBuilder .builder ().model ("test-model" ).build ());
113
+
114
+ var observationContext = EmbeddingModelObservationContext .builder ()
115
+ .embeddingRequest (embeddingRequest )
116
+ .provider ("test-provider" )
117
+ .build ();
118
+
119
+ assertThat (observationContext ).isNotNull ();
120
+ }
121
+
46
122
private EmbeddingRequest generateEmbeddingRequest (EmbeddingOptions embeddingOptions ) {
47
- return new EmbeddingRequest (List .of (), embeddingOptions );
123
+ return new EmbeddingRequest (List .of ("test input" ), embeddingOptions );
48
124
}
49
125
50
126
}
0 commit comments