ActivityPub Testing Results Template
Use this template to track your testing progress.
Test Environment
Date: ________________
Test Configuration:
- Solar Network URL:
http://solar.local:5000
- Mastodon URL:
http://mastodon.local:3001
- Database:
dyson_network
Solar Network User:
- Username:
_______________
- Publisher ID:
_______________
Mastodon User:
- Username:
testuser@mastodon.local
- Password:
TestPassword123!
Test Results
✅ Part 1: Infrastructure Setup
| Test |
Status |
Notes |
| Setup script ran successfully |
☐ ☑ |
|
| /etc/hosts updated |
☐ ☑ |
|
| Docker containers started |
☐ ☑ |
|
| Mastodon web accessible |
☐ ☑ |
|
| Mastodon admin account created |
☐ ☑ |
|
| Database migrations applied |
☐ ☑ |
|
| Solar Network started |
☐ ☑ |
|
✅ Part 2: WebFinger & Actor Discovery
| Test |
Status |
Expected |
Actual |
| WebFinger for Solar Network user |
☐ ☑ |
Returns subject + links |
_______________ |
| Actor profile JSON is valid |
☐ ☑ |
Has id, type, inbox, outbox |
_______________ |
| Public key present in actor |
☐ ☑ |
publicKey.publicKeyPem exists |
_______________ |
| Outbox returns public posts |
☐ ☑ |
OrderedCollection with items |
_______________ |
| Outbox totalItems count |
☐ ☑ |
Matches public posts |
_______________ |
✅ Part 3: Follow Relationships
| Test |
Status |
Expected Result |
Actual Result |
| Mastodon follows Solar Network user |
☐ ☑ |
Relationship created in DB |
_______________ |
| Accept sent to Mastodon |
☐ ☑ |
Mastodon receives Accept |
_______________ |
| Solar Network follows Mastodon user |
☐ ☑ |
Relationship created |
_______________ |
| Follow appears in Mastodon UI |
☐ ☑ |
Mastodon shows "Following" |
_______________ |
| Follow appears in Solar Network DB |
☐ ☑ |
is_following = true |
_______________ |
| Follow state is Accepted |
☐ ☑ |
state = 1 (Accepted) |
_______________ |
| Unfollow works correctly |
☐ ☑ |
Relationship deleted/updated |
_______________ |
✅ Part 4: Content Federation (Create)
| Test |
Status |
Expected Result |
Actual Result |
| Post created in Solar Network |
☐ ☑ |
Post in sn_posts table |
_______________ |
| Activity sent to Mastodon |
☐ ☑ |
Logged as successful |
_______________ |
| Post appears in Mastodon timeline |
☐ ☑ |
Visible in federated timeline |
_______________ |
| Post content matches |
☐ ☑ |
Same text/HTML |
_______________ |
| Post author is correct |
☐ ☑ |
Shows Solar Network user |
_______________ |
| Post timestamp is correct |
☐ ☑ |
Same published time |
_______________ |
| Multiple posts federate |
☐ ☑ |
All posts appear |
_______________ |
✅ Part 5: Content Reception (Incoming Create)
| Test |
Status |
Expected Result |
Actual Result |
| Create activity received |
☐ ☑ |
Activity logged in DB |
_______________ |
| Content stored in fediverse_contents |
☐ ☑ |
Record with correct type |
_______________ |
| Content not duplicated |
☐ ☑ |
Only one entry per URI |
_______________ |
| Actor created/retrieved |
☐ ☑ |
Actor in fediverse_actors |
_______________ |
| Instance created/retrieved |
☐ ☑ |
Instance in fediverse_instances |
_______________ |
| Content HTML preserved |
☐ ☑ |
contentHtml field populated |
_______________ |
✅ Part 6: Reaction Federation (Like)
| Test |
Status |
Expected Result |
Actual Result |
| Like from Mastodon to Solar post |
☐ ☑ |
Like activity received |
_______________ |
| Reaction stored in fediverse_reactions |
☐ ☑ |
Record with type = 0 (Like) |
_______________ |
| Like count incremented |
☐ ☑ |
like_count increased |
_______________ |
| Like appears in UI |
☐ ☑ |
Visible on Solar Network |
_______________ |
| Like appears in Mastodon |
☐ ☑ |
Visible on Mastodon |
_______________ |
| Unlike works correctly |
☐ ☑ |
Like removed |
_______________ |
✅ Part 7: Reply Federation
| Test |
Status |
Expected Result |
Actual Result |
| Reply from Mastodon to Solar post |
☐ ☑ |
Create activity with inReplyTo |
_______________ |
| Reply stored with parent reference |
☐ ☑ |
in_reply_to field set |
_______________ |
| Reply appears in Solar Network |
☐ ☑ |
Visible as comment |
_______________ |
| Reply shows parent context |
☐ ☑ |
Links to original post |
_______________ |
✅ Part 8: Content Deletion
| Test |
Status |
Expected Result |
Actual Result |
| Delete from Mastodon |
☐ ☑ |
Delete activity received |
_______________ |
| Content soft-deleted |
☐ ☑ |
deleted_at timestamp set |
_______________ |
| Content no longer visible |
☐ ☑ |
Hidden from timelines |
_______________ |
✅ Part 9: HTTP Signature Verification
| Test |
Status |
Expected Result |
Actual Result |
| Valid signature accepted |
☐ ☑ |
Activity processed |
_______________ |
| Invalid signature rejected |
☐ ☑ |
401 Unauthorized |
_______________ |
| Missing signature rejected |
☐ ☑ |
401 Unauthorized |
_______________ |
| Signature format correct |
☐ ☑ |
keyId, algorithm, headers, signature |
_______________ |
| Signing string correct |
☐ ☑ |
Matches HTTP-Signatures draft |
_______________ |
✅ Part 10: Error Handling
| Test |
Status |
Expected Result |
Actual Result |
| Invalid activity type rejected |
☐ ☑ |
400 Bad Request |
_______________ |
| Malformed JSON rejected |
☐ ☑ |
400 Bad Request |
_______________ |
| Non-existent actor rejected |
☐ ☑ |
404 Not Found |
_______________ |
| Errors logged correctly |
☐ ☑ |
error_message populated |
_______________ |
| Activity status = Failed |
☐ ☑ |
status = 3 |
_______________ |
Database State After Tests
Actors Table
- Total Actors: _______________
- Local Actors: _______________
- Remote Actors: _______________
Contents Table
- Total Contents: _______________
- Avg Content Length: _______________
Activities Table
- Activities by Type/Status:
- Create: Pending ___, Completed ____, Failed ___
- Follow: Pending ___, Completed ____, Failed ___
- Like: Pending ___, Completed ____, Failed ___
- Accept: Pending ___, Completed ____, Failed ___
Relationships Table
- Pending: _______________
- Accepted: _______________
- Rejected: _______________
Logs Analysis
Solar Network Errors Found:
-
-
-
Mastodon Errors Found:
-
-
-
Warnings Found:
-
-
-
Issues & Bugs Found
| # |
Severity |
Description |
Status |
| 1 |
☐ Low/Medium/High/Critical |
_____________________ |
☐ Open/☐ Fixed |
| 2 |
☐ Low/Medium/High/Critical |
_____________________ |
☐ Open/☐ Fixed |
| 3 |
☐ Low/Medium/High/Critical |
_____________________ |
☐ Open/☐ Fixed |
| 4 |
☐ Low/Medium/High/Critical |
_____________________ |
☐ Open/☐ Fixed |
Performance Notes
| Metric |
Value |
Notes |
| Average activity processing time |
__________ ms |
|
| Average HTTP signature verification time |
__________ ms |
|
| Outgoing delivery success rate |
__________% |
|
| Average WebFinger response time |
__________ ms |
|
| Database query performance |
__________ |
|
Compatibility Notes
| Instance |
Version |
Works |
Notes |
| Mastodon (self-hosted) |
latest |
☐ ☑ |
|
| Mastodon.social |
~4.0 |
☐ ☑ |
|
| Pleroma |
~2.5 |
☐ ☑ |
|
| GoToSocial |
~0.15 |
☐ ☑ |
|
Recommendations
What Worked Well:
-
-
-
What Needs Improvement:
-
-
-
Features to Add:
-
-
-
Next Testing Phase
Sign-off
Tested By: _____________________
Test Date: _____________________
Overall Result: ☐ Pass / ☐ Fail
Ready for Production: ☐ Yes / ☐ No
Notes: ___________________________________________________________________________