@@ -148,3 +148,39 @@ func TestAzureFullURL(t *testing.T) {
148
148
})
149
149
}
150
150
}
151
+
152
+ func TestCloudflareAzureFullURL (t * testing.T ) {
153
+ cases := []struct {
154
+ Name string
155
+ BaseURL string
156
+ Expect string
157
+ }{
158
+ {
159
+ "CloudflareAzureBaseURLWithSlashAutoStrip" ,
160
+ "https://gateway.ai.cloudflare.com/v1/dnekeim2i39dmm4mldemakiem3i4mkw3/demo/azure-openai/resource/chatgpt-demo/" ,
161
+ "https://gateway.ai.cloudflare.com/v1/dnekeim2i39dmm4mldemakiem3i4mkw3/demo/azure-openai/resource/chatgpt-demo/" +
162
+ "chat/completions?api-version=2023-05-15" ,
163
+ },
164
+ {
165
+ "CloudflareAzureBaseURLWithoutSlashOK" ,
166
+ "https://gateway.ai.cloudflare.com/v1/dnekeim2i39dmm4mldemakiem3i4mkw3/demo/azure-openai/resource/chatgpt-demo" ,
167
+ "https://gateway.ai.cloudflare.com/v1/dnekeim2i39dmm4mldemakiem3i4mkw3/demo/azure-openai/resource/chatgpt-demo/" +
168
+ "chat/completions?api-version=2023-05-15" ,
169
+ },
170
+ }
171
+
172
+ for _ , c := range cases {
173
+ t .Run (c .Name , func (t * testing.T ) {
174
+ az := DefaultAzureConfig ("dummy" , c .BaseURL )
175
+ az .APIType = APITypeCloudflareAzure
176
+
177
+ cli := NewClientWithConfig (az )
178
+
179
+ actual := cli .fullURL ("/chat/completions" )
180
+ if actual != c .Expect {
181
+ t .Errorf ("Expected %s, got %s" , c .Expect , actual )
182
+ }
183
+ t .Logf ("Full URL: %s" , actual )
184
+ })
185
+ }
186
+ }
0 commit comments