mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
Merge pull request #1243 from cniedzwiedz/squash_test
Fixed XSS in markdown() method
This commit is contained in:
commit
ff65b3b601
7 changed files with 61 additions and 1 deletions
|
|
@ -35,4 +35,8 @@ FactoryGirl.define do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
factory :event_xss, parent: :event do
|
||||
abstract { '<div id="divInjectedElement"></div>' }
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -6,4 +6,8 @@ FactoryGirl.define do
|
|||
description { Faker::Lorem.paragraph }
|
||||
website_link { Faker::Internet.url }
|
||||
end
|
||||
|
||||
factory :lodging_xss, parent: :lodging do
|
||||
description { '<div id="divInjectedElement"></div>' }
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -45,4 +45,9 @@ FactoryGirl.define do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
factory :user_xss, parent: :user do
|
||||
biography '<div id="divInjectedElement"></div>'
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -9,4 +9,14 @@ describe 'admin/lodgings/index' do
|
|||
render
|
||||
expect(rendered).to include(CGI.escapeHTML(@conference.lodgings.first.name))
|
||||
end
|
||||
|
||||
it 'prevents XSS in lodging description' do
|
||||
@conference = create(:conference)
|
||||
@conference.venue = create(:venue)
|
||||
@conference.lodgings << create(:lodging_xss)
|
||||
assign :venue, @conference.venue
|
||||
render
|
||||
expect(rendered).to_not have_selector('#divInjectedElement')
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
20
spec/views/proposals/show.html.haml_spec.rb
Normal file
20
spec/views/proposals/show.html.haml_spec.rb
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'proposals/show' do
|
||||
let!(:conference) { create(:conference) }
|
||||
let!(:event) { create(:event_xss, program: conference.program, title: 'event1', language: 'English') }
|
||||
let(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
|
||||
let(:organizer) { create(:user, name: 'test name', email: 'test@email.osem', role_ids: [organizer_role.id]) }
|
||||
|
||||
it 'renders proposal information' do
|
||||
sign_in organizer
|
||||
|
||||
assign :conference, conference
|
||||
assign :event, event
|
||||
assign :speaker, organizer
|
||||
|
||||
render template: 'proposals/show.html.haml'
|
||||
|
||||
expect(rendered).to_not have_selector('#divInjectedElement')
|
||||
end
|
||||
end
|
||||
17
spec/views/users/show.html.haml_spec.rb
Normal file
17
spec/views/users/show.html.haml_spec.rb
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'users/show' do
|
||||
let!(:conference) { create(:conference) }
|
||||
let(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) }
|
||||
let(:organizer) { create(:user_xss, name: 'test name', email: 'test@email.osem', role_ids: [organizer_role.id]) }
|
||||
|
||||
it 'renders proposal information' do
|
||||
sign_in organizer
|
||||
|
||||
assign :user, organizer
|
||||
|
||||
render template: 'users/show.html.haml'
|
||||
|
||||
expect(rendered).to_not have_selector('#divInjectedElement')
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue