2525import org .springframework .ai .embedding .EmbeddingRequest ;
2626
2727import static org .assertj .core .api .Assertions .assertThat ;
28+ import static org .assertj .core .api .Assertions .assertThatThrownBy ;
2829
2930/**
3031 * Unit tests for {@link EmbeddingModelObservationContext}.
@@ -43,8 +44,48 @@ void whenMandatoryRequestOptionsThenReturn() {
4344 assertThat (observationContext ).isNotNull ();
4445 }
4546
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+
4687 private EmbeddingRequest generateEmbeddingRequest (EmbeddingOptions embeddingOptions ) {
47- return new EmbeddingRequest (List .of (), embeddingOptions );
88+ return new EmbeddingRequest (List .of ("test input" ), embeddingOptions );
4889 }
4990
5091}
0 commit comments