Normalize language code of incoming posts (#30403)
This commit is contained in:
		
					parent
					
						
							
								10ec421dd4
							
						
					
				
			
			
				commit
				
					
						133d98fb25
					
				
			
		
					 2 changed files with 59 additions and 2 deletions
				
			
		
							
								
								
									
										50
									
								
								spec/lib/activitypub/parser/status_parser_spec.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								spec/lib/activitypub/parser/status_parser_spec.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,50 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe ActivityPub::Parser::StatusParser do | ||||
|   subject { described_class.new(json) } | ||||
| 
 | ||||
|   let(:sender) { Fabricate(:account, followers_url: 'http://example.com/followers', domain: 'example.com', uri: 'https://example.com/actor') } | ||||
|   let(:follower) { Fabricate(:account, username: 'bob') } | ||||
| 
 | ||||
|   let(:json) do | ||||
|     { | ||||
|       '@context': 'https://www.w3.org/ns/activitystreams', | ||||
|       id: [ActivityPub::TagManager.instance.uri_for(sender), '#foo'].join, | ||||
|       type: 'Create', | ||||
|       actor: ActivityPub::TagManager.instance.uri_for(sender), | ||||
|       object: object_json, | ||||
|     }.with_indifferent_access | ||||
|   end | ||||
| 
 | ||||
|   let(:object_json) do | ||||
|     { | ||||
|       id: [ActivityPub::TagManager.instance.uri_for(sender), 'post1'].join('/'), | ||||
|       type: 'Note', | ||||
|       to: [ | ||||
|         'https://www.w3.org/ns/activitystreams#Public', | ||||
|         ActivityPub::TagManager.instance.uri_for(follower), | ||||
|       ], | ||||
|       content: '@bob lorem ipsum', | ||||
|       contentMap: { | ||||
|         EN: '@bob lorem ipsum', | ||||
|       }, | ||||
|       published: 1.hour.ago.utc.iso8601, | ||||
|       updated: 1.hour.ago.utc.iso8601, | ||||
|       tag: { | ||||
|         type: 'Mention', | ||||
|         href: ActivityPub::TagManager.instance.uri_for(follower), | ||||
|       }, | ||||
|     } | ||||
|   end | ||||
| 
 | ||||
|   it 'correctly parses status' do | ||||
|     expect(subject).to have_attributes( | ||||
|       text: '@bob lorem ipsum', | ||||
|       uri: [ActivityPub::TagManager.instance.uri_for(sender), 'post1'].join('/'), | ||||
|       reply: false, | ||||
|       language: :en | ||||
|     ) | ||||
|   end | ||||
| end | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue