Sto simulando una richiesta proveniente da un servizio esterno, che non avrà un token di autenticità. Voglio che il test fallisca se manca skip_before_action :verify_authenticity_token
.Come POST con autenticità mancante nel test della richiesta di rails rspec?
Come si esegue questa operazione da una specifica di richiesta Rspec?
Attualmente sto usando post
come di seguito, ma è felicemente accettato.
post endpoint, my_json_string, {'CONTENT_TYPE' => "application/json"}
Come di Rails 4.2. 5.1 e Rspec 3.4, questa tecnica funziona bene. Sospetto che questo sia il modo corretto per implementare la soluzione. –
Questo è stato davvero utile, grazie. – Joseworks
Per i test di protezione CSRF, potrebbe essere necessario [il rilevatore 'raise_error'] (https://www.relishapp.com/rspec/rspec-expectations/v/3-5/docs/built-in-matchers/raise- error-matcher): 'expect {post endpoint, my_json_string} .to a raise_error (ActionController :: InvalidAuthenticityToken)'. Ho pensato che dovevo controllare il codice di risposta della risposta. –