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