summaryrefslogtreecommitdiff
path: root/internal/typeutils/astointernal_test.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-05-23 17:10:48 +0200
committerLibravatar GitHub <noreply@github.com>2022-05-23 16:10:48 +0100
commita09e1019317794b516585ea4ae7e88354241b444 (patch)
treefb2c785b98e235acaa2d41ea68b9bb9ca41f2f9d /internal/typeutils/astointernal_test.go
parent[security] Check all involved IRIs during block checking (#593) (diff)
downloadgotosocial-a09e1019317794b516585ea4ae7e88354241b444.tar.xz
[bugfix] If status URL is empty, use URI instead and don't log unnecessary error (#597)
* test parse status with no URL * if no status URL is available, use the URI instead
Diffstat (limited to 'internal/typeutils/astointernal_test.go')
-rw-r--r--internal/typeutils/astointernal_test.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/typeutils/astointernal_test.go b/internal/typeutils/astointernal_test.go
index 69a50aed8..d06178fb1 100644
--- a/internal/typeutils/astointernal_test.go
+++ b/internal/typeutils/astointernal_test.go
@@ -74,6 +74,27 @@ func (suite *ASToInternalTestSuite) TestParsePublicStatus() {
suite.Equal(`<p>&gt; So we have to examine critical thinking as a signifier, dynamic and ambiguous. It has a normative definition, a tacit definition, and an ideal definition. One of the hallmarks of graduate training is learning to comprehend those definitions and applying the correct one as needed for professional success.</p>`, status.Content)
}
+func (suite *ASToInternalTestSuite) TestParsePublicStatusNoURL() {
+ m := make(map[string]interface{})
+ err := json.Unmarshal([]byte(publicStatusActivityJsonNoURL), &m)
+ suite.NoError(err)
+
+ t, err := streams.ToType(context.Background(), m)
+ suite.NoError(err)
+
+ rep, ok := t.(ap.Statusable)
+ suite.True(ok)
+
+ status, err := suite.typeconverter.ASStatusToStatus(context.Background(), rep)
+ suite.NoError(err)
+
+ suite.Equal("reading: Punishment and Reward in the Corporate University", status.ContentWarning)
+ suite.Equal(`<p>&gt; So we have to examine critical thinking as a signifier, dynamic and ambiguous. It has a normative definition, a tacit definition, and an ideal definition. One of the hallmarks of graduate training is learning to comprehend those definitions and applying the correct one as needed for professional success.</p>`, status.Content)
+
+ // on statuses with no URL in them (like ones we get from pleroma sometimes) we should use the AP URI of the status as URL
+ suite.Equal("http://fossbros-anonymous.io/users/foss_satan/statuses/108138763199405167", status.URL)
+}
+
func (suite *ASToInternalTestSuite) TestParseGargron() {
m := make(map[string]interface{})
err := json.Unmarshal([]byte(gargronAsActivityJson), &m)