16.2. Probando los servicios web

Si quieres probar el nuevo servicio web que acabamos de crear, copia el archivo de datos de los afiliados del directorio data/fixtures/ al directorio test/fixtures/ y reemplaza el contenido del archivo apiActionsTest.php generado automáticamente por el siguiente código:

// test/functional/frontend/apiActionsTest.php
include(dirname(__FILE__).'/../../bootstrap/functional.php');
 
$browser = new JobeetTestFunctional(new sfBrowser());
$browser->loadData();
 
$browser->
  info('1 - Web service security')->
 
  info('  1.1 - A token is needed to access the service')->
  get('/api/foo/jobs.xml')->
  with('response')->isStatusCode(404)->
 
  info('  1.2 - An inactive account cannot access the web service')->
  get('/api/symfony/jobs.xml')->
  with('response')->isStatusCode(404)->
 
  info('2 - The jobs returned are limited to the categories configured for the affiliate')->
  get('/api/sensio_labs/jobs.xml')->
  with('request')->isFormat('xml')->
  with('response')->checkElement('job', 32)->
 
  info('3 - The web service supports the JSON format')->
  get('/api/sensio_labs/jobs.json')->
  with('request')->isFormat('json')->
  with('response')->contains('"category": "Programming"')->
 
  info('4 - The web service supports the YAML format')->
  get('/api/sensio_labs/jobs.yaml')->
  with('response')->begin()->
    isHeader('content-type', 'text/yaml; charset=utf-8')->
    contains('category: Programming')->
  end()
;

En el código anterior se utilizan por primera vez dos métodos que te pueden resultar útiles:

  • isFormat(): comprueba el formato de la respuesta
  • contains(): para el contenido que no sea HTML comprueba si la respuesta contiene el trozo de texto que se indica
Puedes sugerir, comentar, criticar e informar de errores en contacto (arroba) librosweb.es
« Anterior
16.1. Los afiliados
Siguiente »
16.3. El formulario para darse de alta como afiliado
Los contenidos originales de este sitio están bajo una licencia de Creative Commons. Las traducciones disponen cada una de su propia licencia.