From 92d932d23f2fcab4b38b72bb6b39778026418ecd Mon Sep 17 00:00:00 2001 From: Gusted Date: Sun, 1 Oct 2023 12:58:58 +0200 Subject: [PATCH] [GITEA] Use existing jsonschema library - Use the 'existing' jsonschema library for the nodeinfo integration test. (cherry picked from commit 73864840f27274d4cdaef23d47a6a71fc60529c3) (cherry picked from commit da36df306b7a75434c75ed5f63608e06266ca480) Conflicts: go.mod https://codeberg.org/forgejo/forgejo/pulls/1581 (cherry picked from commit 2b4ab46d8eacd2e6b2318f26e327ec59b804ea23) Conflicts: go.mod https://codeberg.org/forgejo/forgejo/pulls/1617 (cherry picked from commit 8064130344eb0d797838f8444a6d5c0e3d425716) (cherry picked from commit 0ccefc633e5cd206bd51f642c9fe7be56dae51ec) (cherry picked from commit 19e647b531c5cfaba5beabbd1de2fe65dfd44da0) (cherry picked from commit 2bcc04889d4d765eba0ebdffe7ba788c91923d35) (cherry picked from commit 2fd1932699572a666ef616b7fb191ab5f56d75c6) (cherry picked from commit b9a3e1e5258e1896550cc3750b7f688fdab1bb22) --- go.mod | 3 --- go.sum | 7 ------- tests/integration/integration_test.go | 19 +++++++++---------- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index 1945bad63e..31a5c30c2e 100644 --- a/go.mod +++ b/go.mod @@ -100,7 +100,6 @@ require ( github.com/ulikunitz/xz v0.5.11 github.com/urfave/cli/v2 v2.25.7 github.com/xanzy/go-gitlab v0.93.1 - github.com/xeipuuv/gojsonschema v1.2.0 github.com/yohcop/openid-go v1.0.1 github.com/yuin/goldmark v1.5.6 github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc @@ -277,8 +276,6 @@ require ( github.com/valyala/fastjson v1.6.4 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect - github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect github.com/zeebo/blake3 v0.2.3 // indirect diff --git a/go.sum b/go.sum index fbe4fe06e5..9896dc2ca6 100644 --- a/go.sum +++ b/go.sum @@ -1047,13 +1047,6 @@ github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3k github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo= github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go index 83b615c91e..eb6a842a63 100644 --- a/tests/integration/integration_test.go +++ b/tests/integration/integration_test.go @@ -43,8 +43,8 @@ import ( "github.com/markbates/goth" "github.com/markbates/goth/gothic" goth_gitlab "github.com/markbates/goth/providers/gitlab" + "github.com/santhosh-tekuri/jsonschema/v5" "github.com/stretchr/testify/assert" - "github.com/xeipuuv/gojsonschema" ) var testWebRoutes *web.Route @@ -519,16 +519,15 @@ func VerifyJSONSchema(t testing.TB, resp *httptest.ResponseRecorder, schemaFile _, schemaFileErr := os.Stat(schemaFilePath) assert.Nil(t, schemaFileErr) - schema, schemaFileReadErr := os.ReadFile(schemaFilePath) - assert.Nil(t, schemaFileReadErr) - assert.True(t, len(schema) > 0) + schema, err := jsonschema.Compile(schemaFilePath) + assert.NoError(t, err) - nodeinfoSchema := gojsonschema.NewStringLoader(string(schema)) - nodeinfoString := gojsonschema.NewStringLoader(resp.Body.String()) - result, schemaValidationErr := gojsonschema.Validate(nodeinfoSchema, nodeinfoString) - assert.Nil(t, schemaValidationErr) - assert.Empty(t, result.Errors()) - assert.True(t, result.Valid()) + var data interface{} + err = json.Unmarshal(resp.Body.Bytes(), &data) + assert.NoError(t, err) + + schemaValidation := schema.Validate(data) + assert.Nil(t, schemaValidation) } func GetCSRF(t testing.TB, session *TestSession, urlStr string) string {