ruby-on-rails - restful - rest rails
Pruebas funcionales de un POST RESTful en Ruby on Rails (5)
Echa un vistazo a la macro "should_be_restful" de shoulda. Esta macro pronto quedará obsoleta y solo estará disponible en la joya in woulda .
Me gustaría escribir una prueba funcional de un servicio web RESTful en el que estoy trabajando en una aplicación de Ruby on Rails.
La prueba es de una solicitud POST donde el cuerpo de la solicitud es un documento XML simple y no un formulario. ¿Alguna sugerencia sobre cómo hacer esto? El problema que estoy encontrando es cómo especificar el cuerpo XML en la llamada al método de publicación.
Acabo de escribir un script de prueba usando Net: HTTP para probar el servicio REST.
Puede hacerlo estableciendo @request.env[''RAW_POST_BODY'']
en la secuencia de entrada deseada.
Lo siguiente funcionó para mí:
@request.env[''RAW_POST_DATA''] = MY_XML_STRING
post :create
Encontré la siguiente solución en http://de.softuses.com/6051
message = ''<?xml version="1.0" encoding="UTF-8"?>
<tag>content</tag>''
@xml_request_headers ||= {}
@xml_request_headers[''HTTP_ACCEPT''] = @xml_request_headers[''CONTENT_TYPE''] = ''application/xml''
post ''/controller/action.xml'', message, @xml_request_headers
De hecho, @xml_request_headers
en mi método de setup
y puedo usarlo en todas mis pruebas en este archivo. Tal vez sería una buena idea ponerlo en test_helper.rb
si es requerido por más archivos.