1111
1212namespace OpenAI . Tests . Embeddings ;
1313
14- [ TestFixture ( true ) ]
15- [ TestFixture ( false ) ]
1614[ Parallelizable ( ParallelScope . All ) ]
1715[ Category ( "Embeddings" ) ]
1816[ Category ( "Smoke" ) ]
19- public class EmbeddingsMockTests : SyncAsyncTestBase
17+ public class EmbeddingsMockTests : ClientTestBase
2018{
2119 private static readonly ApiKeyCredential s_fakeCredential = new ApiKeyCredential ( "key" ) ;
2220
@@ -51,11 +49,9 @@ public async Task GenerateEmbeddingDeserializesVector()
5149 ]
5250 }
5351 """ ) ;
54- EmbeddingClient client = new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ;
52+ EmbeddingClient client = CreateProxyFromClient ( new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ) ;
5553
56- OpenAIEmbedding embedding = IsAsync
57- ? await client . GenerateEmbeddingAsync ( "prompt" )
58- : client . GenerateEmbedding ( "prompt" ) ;
54+ OpenAIEmbedding embedding = await client . GenerateEmbeddingAsync ( "prompt" ) ;
5955
6056 float [ ] vector = embedding . ToFloats ( ) . ToArray ( ) ;
6157 Assert . That ( vector . SequenceEqual ( [ 1f , 2f , 3f ] ) ) ;
@@ -64,20 +60,12 @@ public async Task GenerateEmbeddingDeserializesVector()
6460 [ Test ]
6561 public void GenerateEmbeddingRespectsTheCancellationToken ( )
6662 {
67- EmbeddingClient client = new EmbeddingClient ( "model" , s_fakeCredential ) ;
63+ EmbeddingClient client = CreateProxyFromClient ( new EmbeddingClient ( "model" , s_fakeCredential ) ) ;
6864 using CancellationTokenSource cancellationSource = new ( ) ;
6965 cancellationSource . Cancel ( ) ;
7066
71- if ( IsAsync )
72- {
73- Assert . That ( async ( ) => await client . GenerateEmbeddingAsync ( "prompt" , cancellationToken : cancellationSource . Token ) ,
67+ Assert . That ( async ( ) => await client . GenerateEmbeddingAsync ( "prompt" , cancellationToken : cancellationSource . Token ) ,
7468 Throws . InstanceOf < OperationCanceledException > ( ) ) ;
75- }
76- else
77- {
78- Assert . That ( ( ) => client . GenerateEmbedding ( "prompt" , cancellationToken : cancellationSource . Token ) ,
79- Throws . InstanceOf < OperationCanceledException > ( ) ) ;
80- }
8169 }
8270
8371 [ Test ]
@@ -92,11 +80,9 @@ public async Task GenerateEmbeddingsWithStringsDeserializesUsage()
9280 }
9381 }
9482 """ ) ;
95- EmbeddingClient client = new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ;
83+ EmbeddingClient client = CreateProxyFromClient ( new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ) ;
9684
97- OpenAIEmbeddingCollection embeddings = IsAsync
98- ? await client . GenerateEmbeddingsAsync ( [ "prompt" ] )
99- : client . GenerateEmbeddings ( [ "prompt" ] ) ;
85+ OpenAIEmbeddingCollection embeddings = await client . GenerateEmbeddingsAsync ( [ "prompt" ] ) ;
10086
10187 Assert . That ( embeddings . Usage . InputTokenCount , Is . EqualTo ( 10 ) ) ;
10288 Assert . That ( embeddings . Usage . TotalTokenCount , Is . EqualTo ( 20 ) ) ;
@@ -128,11 +114,9 @@ public async Task GenerateEmbeddingsWithStringsDeserializesVector()
128114 ]
129115 }
130116 """ ) ;
131- EmbeddingClient client = new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ;
117+ EmbeddingClient client = CreateProxyFromClient ( new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ) ;
132118
133- OpenAIEmbeddingCollection embeddings = IsAsync
134- ? await client . GenerateEmbeddingsAsync ( [ "prompt" ] )
135- : client . GenerateEmbeddings ( [ "prompt" ] ) ;
119+ OpenAIEmbeddingCollection embeddings = await client . GenerateEmbeddingsAsync ( [ "prompt" ] ) ;
136120 OpenAIEmbedding embedding = embeddings . Single ( ) ;
137121
138122 float [ ] vector = embedding . ToFloats ( ) . ToArray ( ) ;
@@ -142,20 +126,12 @@ public async Task GenerateEmbeddingsWithStringsDeserializesVector()
142126 [ Test ]
143127 public void GenerateEmbeddingsWithStringsRespectsTheCancellationToken ( )
144128 {
145- EmbeddingClient client = new EmbeddingClient ( "model" , s_fakeCredential ) ;
129+ EmbeddingClient client = CreateProxyFromClient ( new EmbeddingClient ( "model" , s_fakeCredential ) ) ;
146130 using CancellationTokenSource cancellationSource = new ( ) ;
147131 cancellationSource . Cancel ( ) ;
148132
149- if ( IsAsync )
150- {
151- Assert . That ( async ( ) => await client . GenerateEmbeddingsAsync ( [ "prompt" ] , cancellationToken : cancellationSource . Token ) ,
152- Throws . InstanceOf < OperationCanceledException > ( ) ) ;
153- }
154- else
155- {
156- Assert . That ( ( ) => client . GenerateEmbeddings ( [ "prompt" ] , cancellationToken : cancellationSource . Token ) ,
157- Throws . InstanceOf < OperationCanceledException > ( ) ) ;
158- }
133+ Assert . That ( async ( ) => await client . GenerateEmbeddingsAsync ( [ "prompt" ] , cancellationToken : cancellationSource . Token ) ,
134+ Throws . InstanceOf < OperationCanceledException > ( ) ) ;
159135 }
160136
161137 [ Test ]
@@ -170,11 +146,9 @@ public async Task GenerateEmbeddingsWithIntegersDeserializesUsage()
170146 }
171147 }
172148 """ ) ;
173- EmbeddingClient client = new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ;
149+ EmbeddingClient client = CreateProxyFromClient ( new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ) ;
174150
175- OpenAIEmbeddingCollection embeddings = IsAsync
176- ? await client . GenerateEmbeddingsAsync ( [ new [ ] { 1 } ] )
177- : client . GenerateEmbeddings ( [ new [ ] { 1 } ] ) ;
151+ OpenAIEmbeddingCollection embeddings = await client . GenerateEmbeddingsAsync ( [ new [ ] { 1 } ] ) ;
178152
179153 Assert . That ( embeddings . Usage . InputTokenCount , Is . EqualTo ( 10 ) ) ;
180154 Assert . That ( embeddings . Usage . TotalTokenCount , Is . EqualTo ( 20 ) ) ;
@@ -206,11 +180,9 @@ public async Task GenerateEmbeddingsWithIntegersDeserializesVector()
206180 ]
207181 }
208182 """ ) ;
209- EmbeddingClient client = new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ;
183+ EmbeddingClient client = CreateProxyFromClient ( new EmbeddingClient ( "model" , s_fakeCredential , clientOptions ) ) ;
210184
211- OpenAIEmbeddingCollection embeddings = IsAsync
212- ? await client . GenerateEmbeddingsAsync ( [ new [ ] { 1 } ] )
213- : client . GenerateEmbeddings ( [ new [ ] { 1 } ] ) ;
185+ OpenAIEmbeddingCollection embeddings = await client . GenerateEmbeddingsAsync ( [ new [ ] { 1 } ] ) ;
214186 OpenAIEmbedding embedding = embeddings . Single ( ) ;
215187
216188 float [ ] vector = embedding . ToFloats ( ) . ToArray ( ) ;
@@ -220,20 +192,12 @@ public async Task GenerateEmbeddingsWithIntegersDeserializesVector()
220192 [ Test ]
221193 public void GenerateEmbeddingsWithIntegersRespectsTheCancellationToken ( )
222194 {
223- EmbeddingClient client = new EmbeddingClient ( "model" , s_fakeCredential ) ;
195+ EmbeddingClient client = CreateProxyFromClient ( new EmbeddingClient ( "model" , s_fakeCredential ) ) ;
224196 using CancellationTokenSource cancellationSource = new ( ) ;
225197 cancellationSource . Cancel ( ) ;
226198
227- if ( IsAsync )
228- {
229- Assert . That ( async ( ) => await client . GenerateEmbeddingsAsync ( [ new [ ] { 1 } ] , cancellationToken : cancellationSource . Token ) ,
230- Throws . InstanceOf < OperationCanceledException > ( ) ) ;
231- }
232- else
233- {
234- Assert . That ( ( ) => client . GenerateEmbeddings ( [ new [ ] { 1 } ] , cancellationToken : cancellationSource . Token ) ,
235- Throws . InstanceOf < OperationCanceledException > ( ) ) ;
236- }
199+ Assert . That ( async ( ) => await client . GenerateEmbeddingsAsync ( [ new [ ] { 1 } ] , cancellationToken : cancellationSource . Token ) ,
200+ Throws . InstanceOf < OperationCanceledException > ( ) ) ;
237201 }
238202
239203 private OpenAIClientOptions GetClientOptionsWithMockResponse ( int status , string content )
@@ -243,6 +207,9 @@ private OpenAIClientOptions GetClientOptionsWithMockResponse(int status, string
243207 return new OpenAIClientOptions ( )
244208 {
245209 Transport = new MockPipelineTransport ( _ => response )
210+ {
211+ ExpectSyncPipeline = ! IsAsync
212+ }
246213 } ;
247214 }
248215}
0 commit comments