@Test
  public void agregarLinksUsuarioCuandoYaExistiaOtro() {

    Usuario usuario = new Usuario();
    usuario.setId(4L);

    EnvioNewsletter envio = new EnvioNewsletter();
    envio.setId(6L);

    String documento =
        "<html><body><div>HOLA</div><div id=\"suscripcion\">"
            + "Para dejar de recibir newsletters de BMAT, por favor hacer<a href=\""
            + BASE_URL
            + "/newsletter/desuscribir/3\">click aqui</a></div><img id='img_notificacion' src='"
            + BASE_URL
            + "/newsletter/notificar/5/3' width='1' height='1' border='0'/>"
            + "</body></html>";

    Document document = Jsoup.parse(documento);

    servicio.agregarLinksUsuario(document, usuario, envio);

    StringBuffer esperado = new StringBuffer();
    esperado
        // comienzo documento
        .append("<html><head></head><body><div>HOLA</div>")
        // abre link desuscripcion
        .append(
            "<div id=\"suscripcion\">Para dejar de recibir newsletters de BMAT, por favor hacer<a href=\"")
        // se agrego la URL para el usuario
        .append(BASE_URL + "/newsletter/desuscribir/4")
        // cierra link desuscripcion
        .append("\">click aqui</a></div>")
        // abre link notificacion
        .append("<img id=\"img_notificacion\" src=\"")
        // se agrego URL notificacion
        .append(BASE_URL + "/newsletter/notificar/6/4")
        // cierra link notificacion
        .append("\" width=\"1\" height=\"1\" border=\"0\"/>")
        // cierra documento
        .append("</body></html>");

    String output =
        document
            .html()
            .replaceAll("[\\r\\n]+\\s", "")
            .replaceAll(">\\s*", ">")
            .replaceAll("\\s*/>\\s*", "/>")
            .replaceAll("\\s*<", "<");

    assertEquals(esperado.toString(), output);
  }
  @Test
  public void reemplazarConRutaInvalida() {

    String html =
        "<html><body><img id='img' src=\"http://www.marcelomingrone.com.ar/INVALIDO/2014-01-01/imgA.jpg\" "
            + "width='123' height='321' border='0' /></body></html>";

    Document document = Jsoup.parse(html);

    servicio.reemplazarImagenesContenido(document, imagenes);

    String urlImagen = document.getElementById("img").attr("src");

    assertEquals("http://www.marcelomingrone.com.ar/INVALIDO/2014-01-01/imgA.jpg", urlImagen);

    assertEquals(0, imagenes.size());
  }
  @Before
  public void init() {

    servicio = new EnvioNewsletterRunnable();
    servicio.setNewsletterFolderName(NEWSLETTER_FOLDER_NAME);
    servicio.setImgPrefix(IMG_PREFIX);
    servicio.setNewsletterHome(NEWSLETTER_HOME);
    servicio.setLinkDesuscripcion(LINK_DESUSCRIPCION);
    servicio.setBaseUrl(BASE_URL);
    servicio.setLinkNotificacion(LINK_NOTIFICACION);

    imagenes = new LinkedHashMap<>();
  }
  @Test
  public void reemplazarUnaImagenContenido() {

    String html =
        "<html><body><img id='img' src=\"http://www.marcelomingrone.com.ar/newsletter/2014-01-01/imgA.jpg\" "
            + "width='123' height='321' border='0' /></body></html>";

    Document document = Jsoup.parse(html);

    servicio.reemplazarImagenesContenido(document, imagenes);

    String nuevaUrlImagen = document.getElementById("img").attr("src");

    assertEquals("cid:" + IMG_PREFIX + "2014-01-01_imgA.jpg", nuevaUrlImagen);

    assertEquals(1, imagenes.size());
    assertEquals(
        NEWSLETTER_HOME + "/2014-01-01/imgA.jpg", imagenes.get(IMG_PREFIX + "2014-01-01_imgA.jpg"));
  }