package routers import ( "testing" "github.com/gin-gonic/gin" ) func TestRegisterClientRoutes(t *testing.T) { gin.SetMode(gin.TestMode) engine := gin.New() RegisterClient("heqi", engine) expected := map[string]bool{ "GET /heqi/client/v1/user/devices": false, "PUT /heqi/client/v1/user/devices/:identity/group": false, "GET /heqi/client/v1/user/device-groups": false, "POST /heqi/client/v1/user/device-groups": false, "PUT /heqi/client/v1/user/device-groups/:identity": false, "DELETE /heqi/client/v1/user/device-groups/:identity": false, "GET /heqi/client/v1/user/gas/orders/:identity": false, "GET /heqi/client/v1/user/gas/order-options": false, "POST /heqi/client/v1/user/gas/orders": false, "POST /heqi/client/v1/user/gas/orders/:identity/pay": false, "POST /heqi/client/v1/user/gas/orders/:identity/confirm-receipt": false, "GET /heqi/client/v1/user/gas/contracts/:identity": false, "GET /heqi/client/v1/user/gas/contracts/:identity/attachment": false, "GET /heqi/client/v1/user/gas/contracts/:identity/history": false, "GET /heqi/client/v1/user/gas/contracts/:identity/requests": false, "POST /heqi/client/v1/user/gas/contracts/:identity/requests": false, "GET /heqi/client/v1/user/shop/orders/:identity": false, "GET /heqi/client/v1/user/shop/recommendations": false, "GET /heqi/client/v1/user/shop/favorites": false, "GET /heqi/client/v1/user/shop/favorites/items/:identity": false, "PUT /heqi/client/v1/user/shop/favorites/items/:identity": false, "GET /heqi/client/v1/user/shop/cart": false, "GET /heqi/client/v1/user/shop/cart/items/:identity": false, "PUT /heqi/client/v1/user/shop/cart/items/:identity": false, "POST /heqi/client/v1/user/ticket-photos": false, "GET /heqi/client/v1/user/ticket-photos/:name": false, "GET /heqi/client/v1/user/tickets/:identity/photos/:photoIdentity": false, "PUT /heqi/client/v1/user/addresses/:identity": false, "DELETE /heqi/client/v1/user/addresses/:identity": false, "POST /heqi/client/v1/user/addresses/:identity/default": false, "POST /heqi/client/v1/user/auth/register": false, "POST /heqi/client/v1/user/auth/login": false, "GET /heqi/client/v1/user/auth/avatar": false, "POST /heqi/client/v1/user/wallet/recharges": false, "GET /heqi/client/v1/user/wallet/banks": false, "POST /heqi/client/v1/user/wallet/banks": false, "POST /heqi/client/v1/user/wallet/banks/:identity/default": false, "DELETE /heqi/client/v1/user/wallet/banks/:identity": false, "GET /heqi/client/v1/user/wallet/withdrawals": false, "POST /heqi/client/v1/user/wallet/withdrawals": false, "GET /heqi/client/v1/user/deposits": false, "POST /heqi/client/v1/user/deposit-returns": false, "GET /heqi/client/v1/user/deposit-returns/:identity": false, "POST /heqi/client/v1/user/deposit-returns/:identity/cancel": false, "POST /heqi/client/v1/user/shop/orders/:identity/pay": false, "POST /heqi/client/v1/staff/auth/login": false, "GET /heqi/client/v1/staff/preflight": false, "POST /heqi/client/v1/staff/attendance": false, "GET /heqi/client/v1/staff/tickets/:identity": false, "POST /heqi/client/v1/staff/tickets/:identity/submit-result": false, "GET /heqi/client/v1/staff/delivery/orders": false, "POST /heqi/client/v1/staff/delivery/orders/:identity/start": false, "POST /heqi/client/v1/staff/delivery/orders/:identity/tracks": false, "POST /heqi/client/v1/staff/delivery/orders/:identity/arrive": false, "POST /heqi/client/v1/staff/delivery/orders/:identity/submit-receipt": false, } for _, route := range engine.Routes() { key := route.Method + " " + route.Path if _, ok := expected[key]; ok { expected[key] = true } } for route, found := range expected { if !found { t.Errorf("missing route %s", route) } } }