diff options
author | 2023-07-31 15:47:35 +0200 | |
---|---|---|
committer | 2023-07-31 15:47:35 +0200 | |
commit | 2796a2e82f16ade9872008878cf88299bd66b4e7 (patch) | |
tree | 76f7b69cc1da57ca10b71c57abf1892575bea100 /internal/validate/tag_test.go | |
parent | [performance] cache follow, follow request and block ID lists (#2027) (diff) | |
download | gotosocial-2796a2e82f16ade9872008878cf88299bd66b4e7.tar.xz |
[feature] Hashtag federation (in/out), hashtag client API endpoints (#2032)
* update go-fed
* do the things
* remove unused columns from tags
* update to latest lingo from main
* further tag shenanigans
* serve stub page at tag endpoint
* we did it lads
* tests, oh tests, ohhh tests, oh tests (doo doo doo doo)
* swagger docs
* document hashtag usage + federation
* instanceGet
* don't bother parsing tag href
* rename whereStartsWith -> whereStartsLike
* remove GetOrCreateTag
* dont cache status tag timelineability
Diffstat (limited to 'internal/validate/tag_test.go')
-rw-r--r-- | internal/validate/tag_test.go | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/internal/validate/tag_test.go b/internal/validate/tag_test.go deleted file mode 100644 index 43726fd5f..000000000 --- a/internal/validate/tag_test.go +++ /dev/null @@ -1,93 +0,0 @@ -// GoToSocial -// Copyright (C) GoToSocial Authors admin@gotosocial.org -// SPDX-License-Identifier: AGPL-3.0-or-later -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see <http://www.gnu.org/licenses/>. - -package validate_test - -import ( - "testing" - "time" - - "github.com/stretchr/testify/suite" - "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" - "github.com/superseriousbusiness/gotosocial/internal/validate" - "github.com/superseriousbusiness/gotosocial/testrig" -) - -func happyTag() *gtsmodel.Tag { - return >smodel.Tag{ - ID: "01FE91RJR88PSEEE30EV35QR8N", - CreatedAt: time.Now(), - UpdatedAt: time.Now(), - URL: "https://example.org/tags/some_tag", - Name: "some_tag", - FirstSeenFromAccountID: "01FE91SR5P2GW06K3AJ98P72MT", - Useable: testrig.TrueBool(), - Listable: testrig.TrueBool(), - LastStatusAt: time.Now(), - } -} - -type TagValidateTestSuite struct { - suite.Suite -} - -func (suite *TagValidateTestSuite) TestValidateTagHappyPath() { - // no problem here - t := happyTag() - err := validate.Struct(t) - suite.NoError(err) -} - -func (suite *TagValidateTestSuite) TestValidateTagNoName() { - t := happyTag() - t.Name = "" - - err := validate.Struct(t) - suite.EqualError(err, "Key: 'Tag.Name' Error:Field validation for 'Name' failed on the 'required' tag") -} - -func (suite *TagValidateTestSuite) TestValidateTagBadURL() { - t := happyTag() - - t.URL = "" - err := validate.Struct(t) - suite.EqualError(err, "Key: 'Tag.URL' Error:Field validation for 'URL' failed on the 'required' tag") - - t.URL = "no-schema.com" - err = validate.Struct(t) - suite.EqualError(err, "Key: 'Tag.URL' Error:Field validation for 'URL' failed on the 'url' tag") - - t.URL = "justastring" - err = validate.Struct(t) - suite.EqualError(err, "Key: 'Tag.URL' Error:Field validation for 'URL' failed on the 'url' tag") - - t.URL = "https://aaa\n\n\naaaaaaaa" - err = validate.Struct(t) - suite.EqualError(err, "Key: 'Tag.URL' Error:Field validation for 'URL' failed on the 'url' tag") -} - -func (suite *TagValidateTestSuite) TestValidateTagNoFirstSeenFromAccountID() { - t := happyTag() - t.FirstSeenFromAccountID = "" - - err := validate.Struct(t) - suite.NoError(err) -} - -func TestTagValidateTestSuite(t *testing.T) { - suite.Run(t, new(TagValidateTestSuite)) -} |