Add missing nil argument for rpmCache to NewAccountHandler (5 sites) and NewGatewayService (2 sites) after RPM feature expanded their signatures.
68 lines
1.4 KiB
Go
68 lines
1.4 KiB
Go
package admin
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestAccountHandler_Create_AnthropicAPIKeyPassthroughExtraForwarded(t *testing.T) {
|
|
gin.SetMode(gin.TestMode)
|
|
|
|
adminSvc := newStubAdminService()
|
|
handler := NewAccountHandler(
|
|
adminSvc,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
nil,
|
|
)
|
|
|
|
router := gin.New()
|
|
router.POST("/api/v1/admin/accounts", handler.Create)
|
|
|
|
body := map[string]any{
|
|
"name": "anthropic-key-1",
|
|
"platform": "anthropic",
|
|
"type": "apikey",
|
|
"credentials": map[string]any{
|
|
"api_key": "sk-ant-xxx",
|
|
"base_url": "https://api.anthropic.com",
|
|
},
|
|
"extra": map[string]any{
|
|
"anthropic_passthrough": true,
|
|
},
|
|
"concurrency": 1,
|
|
"priority": 1,
|
|
}
|
|
raw, err := json.Marshal(body)
|
|
require.NoError(t, err)
|
|
|
|
rec := httptest.NewRecorder()
|
|
req := httptest.NewRequest(http.MethodPost, "/api/v1/admin/accounts", bytes.NewReader(raw))
|
|
req.Header.Set("Content-Type", "application/json")
|
|
router.ServeHTTP(rec, req)
|
|
|
|
require.Equal(t, http.StatusOK, rec.Code)
|
|
require.Len(t, adminSvc.createdAccounts, 1)
|
|
|
|
created := adminSvc.createdAccounts[0]
|
|
require.Equal(t, "anthropic", created.Platform)
|
|
require.Equal(t, "apikey", created.Type)
|
|
require.NotNil(t, created.Extra)
|
|
require.Equal(t, true, created.Extra["anthropic_passthrough"])
|
|
}
|