O código de minha saída para ProjetoTest.java não está conseguindo efetuar a busca e retornar o xml. Revisei algumas vezes mas não consigo identificar onde está o problema. Vou postar aqui o código da ProjetoTest.java, ProjetoResource e Servidor
ProjetoTest.java
package br.com.alura.loja;
import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.WebTarget;
import org.glassfish.grizzly.http.server.HttpServer; import org.junit.After; import org.junit.Before; import org.junit.Test;
import com.thoughtworks.xstream.XStream;
import br.com.alura.loja.modelo.Projeto; import junit.framework.Assert;
public class ProjetoTest { private HttpServer server;
@Before
public void startaServidor() {
server = Servidor.inicializaServidor();
}
@After
public void mataServidor() {
server.stop();
}
@Test //anotação para rodar com o jUnit
public void testaQueBuscarUmProjetoTrazOProjetoEsperado() {
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8083");
String conteudo = target.path("/projetos").request().get(String.class);
Projeto projeto = (Projeto) new XStream().fromXML(conteudo);
Assert.assertEquals("Alura", projeto.getNome());
System.out.println("Imprimindo o conteúdo da mensagem xml " + conteudo);
}
} package br.com.alura.loja.resource;
import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType;
import br.com.alura.loja.dao.ProjetoDAO; import br.com.alura.loja.modelo.Projeto;
@Path("/projetos") public class ProjetoResource { @GET @Produces(MediaType.APPLICATION_XML) public String busca() { Projeto projeto = new ProjetoDAO().busca(1l); return projeto.toXML();
}
}
package br.com.alura.loja;
import java.io.IOException; import java.net.URI;
import org.glassfish.grizzly.http.server.HttpServer; import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory; import org.glassfish.jersey.server.ResourceConfig;
public class Servidor { public static void main(String[] args) throws IOException { HttpServer server = inicializaServidor(); System.in.read(); server.stop(); }
public static HttpServer inicializaServidor() {
ResourceConfig config = new ResourceConfig().packages("br.com.alura.loja"); //cria a configuração baseada nas classes do pacote
URI uri = URI.create("http://localhost:8083/");
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(uri, config);
// System.out.println("Servidor Rodando pelo URI " + uri); return server; } }