[feature] Implement Report database model and utility functions (#1310)

* implement report database model

* implement report cache + config changes

* implement report database functions

* report uri / regex functions

* update envparsing test

* remove unnecessary uri index

* remove unused function + cache lookup

* process error when storing report
This commit is contained in:
tobi 2023-01-10 15:19:05 +01:00 committed by GitHub
commit d6487933c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 693 additions and 6 deletions

View file

@ -50,6 +50,48 @@ func (suite *StatusTestSuite) TestGetStatusByID() {
suite.True(*status.Likeable)
}
func (suite *StatusTestSuite) TestGetStatusesByID() {
ids := []string{
suite.testStatuses["local_account_1_status_1"].ID,
suite.testStatuses["local_account_2_status_3"].ID,
}
statuses, err := suite.db.GetStatuses(context.Background(), ids)
if err != nil {
suite.FailNow(err.Error())
}
if len(statuses) != 2 {
suite.FailNow("expected 2 statuses in slice")
}
status1 := statuses[0]
suite.NotNil(status1)
suite.NotNil(status1.Account)
suite.NotNil(status1.CreatedWithApplication)
suite.Nil(status1.BoostOf)
suite.Nil(status1.BoostOfAccount)
suite.Nil(status1.InReplyTo)
suite.Nil(status1.InReplyToAccount)
suite.True(*status1.Federated)
suite.True(*status1.Boostable)
suite.True(*status1.Replyable)
suite.True(*status1.Likeable)
status2 := statuses[1]
suite.NotNil(status2)
suite.NotNil(status2.Account)
suite.NotNil(status2.CreatedWithApplication)
suite.Nil(status2.BoostOf)
suite.Nil(status2.BoostOfAccount)
suite.Nil(status2.InReplyTo)
suite.Nil(status2.InReplyToAccount)
suite.True(*status2.Federated)
suite.True(*status2.Boostable)
suite.False(*status2.Replyable)
suite.False(*status2.Likeable)
}
func (suite *StatusTestSuite) TestGetStatusByURI() {
status, err := suite.db.GetStatusByURI(context.Background(), suite.testStatuses["local_account_2_status_3"].URI)
if err != nil {