Skip to content

Commit da6c599

Browse files
committed
refactor(management): rename GetUsage to GetUsageQueue and update routes/tests
- Renamed handler and test methods for better clarity on functionality. - Updated route from `/v0/management/usage` to `/v0/management/usage-queue`. - Adjusted integration and unit tests to reflect new naming and routes.
1 parent 61b39d4 commit da6c599

4 files changed

Lines changed: 19 additions & 11 deletions

File tree

internal/api/handlers/management/usage.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ func (r usageQueueRecord) MarshalJSON() ([]byte, error) {
2020
return json.Marshal(string(r))
2121
}
2222

23-
// GetUsage pops queued usage records from the Redis-compatible usage queue.
24-
func (h *Handler) GetUsage(c *gin.Context) {
23+
// GetUsageQueue pops queued usage records from the usage queue.
24+
func (h *Handler) GetUsageQueue(c *gin.Context) {
2525
if h == nil {
2626
c.JSON(http.StatusInternalServerError, gin.H{"error": "handler unavailable"})
2727
return

internal/api/handlers/management/usage_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"github.com/router-for-me/CLIProxyAPI/v6/internal/redisqueue"
1111
)
1212

13-
func TestGetUsagePopsRequestedRecords(t *testing.T) {
13+
func TestGetUsageQueuePopsRequestedRecords(t *testing.T) {
1414
gin.SetMode(gin.TestMode)
1515
withManagementUsageQueue(t, func() {
1616
redisqueue.Enqueue([]byte(`{"id":1}`))
@@ -19,10 +19,10 @@ func TestGetUsagePopsRequestedRecords(t *testing.T) {
1919

2020
rec := httptest.NewRecorder()
2121
ginCtx, _ := gin.CreateTestContext(rec)
22-
ginCtx.Request = httptest.NewRequest(http.MethodGet, "/v0/management/usage?count=2", nil)
22+
ginCtx.Request = httptest.NewRequest(http.MethodGet, "/v0/management/usage-queue?count=2", nil)
2323

2424
h := &Handler{}
25-
h.GetUsage(ginCtx)
25+
h.GetUsageQueue(ginCtx)
2626

2727
if rec.Code != http.StatusOK {
2828
t.Fatalf("status = %d, want %d body=%s", rec.Code, http.StatusOK, rec.Body.String())
@@ -45,17 +45,17 @@ func TestGetUsagePopsRequestedRecords(t *testing.T) {
4545
})
4646
}
4747

48-
func TestGetUsageInvalidCountDoesNotPop(t *testing.T) {
48+
func TestGetUsageQueueInvalidCountDoesNotPop(t *testing.T) {
4949
gin.SetMode(gin.TestMode)
5050
withManagementUsageQueue(t, func() {
5151
redisqueue.Enqueue([]byte(`{"id":1}`))
5252

5353
rec := httptest.NewRecorder()
5454
ginCtx, _ := gin.CreateTestContext(rec)
55-
ginCtx.Request = httptest.NewRequest(http.MethodGet, "/v0/management/usage?count=0", nil)
55+
ginCtx.Request = httptest.NewRequest(http.MethodGet, "/v0/management/usage-queue?count=0", nil)
5656

5757
h := &Handler{}
58-
h.GetUsage(ginCtx)
58+
h.GetUsageQueue(ginCtx)
5959

6060
if rec.Code != http.StatusBadRequest {
6161
t.Fatalf("status = %d, want %d body=%s", rec.Code, http.StatusBadRequest, rec.Body.String())

internal/api/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,7 @@ func (s *Server) registerManagementRoutes() {
551551
mgmt.PATCH("/api-keys", s.mgmt.PatchAPIKeys)
552552
mgmt.DELETE("/api-keys", s.mgmt.DeleteAPIKeys)
553553
mgmt.GET("/api-key-usage", s.mgmt.GetAPIKeyUsage)
554-
mgmt.GET("/usage", s.mgmt.GetUsage)
554+
mgmt.GET("/usage-queue", s.mgmt.GetUsageQueue)
555555

556556
mgmt.GET("/gemini-api-key", s.mgmt.GetGeminiKeys)
557557
mgmt.PUT("/gemini-api-key", s.mgmt.PutGeminiKeys)

internal/api/server_test.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,22 @@ func TestManagementUsageRequiresManagementAuthAndPopsArray(t *testing.T) {
100100
redisqueue.Enqueue([]byte(`{"id":1}`))
101101
redisqueue.Enqueue([]byte(`{"id":2}`))
102102

103-
missingKeyReq := httptest.NewRequest(http.MethodGet, "/v0/management/usage?count=2", nil)
103+
missingKeyReq := httptest.NewRequest(http.MethodGet, "/v0/management/usage-queue?count=2", nil)
104104
missingKeyRR := httptest.NewRecorder()
105105
server.engine.ServeHTTP(missingKeyRR, missingKeyReq)
106106
if missingKeyRR.Code != http.StatusUnauthorized {
107107
t.Fatalf("missing key status = %d, want %d body=%s", missingKeyRR.Code, http.StatusUnauthorized, missingKeyRR.Body.String())
108108
}
109109

110-
authReq := httptest.NewRequest(http.MethodGet, "/v0/management/usage?count=2", nil)
110+
legacyReq := httptest.NewRequest(http.MethodGet, "/v0/management/usage?count=2", nil)
111+
legacyReq.Header.Set("Authorization", "Bearer test-management-key")
112+
legacyRR := httptest.NewRecorder()
113+
server.engine.ServeHTTP(legacyRR, legacyReq)
114+
if legacyRR.Code != http.StatusNotFound {
115+
t.Fatalf("legacy usage status = %d, want %d body=%s", legacyRR.Code, http.StatusNotFound, legacyRR.Body.String())
116+
}
117+
118+
authReq := httptest.NewRequest(http.MethodGet, "/v0/management/usage-queue?count=2", nil)
111119
authReq.Header.Set("Authorization", "Bearer test-management-key")
112120
authRR := httptest.NewRecorder()
113121
server.engine.ServeHTTP(authRR, authReq)

0 commit comments

Comments
 (0)