2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/ *  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   GoToSocial 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   Copyright  ( C )  2021  GoToSocial  Authors  admin @ gotosocial . org 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   This  program  is  free  software :  you  can  redistribute  it  and / or  modify 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   it  under  the  terms  of  the  GNU  Affero  General  Public  License  as  published  by 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   the  Free  Software  Foundation ,  either  version  3  of  the  License ,  or 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   ( at  your  option )  any  later  version . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   This  program  is  distributed  in  the  hope  that  it  will  be  useful , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   but  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .   See  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   GNU  Affero  General  Public  License  for  more  details . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   You  should  have  received  a  copy  of  the  GNU  Affero  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   along  with  this  program .   If  not ,  see  < http : //www.gnu.org/licenses/>. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								* /  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								package  testrig  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  (  
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									"bytes" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"context" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"crypto" 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									"crypto/rand" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"crypto/rsa" 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									"crypto/x509" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"encoding/json" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"encoding/pem" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"io/ioutil" 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									"net" 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									"net/http" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"net/url" 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									"time" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									"github.com/go-fed/activity/pub" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"github.com/go-fed/activity/streams" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"github.com/go-fed/activity/streams/vocab" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									"github.com/superseriousbusiness/gotosocial/internal/gtsmodel" 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									"github.com/superseriousbusiness/gotosocial/internal/oauth" 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									"github.com/superseriousbusiness/gotosocial/internal/typeutils" 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								)  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestTokens returns a map of tokens keyed according to which account the token belongs to.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestTokens ( )  map [ string ] * oauth . Token  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									tokens  :=  map [ string ] * oauth . Token { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :               "64cf4214-33ab-4220-b5ca-4a6a12263b20" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ClientID :         "73b48d42-029d-4487-80fc-329a5cf67869" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UserID :           "44e36b79-44a4-4bd8-91e9-097f477fe97b" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RedirectURI :      "http://localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Scope :            "read write follow push" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Access :           "NZAZOTC0OWITMDU0NC0ZODG4LWE4NJITMWUXM2M4MTRHZDEX" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccessCreateAt :   time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccessExpiresAt :  time . Now ( ) . Add ( 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_2" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :               "b04cae99-39b5-4610-a425-dc6b91c78a72" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ClientID :         "a4f6a2ea-a32b-4600-8853-72fc4ad98a1f" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UserID :           "d120bd97-866f-4a05-9690-a1294b9934c3" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RedirectURI :      "http://localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Scope :            "read write follow push" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Access :           "PIPINALKNNNFNF98717NAMNAMNFKIJKJ881818KJKJAKJJJA" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccessCreateAt :   time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccessExpiresAt :  time . Now ( ) . Add ( 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  tokens 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestClients returns a map of Clients keyed according to which account they are used by.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestClients ( )  map [ string ] * oauth . Client  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									clients  :=  map [ string ] * oauth . Client { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"admin_account" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :      "1c5cefc8-f0c9-4307-8506-ca6e3888675e" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Secret :  "dda8e835-2c9c-4bd2-9b8b-77c2e26d7a7a" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Domain :  "http://localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UserID :  "0fb02eae-2214-473f-9667-0a43f22d75ff" ,  // admin_account 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :      "73b48d42-029d-4487-80fc-329a5cf67869" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Secret :  "c3724c74-dc3b-41b2-a108-0ea3d8399830" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Domain :  "http://localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UserID :  "44e36b79-44a4-4bd8-91e9-097f477fe97b" ,  // local_account_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_2" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :      "a4f6a2ea-a32b-4600-8853-72fc4ad98a1f" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Secret :  "8f5603a5-c721-46cd-8f1b-2e368f51379f" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Domain :  "http://localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UserID :  "d120bd97-866f-4a05-9690-a1294b9934c3" ,  // local_account_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  clients 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestApplications returns a map of applications keyed to which number application they are.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestApplications ( )  map [ string ] * gtsmodel . Application  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									apps  :=  map [ string ] * gtsmodel . Application { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"admin_account" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :            "9bf9e368-037f-444d-8ffd-1091d1c21c4c" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Name :          "superseriousbusiness" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Website :       "https://superserious.business" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RedirectURI :   "http://localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ClientID :      "1c5cefc8-f0c9-4307-8506-ca6e3888675e" ,  // admin client 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ClientSecret :  "dda8e835-2c9c-4bd2-9b8b-77c2e26d7a7a" ,  // admin client 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Scopes :        "read write follow push" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VapidKey :      "76ae0095-8a10-438f-9f49-522d1985b190" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"application_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :            "f88697b8-ee3d-46c2-ac3f-dbb85566c3cc" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Name :          "really cool gts application" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Website :       "https://reallycool.app" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RedirectURI :   "http://localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ClientID :      "73b48d42-029d-4487-80fc-329a5cf67869" ,  // client_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ClientSecret :  "c3724c74-dc3b-41b2-a108-0ea3d8399830" ,  // client_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Scopes :        "read write follow push" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VapidKey :      "4738dfd7-ca73-4aa6-9aa9-80e946b7db36" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"application_2" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :            "6b0cd164-8497-4cd5-bec9-957886fac5df" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Name :          "kindaweird" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Website :       "https://kindaweird.app" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RedirectURI :   "http://localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ClientID :      "a4f6a2ea-a32b-4600-8853-72fc4ad98a1f" ,  // client_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ClientSecret :  "8f5603a5-c721-46cd-8f1b-2e368f51379f" ,  // client_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Scopes :        "read write follow push" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VapidKey :      "c040a5fc-e1e2-4859-bbea-0a3efbca1c4b" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  apps 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestUsers returns a map of Users keyed by which account belongs to them.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestUsers ( )  map [ string ] * gtsmodel . User  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									users  :=  map [ string ] * gtsmodel . User { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"unconfirmed_account" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                      "0f7b1d24-1e49-4ee0-bc7e-fd87b7289eea" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Email :                   "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :               "59e197f5-87cd-4be8-ac7c-09082ccc4b4d" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											EncryptedPassword :       "$2y$10$ggWz5QWwnx6kzb9g0tnIJurFtE0dhr5Zfeaqs9iFuUIXzafQlJVZS" ,  // 'password' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :               time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignUpIP :                net . ParseIP ( "199.222.111.89" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :               time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CurrentSignInAt :         time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CurrentSignInIP :         nil , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastSignInAt :            time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastSignInIP :            nil , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignInCount :             0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InviteID :                "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ChosenLanguages :         [ ] string { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FilteredLanguages :       [ ] string { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locale :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedByApplicationID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastEmailedAt :           time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmationToken :       "a5a280bd-34be-44a3-8330-a57eaf61b8dd" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmedAt :             time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmationSentAt :      time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UnconfirmedEmail :        "weed_lord420@example.org" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Moderator :               false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Admin :                   false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Disabled :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Approved :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ResetPasswordToken :      "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ResetPasswordSentAt :     time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"admin_account" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                      "0fb02eae-2214-473f-9667-0a43f22d75ff" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Email :                   "admin@example.org" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :               "8020dbb4-1e7b-4d99-a872-4cf94e64210f" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											EncryptedPassword :       "$2y$10$ggWz5QWwnx6kzb9g0tnIJurFtE0dhr5Zfeaqs9iFuUIXzafQlJVZS" ,  // 'password' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :               time . Now ( ) . Add ( - 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignUpIP :                net . ParseIP ( "89.22.189.19" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :               time . Now ( ) . Add ( - 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CurrentSignInAt :         time . Now ( ) . Add ( - 10  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CurrentSignInIP :         net . ParseIP ( "89.122.255.1" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastSignInAt :            time . Now ( ) . Add ( - 2  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastSignInIP :            net . ParseIP ( "89.122.255.1" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignInCount :             78 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InviteID :                "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ChosenLanguages :         [ ] string { "en" } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FilteredLanguages :       [ ] string { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locale :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedByApplicationID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastEmailedAt :           time . Now ( ) . Add ( - 30  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmationToken :       "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmedAt :             time . Now ( ) . Add ( - 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmationSentAt :      time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UnconfirmedEmail :        "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Moderator :               true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Admin :                   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Disabled :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Approved :                true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ResetPasswordToken :      "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ResetPasswordSentAt :     time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                      "44e36b79-44a4-4bd8-91e9-097f477fe97b" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Email :                   "zork@example.org" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :               "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											EncryptedPassword :       "$2y$10$ggWz5QWwnx6kzb9g0tnIJurFtE0dhr5Zfeaqs9iFuUIXzafQlJVZS" ,  // 'password' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :               time . Now ( ) . Add ( - 36  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignUpIP :                net . ParseIP ( "59.99.19.172" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :               time . Now ( ) . Add ( - 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CurrentSignInAt :         time . Now ( ) . Add ( - 30  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CurrentSignInIP :         net . ParseIP ( "88.234.118.16" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastSignInAt :            time . Now ( ) . Add ( - 2  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastSignInIP :            net . ParseIP ( "147.111.231.154" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignInCount :             9 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InviteID :                "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ChosenLanguages :         [ ] string { "en" } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FilteredLanguages :       [ ] string { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locale :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedByApplicationID :  "f88697b8-ee3d-46c2-ac3f-dbb85566c3cc" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastEmailedAt :           time . Now ( ) . Add ( - 55  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmationToken :       "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmedAt :             time . Now ( ) . Add ( - 34  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmationSentAt :      time . Now ( ) . Add ( - 36  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UnconfirmedEmail :        "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Moderator :               false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Admin :                   false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Disabled :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Approved :                true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ResetPasswordToken :      "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ResetPasswordSentAt :     time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_2" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                      "f8d6272e-2d71-4d0c-97d3-2ba7a0b75bf7" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Email :                   "tortle.dude@example.org" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :               "eecaad73-5703-426d-9312-276641daa31e" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											EncryptedPassword :       "$2y$10$ggWz5QWwnx6kzb9g0tnIJurFtE0dhr5Zfeaqs9iFuUIXzafQlJVZS" ,  // 'password' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :               time . Now ( ) . Add ( - 36  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignUpIP :                net . ParseIP ( "59.99.19.172" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :               time . Now ( ) . Add ( - 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CurrentSignInAt :         time . Now ( ) . Add ( - 30  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CurrentSignInIP :         net . ParseIP ( "118.44.18.196" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastSignInAt :            time . Now ( ) . Add ( - 2  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastSignInIP :            net . ParseIP ( "198.98.21.15" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignInCount :             9 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InviteID :                "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ChosenLanguages :         [ ] string { "en" } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FilteredLanguages :       [ ] string { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locale :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedByApplicationID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastEmailedAt :           time . Now ( ) . Add ( - 55  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmationToken :       "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmedAt :             time . Now ( ) . Add ( - 34  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ConfirmationSentAt :      time . Now ( ) . Add ( - 36  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UnconfirmedEmail :        "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Moderator :               false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Admin :                   false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Disabled :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Approved :                true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ResetPasswordToken :      "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ResetPasswordSentAt :     time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  users 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestAccounts returns a map of accounts keyed by what type of account they are.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestAccounts ( )  map [ string ] * gtsmodel . Account  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									accounts  :=  map [ string ] * gtsmodel . Account { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"instance_account" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :        "39b745a3-774d-4b65-8bb2-b63d9e20a343" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Username :  "localhost:8080" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"unconfirmed_account" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                       "59e197f5-87cd-4be8-ac7c-09082ccc4b4d" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Username :                 "weed_lord420" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AvatarMediaAttachmentID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HeaderMediaAttachmentID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DisplayName :              "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Fields :                   [ ] gtsmodel . Field { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Note :                     "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Memorial :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											MovedToAccountID :         "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Bot :                      false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Reason :                   "hi, please let me in! I'm looking for somewhere neato bombeato to hang out." , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locked :                   false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Discoverable :             false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Privacy :                  gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                 "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                      "http://localhost:8080/users/weed_lord420" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                      "http://localhost:8080/@weed_lord420" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastWebfingeredAt :        time . Time { } , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											InboxURI :                 "http://localhost:8080/users/weed_lord420/inbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											OutboxURI :                "http://localhost:8080/users/weed_lord420/outbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowersURI :             "http://localhost:8080/users/weed_lord420/followers" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowingURI :             "http://localhost:8080/users/weed_lord420/following" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FeaturedCollectionURI :    "http://localhost:8080/users/weed_lord420/collections/featured" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											ActorType :                gtsmodel . ActivityStreamsPerson , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AlsoKnownAs :              "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PrivateKey :               & rsa . PrivateKey { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PublicKey :                & rsa . PublicKey { } , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											PublicKeyURI :             "http://localhost:8080/users/weed_lord420#main-key" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											SensitizedAt :             time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SilencedAt :               time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspendedAt :              time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HideCollections :          false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspensionOrigin :         "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"admin_account" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                       "8020dbb4-1e7b-4d99-a872-4cf94e64210f" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Username :                 "admin" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AvatarMediaAttachmentID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HeaderMediaAttachmentID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DisplayName :              "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Fields :                   [ ] gtsmodel . Field { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Note :                     "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Memorial :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											MovedToAccountID :         "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                time . Now ( ) . Add ( - 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                time . Now ( ) . Add ( - 72  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Bot :                      false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Reason :                   "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locked :                   false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Discoverable :             true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Privacy :                  gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                 "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                      "http://localhost:8080/users/admin" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                      "http://localhost:8080/@admin" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											PublicKeyURI :             "http://localhost:8080/users/admin#main-key" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											LastWebfingeredAt :        time . Time { } , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											InboxURI :                 "http://localhost:8080/users/admin/inbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											OutboxURI :                "http://localhost:8080/users/admin/outbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowersURI :             "http://localhost:8080/users/admin/followers" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowingURI :             "http://localhost:8080/users/admin/following" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FeaturedCollectionURI :    "http://localhost:8080/users/admin/collections/featured" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											ActorType :                gtsmodel . ActivityStreamsPerson , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AlsoKnownAs :              "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PrivateKey :               & rsa . PrivateKey { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PublicKey :                & rsa . PublicKey { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SensitizedAt :             time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SilencedAt :               time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspendedAt :              time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HideCollections :          false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspensionOrigin :         "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                       "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Username :                 "the_mighty_zork" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AvatarMediaAttachmentID :  "a849906f-8b8e-4b43-ac2f-6979ccbcd442" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HeaderMediaAttachmentID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DisplayName :              "original zork (he/they)" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Fields :                   [ ] gtsmodel . Field { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Note :                     "hey yo this is my profile!" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Memorial :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											MovedToAccountID :         "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                time . Now ( ) . Add ( - 48  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                time . Now ( ) . Add ( - 48  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Bot :                      false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Reason :                   "I wanna be on this damned webbed site so bad! Please! Wow" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locked :                   false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Discoverable :             true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Privacy :                  gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                 "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                      "http://localhost:8080/users/the_mighty_zork" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                      "http://localhost:8080/@the_mighty_zork" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastWebfingeredAt :        time . Time { } , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											InboxURI :                 "http://localhost:8080/users/the_mighty_zork/inbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											OutboxURI :                "http://localhost:8080/users/the_mighty_zork/outbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowersURI :             "http://localhost:8080/users/the_mighty_zork/followers" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowingURI :             "http://localhost:8080/users/the_mighty_zork/following" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FeaturedCollectionURI :    "http://localhost:8080/users/the_mighty_zork/collections/featured" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											ActorType :                gtsmodel . ActivityStreamsPerson , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AlsoKnownAs :              "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PrivateKey :               & rsa . PrivateKey { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PublicKey :                & rsa . PublicKey { } , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											PublicKeyURI :             "http://localhost:8080/users/the_mighty_zork#main-key" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											SensitizedAt :             time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SilencedAt :               time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspendedAt :              time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HideCollections :          false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspensionOrigin :         "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_2" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                       "eecaad73-5703-426d-9312-276641daa31e" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Username :                 "1happyturtle" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AvatarMediaAttachmentID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HeaderMediaAttachmentID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DisplayName :              "happy little turtle :3" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Fields :                   [ ] gtsmodel . Field { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Note :                     "i post about things that concern me" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Memorial :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											MovedToAccountID :         "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                time . Now ( ) . Add ( - 190  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                time . Now ( ) . Add ( - 36  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Bot :                      false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Reason :                   "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locked :                   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Discoverable :             false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Privacy :                  gtsmodel . VisibilityFollowersOnly , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                 "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                      "http://localhost:8080/users/1happyturtle" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                      "http://localhost:8080/@1happyturtle" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastWebfingeredAt :        time . Time { } , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											InboxURI :                 "http://localhost:8080/users/1happyturtle/inbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											OutboxURI :                "http://localhost:8080/users/1happyturtle/outbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowersURI :             "http://localhost:8080/users/1happyturtle/followers" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowingURI :             "http://localhost:8080/users/1happyturtle/following" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FeaturedCollectionURI :    "http://localhost:8080/users/1happyturtle/collections/featured" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											ActorType :                gtsmodel . ActivityStreamsPerson , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AlsoKnownAs :              "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PrivateKey :               & rsa . PrivateKey { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PublicKey :                & rsa . PublicKey { } , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											PublicKeyURI :             "http://localhost:8080/users/1happyturtle#main-key" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											SensitizedAt :             time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SilencedAt :               time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspendedAt :              time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HideCollections :          false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspensionOrigin :         "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"remote_account_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :        "c2c6e647-e2a9-4286-883b-e4a188186664" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Username :  "foss_satan" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Domain :    "fossbros-anonymous.io" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// AvatarFileName:        "http://localhost:8080/fileserver/media/eecaad73-5703-426d-9312-276641daa31e/avatar/original/d5e7c265-91a6-4d84-8c27-7e1efe5720da.jpeg", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// AvatarContentType:     "image/jpeg", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// AvatarFileSize:        0, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// AvatarUpdatedAt:       time.Time{}, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// AvatarRemoteURL:       "", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// HeaderFileName:        "http://localhost:8080/fileserver/media/eecaad73-5703-426d-9312-276641daa31e/header/original/e75d4117-21b6-4315-a428-eb3944235996.jpeg", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// HeaderContentType:     "image/jpeg", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// HeaderFileSize:        0, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// HeaderUpdatedAt:       time.Time{}, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// HeaderRemoteURL:       "", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DisplayName :            "big gerald" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Fields :                 [ ] gtsmodel . Field { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Note :                   "i post about like, i dunno, stuff, or whatever!!!!" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Memorial :               false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											MovedToAccountID :       "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :              time . Now ( ) . Add ( - 190  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :              time . Now ( ) . Add ( - 36  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Bot :                    false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Locked :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Discoverable :           true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :              false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :               "en" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											URI :                    "http://fossbros-anonymous.io/users/foss_satan" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                    "http://fossbros-anonymous.io/@foss_satan" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											LastWebfingeredAt :      time . Time { } , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											InboxURI :               "http://fossbros-anonymous.io/users/foss_satan/inbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											OutboxURI :              "http://fossbros-anonymous.io/users/foss_satan/outbox" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowersURI :           "http://fossbros-anonymous.io/users/foss_satan/followers" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FollowingURI :           "http://fossbros-anonymous.io/users/foss_satan/following" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FeaturedCollectionURI :  "http://fossbros-anonymous.io/users/foss_satan/collections/featured" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											ActorType :              gtsmodel . ActivityStreamsPerson , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AlsoKnownAs :            "" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											PrivateKey :             nil , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PublicKey :              & rsa . PublicKey { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											PublicKeyURI :           "http://fossbros-anonymous.io/users/foss_satan#main-key" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											SensitizedAt :           time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SilencedAt :             time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspendedAt :            time . Time { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											HideCollections :        false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SuspensionOrigin :       "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// "remote_account_2": { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// 	ID:       "93287988-76c4-460f-9e68-a45b578bb6b2", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// 	Username: "dailycatpics", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// 	Domain:   "uwu.social", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// "suspended_local_account": { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// 	ID:       "e8a5cf4e-4b10-45a4-ad82-b6e37a09100d", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// 	Username: "jeffbadman", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// "suspended_remote_account": { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// 	ID:       "17e6e09e-855d-4bf8-a1c3-7e780269f215", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// 	Username: "ipfreely", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// 	Domain:   "a-very-bad-website.com", 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// generate keys for each account 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  _ ,  v  :=  range  accounts  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										priv ,  err  :=  rsa . GenerateKey ( rand . Reader ,  2048 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										pub  :=  & priv . PublicKey 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										// normally only local accounts get a private key (obviously) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// but for testing purposes and signing requests, we'll give 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// remote accounts a private key as well 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										v . PrivateKey  =  priv 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										v . PublicKey  =  pub 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  accounts 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestAttachments returns a map of attachments keyed according to which account  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// and status they belong to, and which attachment number of that status they are.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestAttachments ( )  map [ string ] * gtsmodel . MediaAttachment  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  map [ string ] * gtsmodel . MediaAttachment { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"admin_account_status_1_attachment_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :         "b052241b-f30f-4dc6-92fc-2bad0be1f8d8" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											StatusID :   "502ccd6f-0edf-48d7-9016-2dfa4d3714cd" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :        "http://localhost:8080/fileserver/8020dbb4-1e7b-4d99-a872-4cf94e64210f/attachment/original/b052241b-f30f-4dc6-92fc-2bad0be1f8d8.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RemoteURL :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :  time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :  time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Type :       gtsmodel . FileTypeImage , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FileMeta :  gtsmodel . FileMeta { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Original :  gtsmodel . Original { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Width :   1200 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Height :  630 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Size :    756000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Aspect :  1.9047619047619047 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Small :  gtsmodel . Small { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Width :   256 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Height :  134 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Size :    34304 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Aspect :  1.9104477611940298 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :          "8020dbb4-1e7b-4d99-a872-4cf94e64210f" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Description :        "Black and white image of some 50's style text saying: Welcome On Board" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ScheduledStatusID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Blurhash :           "LNJRdVM{00Rj%Mayt7j[4nWBofRj" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Processing :         2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											File :  gtsmodel . File { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Path :         "/gotosocial/storage/8020dbb4-1e7b-4d99-a872-4cf94e64210f/attachment/original/b052241b-f30f-4dc6-92fc-2bad0be1f8d8.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ContentType :  "image/jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FileSize :     62529 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												UpdatedAt :    time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Thumbnail :  gtsmodel . Thumbnail { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Path :         "/gotosocial/storage/8020dbb4-1e7b-4d99-a872-4cf94e64210f/attachment/small/b052241b-f30f-4dc6-92fc-2bad0be1f8d8.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ContentType :  "image/jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FileSize :     6872 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												UpdatedAt :    time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												URL :          "http://localhost:8080/fileserver/8020dbb4-1e7b-4d99-a872-4cf94e64210f/attachment/small/b052241b-f30f-4dc6-92fc-2bad0be1f8d8.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												RemoteURL :    "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Avatar :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Header :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_status_4_attachment_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :         "510f6033-798b-4390-81b1-c38ca2205ad3" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											StatusID :   "18524c05-97dc-46d7-b474-c811bd9e1e32" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :        "http://localhost:8080/fileserver/580072df-4d03-4684-a412-89fd6f7d77e6/attachment/original/510f6033-798b-4390-81b1-c38ca2205ad3.gif" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RemoteURL :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :  time . Now ( ) . Add ( - 1  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :  time . Now ( ) . Add ( - 1  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Type :       gtsmodel . FileTypeGif , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FileMeta :  gtsmodel . FileMeta { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Original :  gtsmodel . Original { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Width :   400 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Height :  280 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Size :    756000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Aspect :  1.4285714285714286 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Small :  gtsmodel . Small { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Width :   256 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Height :  179 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Size :    45824 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Aspect :  1.4301675977653632 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Focus :  gtsmodel . Focus { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													X :  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Y :  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :          "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Description :        "90's Trent Reznor turning to the camera" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ScheduledStatusID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Blurhash :           "LEDara58O=t5EMSOENEN9]}?aK%0" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Processing :         2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											File :  gtsmodel . File { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Path :         "/gotosocial/storage/580072df-4d03-4684-a412-89fd6f7d77e6/attachment/original/510f6033-798b-4390-81b1-c38ca2205ad3.gif" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ContentType :  "image/gif" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FileSize :     1109138 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												UpdatedAt :    time . Now ( ) . Add ( - 1  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Thumbnail :  gtsmodel . Thumbnail { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Path :         "/gotosocial/storage/580072df-4d03-4684-a412-89fd6f7d77e6/attachment/small/510f6033-798b-4390-81b1-c38ca2205ad3.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ContentType :  "image/jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FileSize :     8803 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												UpdatedAt :    time . Now ( ) . Add ( - 1  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												URL :          "http://localhost:8080/fileserver/580072df-4d03-4684-a412-89fd6f7d77e6/attachment/small/510f6033-798b-4390-81b1-c38ca2205ad3.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												RemoteURL :    "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Avatar :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Header :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_unattached_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :         "7a3b9f77-ab30-461e-bdd8-e64bd1db3008" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											StatusID :   "" ,  // this attachment isn't connected to a status YET 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :        "http://localhost:8080/fileserver/580072df-4d03-4684-a412-89fd6f7d77e6/attachment/original/7a3b9f77-ab30-461e-bdd8-e64bd1db3008.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RemoteURL :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :  time . Now ( ) . Add ( 30  *  time . Second ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :  time . Now ( ) . Add ( 30  *  time . Second ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Type :       gtsmodel . FileTypeGif , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FileMeta :  gtsmodel . FileMeta { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Original :  gtsmodel . Original { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Width :   800 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Height :  450 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Size :    360000 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Aspect :  1.7777777777777777 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Small :  gtsmodel . Small { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Width :   256 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Height :  144 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Size :    36864 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Aspect :  1.7777777777777777 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Focus :  gtsmodel . Focus { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													X :  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Y :  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :          "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Description :        "the oh you meme" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ScheduledStatusID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Blurhash :           "LSAd]9ogDge-R:M|j=xWIto0xXWX" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Processing :         2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											File :  gtsmodel . File { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Path :         "/gotosocial/storage/580072df-4d03-4684-a412-89fd6f7d77e6/attachment/original/7a3b9f77-ab30-461e-bdd8-e64bd1db3008.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ContentType :  "image/jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FileSize :     27759 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												UpdatedAt :    time . Now ( ) . Add ( 30  *  time . Second ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Thumbnail :  gtsmodel . Thumbnail { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Path :         "/gotosocial/storage/580072df-4d03-4684-a412-89fd6f7d77e6/attachment/small/7a3b9f77-ab30-461e-bdd8-e64bd1db3008.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ContentType :  "image/jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FileSize :     6177 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												UpdatedAt :    time . Now ( ) . Add ( 30  *  time . Second ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												URL :          "http://localhost:8080/fileserver/580072df-4d03-4684-a412-89fd6f7d77e6/attachment/small/7a3b9f77-ab30-461e-bdd8-e64bd1db3008.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												RemoteURL :    "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Avatar :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Header :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_avatar" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :         "a849906f-8b8e-4b43-ac2f-6979ccbcd442" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											StatusID :   "" ,  // this attachment isn't connected to a status 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :        "http://localhost:8080/fileserver/580072df-4d03-4684-a412-89fd6f7d77e6/avatar/original/a849906f-8b8e-4b43-ac2f-6979ccbcd442.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											RemoteURL :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :  time . Now ( ) . Add ( 47  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :  time . Now ( ) . Add ( 47  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Type :       gtsmodel . FileTypeImage , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FileMeta :  gtsmodel . FileMeta { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Original :  gtsmodel . Original { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Width :   1092 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Height :  1800 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Size :    1965600 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Aspect :  0.6066666666666667 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Small :  gtsmodel . Small { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Width :   155 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Height :  256 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Size :    39680 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Aspect :  0.60546875 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Focus :  gtsmodel . Focus { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													X :  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													Y :  0 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :          "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Description :        "a green goblin looking nasty" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ScheduledStatusID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Blurhash :           "LKK9MT,p|YSNDkJ-5rsmvnwcOoe:" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Processing :         2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											File :  gtsmodel . File { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Path :         "/gotosocial/storage/580072df-4d03-4684-a412-89fd6f7d77e6/avatar/original/a849906f-8b8e-4b43-ac2f-6979ccbcd442.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ContentType :  "image/jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FileSize :     457680 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												UpdatedAt :    time . Now ( ) . Add ( 47  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Thumbnail :  gtsmodel . Thumbnail { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Path :         "/gotosocial/storage/580072df-4d03-4684-a412-89fd6f7d77e6/avatar/small/a849906f-8b8e-4b43-ac2f-6979ccbcd442.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												ContentType :  "image/jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												FileSize :     15374 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												UpdatedAt :    time . Now ( ) . Add ( 47  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												URL :          "http://localhost:8080/fileserver/580072df-4d03-4684-a412-89fd6f7d77e6/avatar/small/a849906f-8b8e-4b43-ac2f-6979ccbcd442.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												RemoteURL :    "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Avatar :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Header :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestEmojis returns a map of gts emojis, keyed by the emoji shortcode  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestEmojis ( )  map [ string ] * gtsmodel . Emoji  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  map [ string ] * gtsmodel . Emoji { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"rainbow" :  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											ID :                      "a96ec4f3-1cae-47e4-a508-f9d66a6b221b" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Shortcode :               "rainbow" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Domain :                  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :               time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :               time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageRemoteURL :          "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageStaticRemoteURL :    "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageURL :                "http://localhost:8080/fileserver/39b745a3-774d-4b65-8bb2-b63d9e20a343/emoji/original/a96ec4f3-1cae-47e4-a508-f9d66a6b221b.png" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImagePath :               "/tmp/gotosocial/39b745a3-774d-4b65-8bb2-b63d9e20a343/emoji/original/a96ec4f3-1cae-47e4-a508-f9d66a6b221b.png" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageStaticURL :          "http://localhost:8080/fileserver/39b745a3-774d-4b65-8bb2-b63d9e20a343/emoji/static/a96ec4f3-1cae-47e4-a508-f9d66a6b221b.png" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageStaticPath :         "/tmp/gotosocial/39b745a3-774d-4b65-8bb2-b63d9e20a343/emoji/static/a96ec4f3-1cae-47e4-a508-f9d66a6b221b.png" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageContentType :        "image/png" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageStaticContentType :  "image/png" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageFileSize :           36702 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageStaticFileSize :     10413 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ImageUpdatedAt :          time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Disabled :                false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                     "http://localhost:8080/emoji/a96ec4f3-1cae-47e4-a508-f9d66a6b221b" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibleInPicker :         true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CategoryID :              "" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type  filenames  struct  {  
						 
					
						
							
								
									
										
										
										
											2021-04-20 18:14:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Original  string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Small     string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Static    string 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-04-20 18:14:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// newTestStoredAttachments returns a map of filenames, keyed according to which attachment they pertain to.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  newTestStoredAttachments ( )  map [ string ] filenames  {  
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									return  map [ string ] filenames { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"admin_account_status_1_attachment_1" :  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-20 18:14:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Original :  "welcome-original.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Small :     "welcome-small.jpeg" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_status_4_attachment_1" :  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-20 18:14:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Original :  "trent-original.gif" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Small :     "trent-small.jpeg" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_unattached_1" :  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-20 18:14:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Original :  "ohyou-original.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Small :     "ohyou-small.jpeg" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_avatar" :  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-20 18:14:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Original :  "zork-original.jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Small :     "zork-small.jpeg" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-04-20 18:14:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// newTestStoredEmoji returns a map of filenames, keyed according to which emoji they pertain to  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  newTestStoredEmoji ( )  map [ string ] filenames  {  
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									return  map [ string ] filenames { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"rainbow" :  { 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-20 18:14:23 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Original :  "rainbow-original.png" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Static :    "rainbow-static.png" , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestStatuses returns a map of statuses keyed according to which account  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// and status they are.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestStatuses ( )  map [ string ] * gtsmodel . Status  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  map [ string ] * gtsmodel . Status { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"admin_account_status_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "502ccd6f-0edf-48d7-9016-2dfa4d3714cd" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/admin/statuses/502ccd6f-0edf-48d7-9016-2dfa4d3714cd" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@admin/statuses/502ccd6f-0edf-48d7-9016-2dfa4d3714cd" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "hello world! #welcome ! first post on the instance :rainbow: !" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Attachments :               [ ] string { "b052241b-f30f-4dc6-92fc-2bad0be1f8d8" } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Tags :                      [ ] string { "a7e8f5ca-88a1-4652-8079-a187eab8d56e" } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Mentions :                  [ ] string { } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Emojis :                    [ ] string { "a96ec4f3-1cae-47e4-a508-f9d66a6b221b" } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "8020dbb4-1e7b-4d99-a872-4cf94e64210f" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "9bf9e368-037f-444d-8ffd-1091d1c21c4c" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"admin_account_status_2" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "0fb3f1ac-5cd8-48ac-9050-3d95dc7e44e9" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/admin/statuses/0fb3f1ac-5cd8-48ac-9050-3d95dc7e44e9" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@admin/statuses/0fb3f1ac-5cd8-48ac-9050-3d95dc7e44e9" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "🐕🐕🐕🐕🐕" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 70  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 70  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "8020dbb4-1e7b-4d99-a872-4cf94e64210f" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "open to see some puppies" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "9bf9e368-037f-444d-8ffd-1091d1c21c4c" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_status_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "91b1e795-74ff-4672-a4c4-476616710e2d" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/the_mighty_zork/statuses/91b1e795-74ff-4672-a4c4-476616710e2d" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@the_mighty_zork/statuses/91b1e795-74ff-4672-a4c4-476616710e2d" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "hello everyone!" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 47  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 47  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "introduction post" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "f88697b8-ee3d-46c2-ac3f-dbb85566c3cc" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_status_2" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "3dd328d9-8bb1-48f5-bc96-5ccc1c696b4c" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/the_mighty_zork/statuses/3dd328d9-8bb1-48f5-bc96-5ccc1c696b4c" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@the_mighty_zork/statuses/3dd328d9-8bb1-48f5-bc96-5ccc1c696b4c" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "this is an unlocked local-only post that shouldn't federate, but it's still boostable, replyable, and likeable" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 46  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 46  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityUnlocked , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "f88697b8-ee3d-46c2-ac3f-dbb85566c3cc" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_status_3" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "5e41963f-8ab9-4147-9f00-52d56e19da65" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/the_mighty_zork/statuses/5e41963f-8ab9-4147-9f00-52d56e19da65" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@the_mighty_zork/statuses/5e41963f-8ab9-4147-9f00-52d56e19da65" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "this is a very personal post that I don't want anyone to interact with at all, and i only want mutuals to see it" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 45  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 45  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "test: you shouldn't be able to interact with this post in any way" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityMutualsOnly , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "f88697b8-ee3d-46c2-ac3f-dbb85566c3cc" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_status_4" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "18524c05-97dc-46d7-b474-c811bd9e1e32" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/the_mighty_zork/statuses/18524c05-97dc-46d7-b474-c811bd9e1e32" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@the_mighty_zork/statuses/18524c05-97dc-46d7-b474-c811bd9e1e32" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "here's a little gif of trent" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Attachments :               [ ] string { "510f6033-798b-4390-81b1-c38ca2205ad3" } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 1  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 1  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "580072df-4d03-4684-a412-89fd6f7d77e6" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "eye contact, trent reznor gif" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityMutualsOnly , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "f88697b8-ee3d-46c2-ac3f-dbb85566c3cc" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_2_status_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "8945ccf2-3873-45e9-aa13-fd7163f19775" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/1happyturtle/statuses/8945ccf2-3873-45e9-aa13-fd7163f19775" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@1happyturtle/statuses/8945ccf2-3873-45e9-aa13-fd7163f19775" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "🐢 hi everyone i post about turtles 🐢" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 189  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 189  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "eecaad73-5703-426d-9312-276641daa31e" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "introduction post" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "6b0cd164-8497-4cd5-bec9-957886fac5df" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_2_status_2" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "c7e25a86-f0d3-4705-a73c-c597f687d3dd" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/1happyturtle/statuses/c7e25a86-f0d3-4705-a73c-c597f687d3dd" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@1happyturtle/statuses/c7e25a86-f0d3-4705-a73c-c597f687d3dd" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "🐢 this one is federated, likeable, and boostable but not replyable 🐢" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 1  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 1  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "eecaad73-5703-426d-9312-276641daa31e" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "6b0cd164-8497-4cd5-bec9-957886fac5df" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_2_status_3" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "75960e30-7a8e-4f45-87fa-440a4d1c9572" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/1happyturtle/statuses/75960e30-7a8e-4f45-87fa-440a4d1c9572" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@1happyturtle/statuses/75960e30-7a8e-4f45-87fa-440a4d1c9572" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "🐢 i don't mind people sharing this one but I don't want likes or replies to it because cba🐢" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 2  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 2  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "eecaad73-5703-426d-9312-276641daa31e" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "you won't be able to like or reply to this" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityUnlocked , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "6b0cd164-8497-4cd5-bec9-957886fac5df" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 15:16:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										"local_account_2_status_4" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                        "57e41a35-20da-4bc9-9cfd-db2089f924db" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URI :                       "http://localhost:8080/users/1happyturtle/statuses/57e41a35-20da-4bc9-9cfd-db2089f924db" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URL :                       "http://localhost:8080/@1happyturtle/statuses/57e41a35-20da-4bc9-9cfd-db2089f924db" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Content :                   "🐢 this is a public status but I want it local only and not boostable 🐢" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :                 time . Now ( ) . Add ( - 1  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :                 time . Now ( ) . Add ( - 1  *  time . Minute ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Local :                     true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :                 "eecaad73-5703-426d-9312-276641daa31e" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											InReplyToID :               "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											BoostOfID :                 "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ContentWarning :            "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Visibility :                gtsmodel . VisibilityPublic , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Sensitive :                 true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Language :                  "en" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedWithApplicationID :  "6b0cd164-8497-4cd5-bec9-957886fac5df" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											VisibilityAdvanced :  & gtsmodel . VisibilityAdvanced { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Federated :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Boostable :  false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Replyable :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Likeable :   true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ActivityStreamsType :  gtsmodel . ActivityStreamsNote , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
									
										
										
										
											2021-04-19 19:42:19 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestTags returns a map of gts model tags keyed by their name  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestTags ( )  map [ string ] * gtsmodel . Tag  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  map [ string ] * gtsmodel . Tag { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"welcome" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :                      "a7e8f5ca-88a1-4652-8079-a187eab8d56e" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Name :                    "welcome" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											FirstSeenFromAccountID :  "" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :               time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											UpdatedAt :               time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Useable :                 true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Listable :                true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											LastStatusAt :            time . Now ( ) . Add ( - 71  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestFaves returns a map of gts model faves, keyed in the format [faving_account]_[target_status]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestFaves ( )  map [ string ] * gtsmodel . StatusFave  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  map [ string ] * gtsmodel . StatusFave { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"local_account_1_admin_account_status_1" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ID :               "fc4d42ef-631c-4125-bd9d-88695131284c" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											CreatedAt :        time . Now ( ) . Add ( - 47  *  time . Hour ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											AccountID :        "580072df-4d03-4684-a412-89fd6f7d77e6" ,  // local account 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											TargetAccountID :  "8020dbb4-1e7b-4d99-a872-4cf94e64210f" ,  // admin account 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											StatusID :         "502ccd6f-0edf-48d7-9016-2dfa4d3714cd" ,  // admin account status 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-15 11:58:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// ActivityWithSignature wraps a pub.Activity along with its signature headers, for testing.  
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type  ActivityWithSignature  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Activity         pub . Activity 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									SignatureHeader  string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									DigestHeader     string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									DateHeader       string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestActivities returns a bunch of pub.Activity types for use in testing the federation protocols.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// A struct of accounts needs to be passed in because the activities will also be bundled along with  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// their requesting signatures.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestActivities ( accounts  map [ string ] * gtsmodel . Account )  map [ string ] ActivityWithSignature  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									dmForZork  :=  newNote ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										URLMustParse ( "https://fossbros-anonymous.io/users/foss_satan/statuses/5424b153-4553-4f30-9358-7b92f7cd42f6" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										URLMustParse ( "https://fossbros-anonymous.io/@foss_satan/5424b153-4553-4f30-9358-7b92f7cd42f6" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"hey zork here's a new private note for you" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"new note for zork" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										URLMustParse ( "https://fossbros-anonymous.io/users/foss_satan" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										[ ] * url . URL { URLMustParse ( "http://localhost:8080/users/the_mighty_zork" ) } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nil , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										true ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									createDmForZork  :=  wrapNoteInCreate ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										URLMustParse ( "https://fossbros-anonymous.io/users/foss_satan/statuses/5424b153-4553-4f30-9358-7b92f7cd42f6/activity" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										URLMustParse ( "https://fossbros-anonymous.io/users/foss_satan" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										time . Now ( ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										dmForZork ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									sig ,  digest ,  date  :=  getSignatureForActivity ( createDmForZork ,  accounts [ "remote_account_1" ] . PublicKeyURI ,  accounts [ "remote_account_1" ] . PrivateKey ,  URLMustParse ( accounts [ "local_account_1" ] . InboxURI ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  map [ string ] ActivityWithSignature { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"dm_for_zork" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Activity :         createDmForZork , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignatureHeader :  sig , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DigestHeader :     digest , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DateHeader :       date , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// NewTestFediPeople returns a bunch of activity pub Person representations for testing converters and so on.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  NewTestFediPeople ( )  map [ string ] typeutils . Accountable  {  
						 
					
						
							
								
									
										
										
										
											2021-05-15 11:58:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									newPerson1Priv ,  err  :=  rsa . GenerateKey ( rand . Reader ,  2048 ) 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-15 11:58:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									newPerson1Pub  :=  & newPerson1Priv . PublicKey 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  map [ string ] typeutils . Accountable { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"new_person_1" :  newPerson ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/users/brand_new_person" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/users/brand_new_person/following" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/users/brand_new_person/followers" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/users/brand_new_person/inbox" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/users/brand_new_person/outbox" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/users/brand_new_person/collections/featured" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											"brand_new_person" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											"Geoff Brando New Personson" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											"hey I'm a new person, your instance hasn't seen me yet uwu" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/@brand_new_person" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/users/brand_new_person#main-key" ) , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-15 11:58:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											newPerson1Pub , 
							 
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/media/some_avatar_filename.jpeg" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											"image/jpeg" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											URLMustParse ( "https://unknown-instance.com/media/some_header_filename.jpeg" ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											"image/png" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-05-15 11:58:11 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// NewTestDereferenceRequests returns a map of incoming dereference requests, with their signatures.  
						 
					
						
							
								
									
										
										
										
											2021-05-08 14:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								func  NewTestDereferenceRequests ( accounts  map [ string ] * gtsmodel . Account )  map [ string ] ActivityWithSignature  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									sig ,  digest ,  date  :=  getSignatureForDereference ( accounts [ "remote_account_1" ] . PublicKeyURI ,  accounts [ "remote_account_1" ] . PrivateKey ,  URLMustParse ( accounts [ "local_account_1" ] . URI ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  map [ string ] ActivityWithSignature { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										"foss_satan_dereference_zork" :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											SignatureHeader :  sig , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DigestHeader :     digest , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											DateHeader :       date , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// getSignatureForActivity does some sneaky sneaky work with a mock http client and a test transport controller, in order to derive  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// the HTTP Signature for the given activity, public key ID, private key, and destination.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  getSignatureForActivity ( activity  pub . Activity ,  pubKeyID  string ,  privkey  crypto . PrivateKey ,  destination  * url . URL )  ( signatureHeader  string ,  digestHeader  string ,  dateHeader  string )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// create a client that basically just pulls the signature out of the request and sets it 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									client  :=  & mockHTTPClient { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										do :  func ( req  * http . Request )  ( * http . Response ,  error )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											signatureHeader  =  req . Header . Get ( "Signature" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											digestHeader  =  req . Header . Get ( "Digest" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											dateHeader  =  req . Header . Get ( "Date" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											r  :=  ioutil . NopCloser ( bytes . NewReader ( [ ] byte { } ) )  // we only need this so the 'close' func doesn't nil out 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  & http . Response { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												StatusCode :  200 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Body :        r , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// use the client to create a new transport 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									c  :=  NewTestTransportController ( client ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									tp ,  err  :=  c . NewTransport ( pubKeyID ,  privkey ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// convert the activity into json bytes 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									m ,  err  :=  activity . Serialize ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bytes ,  err  :=  json . Marshal ( m ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// trigger the delivery function, which will trigger the 'do' function of the recorder above 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  :=  tp . Deliver ( context . Background ( ) ,  bytes ,  destination ) ;  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// headers should now be populated 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// getSignatureForDereference does some sneaky sneaky work with a mock http client and a test transport controller, in order to derive  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// the HTTP Signature for the given derefence GET request using public key ID, private key, and destination.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  getSignatureForDereference ( pubKeyID  string ,  privkey  crypto . PrivateKey ,  destination  * url . URL )  ( signatureHeader  string ,  digestHeader  string ,  dateHeader  string )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// create a client that basically just pulls the signature out of the request and sets it 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									client  :=  & mockHTTPClient { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										do :  func ( req  * http . Request )  ( * http . Response ,  error )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											signatureHeader  =  req . Header . Get ( "Signature" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											digestHeader  =  req . Header . Get ( "Digest" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											dateHeader  =  req . Header . Get ( "Date" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											r  :=  ioutil . NopCloser ( bytes . NewReader ( [ ] byte { } ) )  // we only need this so the 'close' func doesn't nil out 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  & http . Response { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												StatusCode :  200 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Body :        r , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ,  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// use the client to create a new transport 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									c  :=  NewTestTransportController ( client ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									tp ,  err  :=  c . NewTransport ( pubKeyID ,  privkey ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// trigger the delivery function, which will trigger the 'do' function of the recorder above 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  _ ,  err  :=  tp . Dereference ( context . Background ( ) ,  destination ) ;  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// headers should now be populated 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  newPerson (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									profileIDURI  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									followingURI  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									followersURI  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									inboxURI  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									outboxURI  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									featuredURI  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									username  string , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									displayName  string , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									note  string , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									profileURL  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									discoverable  bool , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyURI  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									pkey  * rsa . PublicKey , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									avatarURL  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									avatarContentType  string , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerURL  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerContentType  string )  typeutils . Accountable  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person  :=  streams . NewActivityStreamsPerson ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// id should be the activitypub URI of this user 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// something like https://example.org/users/example_user 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									idProp  :=  streams . NewJSONLDIdProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									idProp . SetIRI ( profileIDURI ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetJSONLDId ( idProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// following 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// The URI for retrieving a list of accounts this user is following 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									followingProp  :=  streams . NewActivityStreamsFollowingProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									followingProp . SetIRI ( followingURI ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetActivityStreamsFollowing ( followingProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// followers 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// The URI for retrieving a list of this user's followers 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									followersProp  :=  streams . NewActivityStreamsFollowersProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									followersProp . SetIRI ( followersURI ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetActivityStreamsFollowers ( followersProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// inbox 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// the activitypub inbox of this user for accepting messages 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									inboxProp  :=  streams . NewActivityStreamsInboxProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									inboxProp . SetIRI ( inboxURI ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetActivityStreamsInbox ( inboxProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// outbox 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// the activitypub outbox of this user for serving messages 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									outboxProp  :=  streams . NewActivityStreamsOutboxProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									outboxProp . SetIRI ( outboxURI ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetActivityStreamsOutbox ( outboxProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// featured posts 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Pinned posts. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									featuredProp  :=  streams . NewTootFeaturedProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									featuredProp . SetIRI ( featuredURI ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetTootFeatured ( featuredProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// featuredTags 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// NOT IMPLEMENTED 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// preferredUsername 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used for Webfinger lookup. Must be unique on the domain, and must correspond to a Webfinger acct: URI. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									preferredUsernameProp  :=  streams . NewActivityStreamsPreferredUsernameProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									preferredUsernameProp . SetXMLSchemaString ( username ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetActivityStreamsPreferredUsername ( preferredUsernameProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// name 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used as profile display name. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									nameProp  :=  streams . NewActivityStreamsNameProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  displayName  !=  ""  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nameProp . AppendXMLSchemaString ( displayName ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										nameProp . AppendXMLSchemaString ( username ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetActivityStreamsName ( nameProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// summary 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used as profile bio. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  note  !=  ""  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										summaryProp  :=  streams . NewActivityStreamsSummaryProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										summaryProp . AppendXMLSchemaString ( note ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										person . SetActivityStreamsSummary ( summaryProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// url 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used as profile link. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									urlProp  :=  streams . NewActivityStreamsUrlProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									urlProp . AppendIRI ( profileURL ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetActivityStreamsUrl ( urlProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// manuallyApprovesFollowers 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Will be shown as a locked account. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// TODO: NOT IMPLEMENTED **YET** -- this needs to be added as an activitypub extension to https://github.com/go-fed/activity, see https://github.com/go-fed/activity/tree/master/astool 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// discoverable 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Will be shown in the profile directory. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									discoverableProp  :=  streams . NewTootDiscoverableProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									discoverableProp . Set ( discoverable ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetTootDiscoverable ( discoverableProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// devices 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// NOT IMPLEMENTED, probably won't implement 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// alsoKnownAs 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Required for Move activity. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// TODO: NOT IMPLEMENTED **YET** -- this needs to be added as an activitypub extension to https://github.com/go-fed/activity, see https://github.com/go-fed/activity/tree/master/astool 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// publicKey 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Required for signatures. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyProp  :=  streams . NewW3IDSecurityV1PublicKeyProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// create the public key 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKey  :=  streams . NewW3IDSecurityV1PublicKey ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set ID for the public key 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyIDProp  :=  streams . NewJSONLDIdProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyIDProp . SetIRI ( publicKeyURI ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKey . SetJSONLDId ( publicKeyIDProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set owner for the public key 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyOwnerProp  :=  streams . NewW3IDSecurityV1OwnerProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyOwnerProp . SetIRI ( profileIDURI ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKey . SetW3IDSecurityV1Owner ( publicKeyOwnerProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set the pem key itself 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									encodedPublicKey ,  err  :=  x509 . MarshalPKIXPublicKey ( pkey ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  err  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										panic ( err ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyBytes  :=  pem . EncodeToMemory ( & pem . Block { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Type :   "PUBLIC KEY" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										Bytes :  encodedPublicKey , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyPEMProp  :=  streams . NewW3IDSecurityV1PublicKeyPemProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyPEMProp . Set ( string ( publicKeyBytes ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKey . SetW3IDSecurityV1PublicKeyPem ( publicKeyPEMProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// append the public key to the public key property 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									publicKeyProp . AppendW3IDSecurityV1PublicKey ( publicKey ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set the public key property on the Person 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetW3IDSecurityV1PublicKey ( publicKeyProp ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// tag 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// TODO: Any tags used in the summary of this profile 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// attachment 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used for profile fields. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// TODO: The PropertyValue type has to be added: https://schema.org/PropertyValue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// endpoints 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// NOT IMPLEMENTED -- this is for shared inbox which we don't use 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// icon 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used as profile avatar. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									iconProperty  :=  streams . NewActivityStreamsIconProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									iconImage  :=  streams . NewActivityStreamsImage ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									mediaType  :=  streams . NewActivityStreamsMediaTypeProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									mediaType . Set ( avatarContentType ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									iconImage . SetActivityStreamsMediaType ( mediaType ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									avatarURLProperty  :=  streams . NewActivityStreamsUrlProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									avatarURLProperty . AppendIRI ( avatarURL ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									iconImage . SetActivityStreamsUrl ( avatarURLProperty ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									iconProperty . AppendActivityStreamsImage ( iconImage ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									person . SetActivityStreamsIcon ( iconProperty ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// image 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// Used as profile header. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerProperty  :=  streams . NewActivityStreamsImageProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerImage  :=  streams . NewActivityStreamsImage ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerMediaType  :=  streams . NewActivityStreamsMediaTypeProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									mediaType . Set ( headerContentType ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerImage . SetActivityStreamsMediaType ( headerMediaType ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerURLProperty  :=  streams . NewActivityStreamsUrlProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerURLProperty . AppendIRI ( headerURL ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerImage . SetActivityStreamsUrl ( headerURLProperty ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									headerProperty . AppendActivityStreamsImage ( headerImage ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  person 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// newNote returns a new activity streams note for the given parameters  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  newNote (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									noteID  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									noteURL  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									noteContent  string , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									noteSummary  string , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									noteAttributedTo  * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									noteTo  [ ] * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									noteCC  [ ] * url . URL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									noteSensitive  bool )  vocab . ActivityStreamsNote  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// create the note itself 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									note  :=  streams . NewActivityStreamsNote ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  noteID  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										id  :=  streams . NewJSONLDIdProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										id . Set ( noteID ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										note . SetJSONLDId ( id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set noteURL 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  noteURL  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										url  :=  streams . NewActivityStreamsUrlProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										url . AppendIRI ( noteURL ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										note . SetActivityStreamsUrl ( url ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set noteContent 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  noteContent  !=  ""  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										content  :=  streams . NewActivityStreamsContentProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										content . AppendXMLSchemaString ( noteContent ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										note . SetActivityStreamsContent ( content ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set noteSummary (aka content warning) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  noteSummary  !=  ""  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										summary  :=  streams . NewActivityStreamsSummaryProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										summary . AppendXMLSchemaString ( noteSummary ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										note . SetActivityStreamsSummary ( summary ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set noteAttributedTo (the url of the author of the note) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  noteAttributedTo  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										attributedTo  :=  streams . NewActivityStreamsAttributedToProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										attributedTo . AppendIRI ( noteAttributedTo ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										note . SetActivityStreamsAttributedTo ( attributedTo ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  note 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// wrapNoteInCreate wraps the given activity streams note in a Create activity streams action  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								func  wrapNoteInCreate ( createID  * url . URL ,  createActor  * url . URL ,  createPublished  time . Time ,  createNote  vocab . ActivityStreamsNote )  vocab . ActivityStreamsCreate  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// create the.... create 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									create  :=  streams . NewActivityStreamsCreate ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set createID 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  createID  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										id  :=  streams . NewJSONLDIdProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										id . Set ( createID ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										create . SetJSONLDId ( id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set createActor 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  createActor  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										actor  :=  streams . NewActivityStreamsActorProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										actor . AppendIRI ( createActor ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										create . SetActivityStreamsActor ( actor ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set createPublished (time) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ! createPublished . IsZero ( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										published  :=  streams . NewActivityStreamsPublishedProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										published . Set ( createPublished ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										create . SetActivityStreamsPublished ( published ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// setCreateTo 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  createNote . GetActivityStreamsTo ( )  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										create . SetActivityStreamsTo ( createNote . GetActivityStreamsTo ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// setCreateCC 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  createNote . GetActivityStreamsCc ( )  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										create . SetActivityStreamsCc ( createNote . GetActivityStreamsCc ( ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// set createNote 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  createNote  !=  nil  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										note  :=  streams . NewActivityStreamsObjectProperty ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										note . AppendActivityStreamsNote ( createNote ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										create . SetActivityStreamsObject ( note ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  create 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}