@Test public void should_return_content_based_on_xpath() throws Exception { server.request(eq(xpath("/request/parameters/id/text()"), "1")).response("foo"); server.request(eq(xpath("/request/parameters/id/text()"), "2")).response("bar"); running(server, new Runnable() { @Override public void run() throws IOException { assertThat(helper.postFile(root(), "foo.xml"), is("foo")); assertThat(helper.postFile(root(), "bar.xml"), is("bar")); } }); }
@Test public void should_return_content_based_on_xpath_existing() throws Exception { server.request(exist(xpath("/request/parameters/id/text()"))).response("foo"); running(server, new Runnable() { @Override public void run() throws IOException { assertThat(helper.postFile(root(), "foo.xml"), is("foo")); } }); } }
@Test public void should_return_content_based_on_xpath_with_many_elements() throws Exception { server.request(eq(xpath("/request/parameters/id/text()"), "2")).response("bar"); running(server, new Runnable() { @Override public void run() throws IOException { assertThat(helper.postFile(root(), "foobar.xml"), is("bar")); } }); }
@Test(expected = HttpResponseException.class) public void should_not_return_anything_for_unknown_xpath() throws Exception { server.request(eq(xpath("/response/parameters/id/text()"), "3")).response("foo"); running(server, new Runnable() { @Override public void run() throws Exception { helper.postFile(root(), "foo.xml"); } }); }
@Test(expected = HttpResponseException.class) public void should_not_return_anything_for_mismatch_xpath() throws Exception { server.request(eq(xpath("/request/parameters/id/text()"), "3")).response("foo"); running(server, new Runnable() { @Override public void run() throws Exception { helper.postFile(root(), "foo.xml"); } }); }
@Test public void should_generate_response_with_many_extracted_variables() throws Exception { server.request(by(uri("/template"))).response(template("<#list seq as item>${item}</#list>", "seq", xpath("/request/parameters/id/text()"))); running(server, new Runnable() { @Override public void run() throws Exception { assertThat(helper.postFile(remoteUrl("/template"), "foobar.xml"), is("12")); } }); }