jdomingu98 / ft_irc

Our custom Internet Relay Chat Server. Part of the 42school projects roadmap

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[DOC] [ENH] Generación de pruebas en server oficial

jdomingu98 opened this issue · comments

Poned un comentario cada uno con todas las cosas que queráis probar en el servidor real. Cada uno escribirá pruebas sobre lo que ha implementado, y realizaré preguntas si algo no me ha quedado claro.

Realizaré las pruebas y comentaré que cosas se tienen que arreglar/cambiar/mejorar.

GENÉRICO

  • Comprobar si se lanza BadChanMaskException 🆗
  • Comprobar comportamientos con mensajes 🆗
  • Comprobar mensajes de respuesta y códigos 🆗
  • Comportamiento ctrl+D -> nc 🆗 , irssi ❓
  • Prefijo comandos -> Da igual lo que se ponga lo ignora 🆗
  • Excepciones lanzadas en comandos ❓ -> part ❌
  • Métodos que lanzan excepciones y se usan en los comandos no paran la ejecución de los mismos ❓

JOIN

  • Probar caso de pruebas comentario JoinCommand 🆗
  • Comprobar que pasa si cuando se envían varios canales y falla uno en medio sigue ejecutándose con los siguientes o para en el fallido (aplicable a otros comandos) -> Sigue ejecutándose los siguientes 🆗
  • Hacer join a un canal al que estoy joineado -> no hace nada en el server oficial, en el nuestro error 443 🆗

KICK

  • Varios canales y varios usuarios, pero diferente longitud 🆗

QUIT

  • Mensajes del Quit cuando ctrl+C o al cerrar manualmente 🆗

PART

  • Mensajes que se envían a cada usuario -> PART_MSG 🆗
  • Se reasigna un operador cuando no quedan -> No se reasigna 🆗

TOPIC

  • Probar mensaje con ":" y sin él 🆗
  • Ver como se envía el topic a un canal con más de un cliente 🆗
  • Probar comportamiento con MODE +t 🆗
  • TOPIC #<channel> debería devolverte el topic del canal. 🆗
  • Hacer TOPIC sin estar en un canal -> debería dar un error. 🆗
  • TOPIC en un canal diferente al tuyo 🆗
  • TOPIC #A : debería borrar el topic 🆗

AUTENTICACION

  • Validación registro 🆗

NICK

  • Cambiar nick por uno existente ❌ -> Mensaje incorrecto
  • Cambiar nick por el que tienes 🆗

USER 🆗

INVITE

  • Invite de menos de 3 args 🆗
  • Invite de un canal que no exista 🆗
  • Invite a un usuario que no exista 🆗
  • Invite de un canal que exista pero que yo no esté dentro 🆗
  • Invite de 1 persona a 1 canal 🆗
  • Invitar a una persona que ya esté en el canal 🆗

PRIVMSG

  • Mensaje con ":" y sin él 🆗
  • Mensaje a un usuario que no existe 🆗
  • Mensaje a varios usuarios (separados por ",") 🆗
  • Mensaje donde la lista tenga varias comas seguidas (,alex,,juanan,) 🆗
  • Mensajes a varios usuarios donde alguno/s no existan (Probarlo delante, detrás, en medio) 🆗
  • Mensaje a un canal (Debe de llegar a todos los que están joineados) 🆗
  • Mensaje a varios canales 🆗
  • Mensajes a varios canales donde alguno/s no existan (idem al de los usuarios) 🆗
  • Mensajes a varios canales/usuarios mezclados 🆗

MODE

  • Mode sin flags 🆗
  • Mode con 1 flag (t, k, i, l, o) 🆗
  • MODE t 🆗
  • MODE k 🆗
  • MODE i 🆗
  • MODE l 🆗
  • Limite negativo, lleno justo o lleno con mas del limite no deja entrar 🆗
  • limite a cero o por debajo del cupo si 🆗
  • Hacer dos veces MODE +l sustituye el valor 🆗
  • MODE o 🆗
  • Mode con flag que no exista 🆗
  • Mode con varios flags. Si el flag lleva argumentos, se cogen por cada arg que venga a continuación. 🆗
  • Probar flags juntos 🆗