Este plugin permite comprobar el estado de las carpetas de un servidor de correo, verificar el número de mensajes sin leer, e interceptar nuevos mensajes entrantes. También permite validar campos del último mensaje tales como asunto, remitente, cuerpo y adjuntos.
Este plugin está diseñado para usarse conjuntamente con otros para formar escenarios completos. Por ejemplo, para validar que una aplicación envía correos como consecuencia de alguna otra operación como una petición REST.
- Instalación
-
- Definir la ubicación del servidor de correo
- Definir las credenciales de usuario
- Definir la carpeta de correo usada para las pruebas
- Comprobar el número de correos sin leer
- Comprobar que se recibe un nuevo correo en un intervalo de tiempo determinado
- Comprobar el asunto del último correo
- Comprobar el remitente del último correo
- Comprobar el contenido del cuerpo del último correo
- Comprobar parcialmente el contenido del cuerpo del último correo
- Comparar el contenido del cuerpo del último correo con un fichero
- Comparar parcialmente el contenido del cuerpo del último correo con un fichero
- Comprobar el número de adjuntos en el último correo
- Comprobar que el último correo contiene un adjunto con determinado nombre de fichero
- Comparar el contenido de un fichero adjunto en formato binario
- Comparar el contenido de un fichero adjunto en formato de texto
- Comparar el contenido de un adjunto con el texto indicado
- Eliminar todos los correos con un remitente determinado (operación de limpieza)
- Eliminar todos los correos con un asunto determinado (operación de limpieza)
Instalación
Incluye el módulo en la sección correspondiente.
es.iti.wakamiti:email-wakamiti-plugin:1.4.0
es.iti.wakamiti:email-wakamiti-plugin:1.4.0
<dependency> <groupId>es.iti.wakamiti</groupId> <artifactId>email-wakamiti-plugin</artifactId> <version>1.4.0</version> </dependency>
<dependency> <groupId>es.iti.wakamiti</groupId> <artifactId>email-wakamiti-plugin</artifactId> <version>1.4.0</version> </dependency>
Configuración
email.address
- Tipo:
string
obligatorio
Dirección de correo del usuario, para usarse como crendenciales de login.
Ejemplo:
email: address: test@localhost
email.password
- Tipo:
string
obligatorio
Contraseña del usuario, para usarse como credenciales de login.
Ejemplo:
email: password: xjlk4324
email.store.host
- Tipo:
string
obligatorio
Nombre de host o dirección IP donde está ubicado el almacén del servidor de correo.
Ejemplo:
email: store: host: imap.gmail.com
email.store.port
- Tipo:
integer
obligatorio
Puerto para acceder al almacén del servidor de correo (suele variar en función del protocolo).
Ejemplo:
email: store: port: 993
email.store.protocol
- Tipo:
string
obligatorio
Protocolo usado por el almacén del servidor de correo.
Ejemplo:
email: store: protocol: imap
email.store.folder
- Tipo:
string
obligatorio
Nombre de la carpeta a comprobar dentro del almacén de correo.
Ejemplo:
email: store: folder: INBOX
Pasos
Definir la ubicación del servidor de correo
el servidor de correo ubicado en {host}:{port} usando el protocolo {protocol}
el servidor de correo ubicado en {host}:{port} usando el protocolo {protocol}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
host |
text obligatorio |
IP o nombre de red del servidor de correo |
port |
integer obligatorio |
Puerto del almacén de correo (según protocolo) |
protocol |
word obligatorio |
Protocolo del almacén de correo |
Ejemplos:
Dado el servidor de correo ubicado en 'imap.gmail.com':993 usando el protocolo imap
Definir las credenciales de usuario
el usuario de correo con dirección {address} y contraseña {password}
el usuario de correo con dirección {address} y contraseña {password}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
address |
text obligatorio |
La dirección de correo |
password |
text obligatorio |
La contraseña de usuario |
Ejemplos:
Dado el usuario de correo con dirección 'john@mymail.com' y contraseña 'daDjkl3434S'
Definir la carpeta de correo usada para las pruebas
la carpeta de correo {text}
la carpeta de correo {text}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
text |
text obligatorio |
El nombre de la carpeta de correo |
Ejemplos:
Dada la carpeta de correo 'INBOX'
Comprobar el número de correos sin leer
(que) el número de correos sin leer {matcher}
(que) el número de correos sin leer {matcher}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
matcher |
integer-assertion obligatorio | Comprobación a aplicar al número de mensajes sin leer |
Ejemplos:
Dado que el número de correos sin leer es mayor que 0
Comprobar que se recibe un nuevo correo en un intervalo de tiempo determinado
(que) se recibe un nuevo correo en los próximos {duration}
(que) se recibe un nuevo correo en los próximos {duration}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
duration |
duration obligatorio | Tiempo a la espera de que llegue un nuevo correo |
Ejemplos:
Entonces se recibe un nuevo correo en los próximos 5 segundos
Comprobar el asunto del último correo
(que) el asunto del correo {matcher}
(que) el asunto del correo {matcher}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
matcher |
text-assertion obligatorio | Comprobación a aplicar al asunto del correo |
Ejemplos:
Entonces el asunto del correo empieza por 'Nueva incidencia'
Comprobar el remitente del último correo
(que) el remitente del correo {matcher}
(que) el remitente del correo {matcher}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
matcher |
text-assertion obligatorio | Comprobación a aplicar al remitente del correo |
Ejemplos:
Entonces el remitente del correo es 'support@company.com'
Comprobar el contenido del cuerpo del último correo
(que) el cuerpo del correo es: {data}
(que) el cuerpo del correo es: {data}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
data |
document obligatorio |
El contenido a comparar |
Ejemplos:
Entonces el cuerpo del correo es:
"""
Hola,
Su incidencia ha sido recibida.
Saludos.
"""
Comprobar parcialmente el contenido del cuerpo del último correo
(que) el cuerpo del correo contiene lo siguiente: {data}
(que) el cuerpo del correo contiene lo siguiente: {data}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
data |
document obligatorio |
El contenido a comparar |
Ejemplos:
Entonces el cuerpo del correo contiene lo siguiente:
"""
Su incidencia ha sido recibida.
"""
Comparar el contenido del cuerpo del último correo con un fichero
(que) el cuerpo del correo es el contenido del fichero {file}
(que) el cuerpo del correo es el contenido del fichero {file}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
file |
file obligatorio |
Ruta del fichero a comparar |
Ejemplos:
Entonces el cuerpo del correo es el contenido del fichero 'email.txt'
Comparar parcialmente el contenido del cuerpo del último correo con un fichero
(que) el cuerpo del correo contiene el contenido del fichero {file}
(que) el cuerpo del correo contiene el contenido del fichero {file}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
file |
file obligatorio |
Ruta del fichero a comparar |
Ejemplos:
Entonces el cuerpo del correo contiene el contenido del fichero 'email.txt'
Comprobar el número de adjuntos en el último correo
(que) el número de adjuntos en el correo {matcher}
(que) el número de adjuntos en el correo {matcher}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
matcher |
text-assertion obligatorio | Comprobación a aplicar al número de adjuntos |
Ejemplos:
Entonces el número de adjuntos en el correo es menor que 2
Comprobar que el último correo contiene un adjunto con determinado nombre de fichero
(que) el correo tiene un fichero adjunto cuyo nombre {matcher}
(que) el correo tiene un fichero adjunto cuyo nombre {matcher}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
matcher |
text-assertion obligatorio | Comprobación a aplicar al nombre de los ficheros adjuntos |
Ejemplos:
Entonces el correo tiene un fichero adjunto cuyo nombre es 'attach.txt'
Comparar el contenido de un fichero adjunto en formato binario
(que) el correo tiene un fichero adjunto con el contenido del fichero binario {file}
(que) el correo tiene un fichero adjunto con el contenido del fichero binario {file}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
file |
file obligatorio |
Ruta del fichero a comparar |
Ejemplos:
Entonces el correo tiene un fichero adjunto con el contenido del fichero binario 'attach.dat'
Comparar el contenido de un fichero adjunto en formato de texto
(que) el correo tiene un fichero adjunto con el contenido del fichero de texto {file}
(que) el correo tiene un fichero adjunto con el contenido del fichero de texto {file}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
file |
file obligatorio |
Ruta del fichero a comparar |
Ejemplos:
Entonces el correo tiene un fichero adjunto con el contenido del fichero de texto 'attach.txt'
Comparar el contenido de un adjunto con el texto indicado
(que) el correo tiene un fichero adjunto con el siguiente contenido: {data}
(que) el correo tiene un fichero adjunto con el siguiente contenido: {data}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
data |
document obligatorio |
Texto a comparar |
Ejemplos:
Entonces el correo tiene un fichero adjunto con el siguiente contenido:
"""
Esto es un contenido adjunto
"""
Eliminar todos los correos con un remitente determinado (operación de limpieza)
Al finalizar, se borran todos los correos cuyo remitente {matcher}
Al finalizar, se borran todos los correos cuyo remitente {matcher}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
matcher |
text-assertion obligatorio | Comprobación a aplicar al remitente de los correos |
Ejemplos:
* Al finalizar, se borran todos los correos cuyo remitente es 'test@localhost'
Eliminar todos los correos con un asunto determinado (operación de limpieza)
Al finalizar, se borran todos los correos cuyo asunto {matcher}
Al finalizar, se borran todos los correos cuyo asunto {matcher}
Parámetros:
nombre | tipo wakamiti | descripción |
---|---|---|
matcher |
text-assertion obligatorio | Comprobación a aplicar al asunto de los correos |
Ejemplos:
* Al finalizar, se borran todos los correos cuyo asunto empieza por 'Testing'