gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

extractvisibility_test.go (2615B)


      1 // GoToSocial
      2 // Copyright (C) GoToSocial Authors admin@gotosocial.org
      3 // SPDX-License-Identifier: AGPL-3.0-or-later
      4 //
      5 // This program is free software: you can redistribute it and/or modify
      6 // it under the terms of the GNU Affero General Public License as published by
      7 // the Free Software Foundation, either version 3 of the License, or
      8 // (at your option) any later version.
      9 //
     10 // This program is distributed in the hope that it will be useful,
     11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
     12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13 // GNU Affero General Public License for more details.
     14 //
     15 // You should have received a copy of the GNU Affero General Public License
     16 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 
     18 package ap_test
     19 
     20 import (
     21 	"testing"
     22 
     23 	"github.com/stretchr/testify/suite"
     24 	"github.com/superseriousbusiness/gotosocial/internal/ap"
     25 	"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
     26 )
     27 
     28 type ExtractVisibilityTestSuite struct {
     29 	ExtractTestSuite
     30 }
     31 
     32 func (suite *ExtractVisibilityTestSuite) TestExtractVisibilityPublic() {
     33 	a := suite.addressable1
     34 	visibility, err := ap.ExtractVisibility(a, "http://localhost:8080/users/the_mighty_zork/followers")
     35 	suite.NoError(err)
     36 	suite.Equal(visibility, gtsmodel.VisibilityPublic)
     37 }
     38 
     39 func (suite *ExtractVisibilityTestSuite) TestExtractVisibilityUnlocked() {
     40 	a := suite.addressable2
     41 	visibility, err := ap.ExtractVisibility(a, "http://localhost:8080/users/the_mighty_zork/followers")
     42 	suite.NoError(err)
     43 	suite.Equal(visibility, gtsmodel.VisibilityUnlocked)
     44 }
     45 
     46 func (suite *ExtractVisibilityTestSuite) TestExtractVisibilityFollowersOnly() {
     47 	a := suite.addressable3
     48 	visibility, err := ap.ExtractVisibility(a, "http://localhost:8080/users/the_mighty_zork/followers")
     49 	suite.NoError(err)
     50 	suite.Equal(visibility, gtsmodel.VisibilityFollowersOnly)
     51 }
     52 
     53 func (suite *ExtractVisibilityTestSuite) TestExtractVisibilityFollowersOnlyAnnounce() {
     54 	// https://github.com/superseriousbusiness/gotosocial/issues/267
     55 	a := suite.addressable4
     56 	visibility, err := ap.ExtractVisibility(a, "https://example.org/users/someone/followers")
     57 	suite.NoError(err)
     58 	suite.Equal(visibility, gtsmodel.VisibilityFollowersOnly)
     59 }
     60 
     61 func (suite *ExtractVisibilityTestSuite) TestExtractVisibilityDirect() {
     62 	a := suite.addressable5
     63 	visibility, err := ap.ExtractVisibility(a, "http://localhost:8080/users/the_mighty_zork/followers")
     64 	suite.NoError(err)
     65 	suite.Equal(visibility, gtsmodel.VisibilityDirect)
     66 }
     67 
     68 func TestExtractVisibilityTestSuite(t *testing.T) {
     69 	suite.Run(t, &ExtractVisibilityTestSuite{})
     70 }