diff options
author | Gabe Kangas <gabek@real-ity.com> | 2022-01-05 10:29:15 -0800 |
---|---|---|
committer | Gabe Kangas <gabek@real-ity.com> | 2022-01-06 23:02:49 -0800 |
commit | d6113052607797f8682f2a3fc639fc81957df5cc (patch) | |
tree | e5127f76ecb5d4e225059519e9c456fe2d3dfbcc | |
parent | 31c10749e92866dfff8e18ea5c1eada0d9cbce80 (diff) |
Add blocked actor test
-rw-r--r-- | activitypub/inbox/worker_test.go | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/activitypub/inbox/worker_test.go b/activitypub/inbox/worker_test.go index 61d1186df..95ec2fdaa 100644 --- a/activitypub/inbox/worker_test.go +++ b/activitypub/inbox/worker_test.go @@ -8,6 +8,8 @@ import ( "github.com/go-fed/activity/streams" "github.com/go-fed/activity/streams/vocab" + "github.com/owncast/owncast/activitypub/apmodels" + "github.com/owncast/owncast/activitypub/persistence" "github.com/owncast/owncast/core/data" ) @@ -48,14 +50,14 @@ func makeFakePerson() vocab.ActivityStreamsPerson { } func TestMain(m *testing.M) { - dbFile, err := ioutil.TempFile(os.TempDir(), "owncast-test-db.db") + dbFile, err := ioutil.TempFile(os.TempDir(), ":memory:") if err != nil { panic(err) } data.SetupPersistence(dbFile.Name()) data.SetServerURL("https://my.cool.site.biz") - + persistence.Setup(data.GetDatastore()) m.Run() } @@ -76,3 +78,30 @@ func TestBlockedDomains(t *testing.T) { t.Error("Failed to catch blocked domain") } + +func TestBlockedActors(t *testing.T) { + person := makeFakePerson() + persistence.AddFollow(apmodels.ActivityPubActor{ + ActorIri: person.GetJSONLDId().GetIRI(), + Inbox: person.GetJSONLDId().GetIRI(), + FollowRequestIri: person.GetJSONLDId().GetIRI(), + }, false) + persistence.BlockOrRejectFollower(person.GetJSONLDId().GetIRI().String()) + + blocked, err := isBlockedActor(person.GetJSONLDId().GetIRI()) + if err != nil { + t.Error(err) + return + } + + if !blocked { + t.Error("Failed to block actor") + } + + failedBlockIRI, _ := url.Parse("https://freedom.eagle/user/mrbar") + failedBlock, err := isBlockedActor(failedBlockIRI) + + if failedBlock { + t.Error("Invalid blocking of unblocked actor IRI") + } +} |