File tree 13 files changed +142
-5
lines changed 13 files changed +142
-5
lines changed Original file line number Diff line number Diff line change 1
- const openaiKey = "a valid OpenAI key"
2
1
const OpenAI = require ( 'openai' ) ;
3
2
4
- console . log ( OpenAI )
3
+ const openai = new OpenAI ( ) ;
5
4
6
- const openai = new OpenAI ( {
7
- apiKey : openaiKey ,
8
- } ) ;
5
+ function assertEqual ( actual , expected ) {
6
+ if ( actual === expected ) {
7
+ return ;
8
+ }
9
+
10
+ console . error ( 'expected' , expected ) ;
11
+ console . error ( 'actual ' , actual ) ;
12
+ throw new Error ( 'expected values to be equal' ) ;
13
+ }
14
+
15
+ async function main ( ) {
16
+ const completion = await openai . chat . completions . create ( {
17
+ model : 'gpt-4' ,
18
+ messages : [ { role : 'user' , content : 'Say this is a test' } ] ,
19
+ } ) ;
20
+ if ( ! completion . choices [ 0 ] . message . content ) {
21
+ console . dir ( completion , { depth : 4 } ) ;
22
+ throw new Error ( 'no response content!' ) ;
23
+ }
24
+
25
+ assertEqual (
26
+ decodeURIComponent ( openai . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
27
+ 'foo[nested][a]=true&foo[nested][b]=foo' ,
28
+ ) ;
29
+ assertEqual (
30
+ decodeURIComponent ( openai . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
31
+ 'foo[nested][a][]=hello&foo[nested][a][]=world' ,
32
+ ) ;
33
+ }
34
+
35
+ main ( ) ;
Original file line number Diff line number Diff line change @@ -257,3 +257,12 @@ describe('toFile', () => {
257
257
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
258
258
} ) ;
259
259
} ) ;
260
+
261
+ test ( 'query strings' , ( ) => {
262
+ expect (
263
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
264
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
265
+ expect (
266
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
267
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
268
+ } ) ;
Original file line number Diff line number Diff line change @@ -164,3 +164,12 @@ describe.skip('toFile', () => {
164
164
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
165
165
} ) ;
166
166
} ) ;
167
+
168
+ test ( 'query strings' , ( ) => {
169
+ expect (
170
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
171
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
172
+ expect (
173
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
174
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
175
+ } ) ;
Original file line number Diff line number Diff line change @@ -151,3 +151,12 @@ describe('toFile', () => {
151
151
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
152
152
} ) ;
153
153
} ) ;
154
+
155
+ test ( 'query strings' , ( ) => {
156
+ expect (
157
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
158
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
159
+ expect (
160
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
161
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
162
+ } ) ;
Original file line number Diff line number Diff line change @@ -144,3 +144,12 @@ describe.skip('toFile', () => {
144
144
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
145
145
} ) ;
146
146
} ) ;
147
+
148
+ test ( 'query strings' , ( ) => {
149
+ expect (
150
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
151
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
152
+ expect (
153
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
154
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
155
+ } ) ;
Original file line number Diff line number Diff line change @@ -192,3 +192,12 @@ describe('toFile', () => {
192
192
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
193
193
} ) ;
194
194
} ) ;
195
+
196
+ test ( 'query strings' , ( ) => {
197
+ expect (
198
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
199
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
200
+ expect (
201
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
202
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
203
+ } ) ;
Original file line number Diff line number Diff line change @@ -194,3 +194,12 @@ describe('toFile', () => {
194
194
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
195
195
} ) ;
196
196
} ) ;
197
+
198
+ test ( 'query strings' , ( ) => {
199
+ expect (
200
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
201
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
202
+ expect (
203
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
204
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
205
+ } ) ;
Original file line number Diff line number Diff line change @@ -152,3 +152,12 @@ describe('toFile', () => {
152
152
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
153
153
} ) ;
154
154
} ) ;
155
+
156
+ test ( 'query strings' , ( ) => {
157
+ expect (
158
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
159
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
160
+ expect (
161
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
162
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
163
+ } ) ;
Original file line number Diff line number Diff line change @@ -64,3 +64,12 @@ it(`raw response`, async function () {
64
64
const json : ChatCompletion = JSON . parse ( chunks . join ( '' ) ) ;
65
65
expect ( json . choices [ 0 ] ?. message . content || '' ) . toBeSimilarTo ( 'This is a test' , 10 ) ;
66
66
} ) ;
67
+
68
+ test ( 'query strings' , ( ) => {
69
+ expect (
70
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
71
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
72
+ expect (
73
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
74
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
75
+ } ) ;
Original file line number Diff line number Diff line change @@ -173,3 +173,12 @@ describe('toFile', () => {
173
173
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
174
174
} ) ;
175
175
} ) ;
176
+
177
+ test ( 'query strings' , ( ) => {
178
+ expect (
179
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
180
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
181
+ expect (
182
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
183
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
184
+ } ) ;
Original file line number Diff line number Diff line change @@ -192,3 +192,12 @@ describe('toFile', () => {
192
192
expect ( result . filename ) . toEqual ( 'finetune.jsonl' ) ;
193
193
} ) ;
194
194
} ) ;
195
+
196
+ test ( 'query strings' , ( ) => {
197
+ expect (
198
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
199
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
200
+ expect (
201
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
202
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
203
+ } ) ;
Original file line number Diff line number Diff line change @@ -209,4 +209,13 @@ describe('toFile', () => {
209
209
} ) ;
210
210
} ) ;
211
211
212
+ it ( 'handles query strings' , ( ) => {
213
+ expect (
214
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
215
+ ) . toEqual ( 'foo[nested][a]=true&foo[nested][b]=foo' ) ;
216
+ expect (
217
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
218
+ ) . toEqual ( 'foo[nested][a][]=hello&foo[nested][a][]=world' ) ;
219
+ } ) ;
220
+
212
221
runTests ( ) ;
Original file line number Diff line number Diff line change @@ -180,4 +180,15 @@ export function uploadWebApiTestCases({
180
180
expectEqual ( result . filename , 'finetune.jsonl' ) ;
181
181
} ) ;
182
182
}
183
+
184
+ it ( 'handles query strings' , async ( ) => {
185
+ expectEqual (
186
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : true , b : 'foo' } } } ) ) ,
187
+ 'foo[nested][a]=true&foo[nested][b]=foo' ,
188
+ ) ;
189
+ expectEqual (
190
+ decodeURIComponent ( ( client as any ) . stringifyQuery ( { foo : { nested : { a : [ 'hello' , 'world' ] } } } ) ) ,
191
+ 'foo[nested][a][]=hello&foo[nested][a][]=world' ,
192
+ ) ;
193
+ } ) ;
183
194
}
You can’t perform that action at this time.
0 commit comments