나는 멀티 테넌트 SaaS 애플리케이션을 보유하고 있습니다. 모든 입주자 모델에 대해 입주자 보안 테스트를 실시합니다.Rspec : 허용 목록에없는 경우 모든 모델에서 특정 단위 테스트 실행
describe 'tenant security' do
it "has only the current company's data" do
set_tenant_company
other_companys_data = create :model
set_tenant_company
this_companys_data = create :model
expect(Model.all).to include this_companys_data
expect(Model.all).not_to include other_companys_data
end
end
메타 모델링을 사용하여 모든 모델에서이 방법을 사용할 수 있습니까? [단위 테스트에 아무 것도 명시 적으로 코딩하지 않고] 그렇다면 비거주 모델을 허용 목록에 추가하는 방법이 있습니까?
임차인 보안은 중요하며 간과해서 간과하지 않기를 바랍니다. RSpec에 코어 팀에 게시
허용 목록에 포함되지 않은 한 자동으로 수행하는 방법을 모르겠지만 모든 구현 모델에서 구현과 줄만 필요하기 때문에'behaves_like'를 사용할 수 있습니다. 이것 좀 봐 : https://relishapp.com/rspec/rspec-core/v/3-7/docs/example-groups/shared-examples –
고마워! Shared_examples는 내가하는 일보다 나을 것 같습니다. shared_example을 각 모델 사양 파일에 대해 한 번 자동 실행하는 방법이 있습니까? 특정 파일 (허용 된 사이트)을 건너 뛰도록 지시하는 방법이 있습니까? –