Интересно, как запустить тест клиента Arquillian rest в качестве удаленного профиля jboss.
Это мой тестовый класс:
@RunAsClient
@RunWith(Arquillian.class)
public class MemberRegistrationClientTest {
@Deployment
public static Archive<?> createTestArchive() {
return ShrinkWrap.create(WebArchive.class, "test.war").addPackage(Member.class.getPackage())
.addClasses(Resources.class, MemberResourceRESTService.class, MemberRepository.class, JaxRsActivator.class)
//.addAsResource("META-INF/test-persistence.xml", "META-INF/persistence.xml")
.addAsResource("import.sql")
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
}
final String RESOURCE_PREFIX = "rest";
@ArquillianResource
URL deploymentUrl;
@Test
public void testGetCustomerByIdUsingClientRequest() throws Exception {
//deploymentUrl = new URL("http://localhost:8180/test/");
// GET http://localhost:8080/test/rest/customer/1
System.out.println("deployementUrl: " + deploymentUrl.toString() + RESOURCE_PREFIX + "/members/0");
ClientRequest request = new ClientRequest(deploymentUrl.toString() + RESOURCE_PREFIX + "/members/0");
request.header("Accept", MediaType.APPLICATION_XML);
// we're expecting a String back
ClientResponse<String> responseObj = request.get(String.class);
Assert.assertEquals(200, responseObj.getStatus());
System.out.println("GET /members/0 HTTP/1.1\n\n" + responseObj.getEntity());
}
}
Сначала я запускаю Jboss с установщиком приложения, затем запускаю тест с:
mvn clean test -Parq-jbossas-remote.
Проблема в том, что URL-адрес развертывания неверен, поскольку он указывает на localhost: 8080 / test, а правильный URL-адрес должен быть localhost: 8080 / myproject.
Есть ли простой способ установить корневой контекст, куда должен указывать пакет?