2021-10-18 08:36:56 +03:00
// Copyright 2021 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2021-10-18 08:36:56 +03:00
2022-09-02 22:18:23 +03:00
package integration
2021-10-18 08:36:56 +03:00
import (
"net/http"
"net/url"
"testing"
"code.gitea.io/gitea/modules/setting"
api "code.gitea.io/gitea/modules/structs"
2022-06-20 02:48:17 +03:00
"code.gitea.io/gitea/routers"
2021-10-18 08:36:56 +03:00
"github.com/stretchr/testify/assert"
)
func TestNodeinfo ( t * testing . T ) {
2022-06-20 02:48:17 +03:00
setting . Federation . Enabled = true
2023-08-12 19:30:16 +03:00
testWebRoutes = routers . NormalRoutes ( )
2022-06-20 02:48:17 +03:00
defer func ( ) {
setting . Federation . Enabled = false
2023-08-12 19:30:16 +03:00
testWebRoutes = routers . NormalRoutes ( )
2022-06-20 02:48:17 +03:00
} ( )
2021-10-18 08:36:56 +03:00
2022-06-20 02:48:17 +03:00
onGiteaRun ( t , func ( * testing . T , * url . URL ) {
2023-12-22 02:59:59 +03:00
req := NewRequest ( t , "GET" , "/api/v1/nodeinfo" )
2021-10-18 08:36:56 +03:00
resp := MakeRequest ( t , req , http . StatusOK )
2022-12-17 09:22:34 +03:00
VerifyJSONSchema ( t , resp , "nodeinfo_2.1.json" )
2021-10-18 08:36:56 +03:00
var nodeinfo api . NodeInfo
DecodeJSON ( t , resp , & nodeinfo )
2022-05-02 16:35:45 +03:00
assert . True ( t , nodeinfo . OpenRegistrations )
2021-10-18 08:36:56 +03:00
assert . Equal ( t , "gitea" , nodeinfo . Software . Name )
2024-02-24 15:38:43 +03:00
assert . Equal ( t , 29 , nodeinfo . Usage . Users . Total )
assert . Equal ( t , 22 , nodeinfo . Usage . LocalPosts )
2023-11-25 20:21:21 +03:00
assert . Equal ( t , 3 , nodeinfo . Usage . LocalComments )
2021-10-18 08:36:56 +03:00
} )
}