necesito para probar el siguiente método con el cabo modificando el método en sí. El método crea un método POST para un servidor. Pero necesito hacer un caso de prueba que sea independiente del servidor.solicitud HTTP POST prueba de Java Junit
He probado un método similar antes de redirigirlo a un archivo local. Pero para eso estaba dando protocolo como archivo, nombre de host como localhost y puerto como -1.
Mi problema es que este método hace una publicación y se envía a HttpURLConnection y wr = new DataOutputStream (conn.getOutputStream()); no funcionará en un archivo txt local a través de http.
// el constructor
public HTTPConnector(String usr, String pwd, String protocol,
String hostname, int port) {
this.usr = usr;
this.pwd = pwd;
this.protocol = protocol;
this.hostname = hostname;
this.port = port;
// connect();
}
// el método que necesito para probar
public String doPost(String reference, String data) throws IOException {
URL url = null;
HttpURLConnection conn = null;
BufferedReader rd = null;
DataOutputStream wr = null;
InputStream is = null;
String line = null;
StringBuffer response = null;
url = new URL(protocol, hostname, port, reference);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Basic dGVzdDphc2Rm");
conn.setRequestProperty("Content-Type", "application/xml");
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
// Send response
wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(data);
wr.flush();
wr.close();
// Get response
is = conn.getInputStream();
rd = new BufferedReader(new InputStreamReader(is));
response = new StringBuffer();
while ((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
return response.toString();
}
// el método que podría poner a prueba
public String doGet(String reference) throws IOException {
connect();
URL url = new URL(protocol, hostname, port, reference);
InputStream content = (InputStream) url.getContent();
BufferedReader xml = new BufferedReader(new InputStreamReader(content));
return xml.readLine();
}
has mirado el uso de objetos simulados? – buymypies
bueno, no va a nada local, así que me resulta difícil cómo redirigirlo. si puedo encontrar una manera de redirigirlo a un archivo o clase local, entonces podría darme una vuelta, pero la única forma en que puedo ver es crear un servidor/hilo local. pero eso significa que tengo que dirigir mis pruebas al servidor, para obtener datos allí y el servidor que necesita ser programado para que lo solicite y eso es mucho más que eficiente. – Gabain1993