/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package senhafortev2;
import com.senhaforte.action.Utils;
import com.senhaforte.classes.ChallengeRetorno;
import com.senhaforte.classes.Grupo;
import com.senhaforte.classes.Retorno;
import com.senhaforte.classes.Usuario;
import com.senhaforte.security.Challenge;
import java.util.logging.Level;
import java.util.logging.Logger;
import static senhafortev2.AuthenticationStressUnit.UserCorrelative;
import static senhafortev2.AuthenticationStressUnit.creaUsuario;
/**
*
* @author user
*/
public class Simulación {
public static final String UserCorrelative
= "12345679";
public static void main
(String[] args
){
do {
Simulación qts = new Simulación();
synchronized (qts) {
qts.fail();
try {
Thread.
currentThread().
join(10000l
);
Logger.getLogger(Simulación.class.getName()).log(Level.SEVERE, null, ex);
}
}
} while (true);
}
public void fail() {
Grupo g = Grupo.BuscaGrupo("NotSelADM", "VdJRYHFK");
final String userSerial
= "dcuentas";
Usuario usr = Usuario.buscaUsuario(g, userSerial);//<- encuentra a dcuentas
final String UserCorrelative
= String.
valueOf(Utils.
CriaSerial());//<- crea un nuevo usuario
creaUsuario(g, UserCorrelative, UserCorrelative+"@spam4.me", UserCorrelative);
g = Grupo.BuscaGrupo("NotSelADM", "VdJRYHFK");//<-la lista de usuarios de g no tiene el nuevo usuario creado
usr = Usuario.buscaUsuario(g, UserCorrelative);//<- aqui usr es nullo
ChallengeRetorno rt = Challenge.GeraChallenge(g, UserCorrelative);//<- aqui la aplicación muere
String[] pod
= rt.
getDesafio();
System.
out.
println("Serial cartao - " + rt.
getSerial_grid());
System.
out.
println(" -" + pod1
);
}
// Usuario.DesbloquearUsuario(g, usr, 10);
char[] validCoords = AuthenticationStressUnit.getValidCoords(Usuario.RetornaGrid(usr.getCartaoGrid()), rt.getDesafio());
String resp
= Challenge.
RespostaChallenge('Ñ',
'Ñ',
'Ñ', usr
);
resp = Challenge.RespostaChallenge(validCoords[0], validCoords[1], validCoords[2], usr);
}
public static void printCartao
(String cartao
) {
//Retorno grid em matriz
char[][] grid = Usuario.RetornaGrid(cartao);
System.
out.
println((char) 27 + "[31m A B C D E F G H I J" + (char) 27 + "[0m");
for (int i = 0; i < 5; i++) {
System.
out.
print((char) 27 + "[31m" + (i
+ 1) + (char) 27 + "[0m");
for (int j = 0; j < 10; j++) {
System.
out.
print(grid
[i
][j
] + " ");
}
}
}
public static boolean creaUsuario
(Grupo grupo,
String dni,
String email,
String fullName
) {
Usuario usuario = new Usuario();
usuario.setAdministrator(true);
usuario.setCartaoGrid(Utils.CriaGrid());
usuario.setDocumento(dni);
usuario.setEmail(email);
usuario.setGrupo(grupo);
usuario.setNome(fullName);
final int criaSerial = Utils.CriaSerial();
usuario.setSerial(criaSerial);
usuario.setTlr(10);
usuario.setUsuario(dni);
Retorno retorno = Usuario.NovoUsuario(usuario, grupo);
printCartao(usuario.getCartaoGrid());
if (retorno.getRetorno().equals("Adicionado com sucesso!")) {// Usuario.EnviaGrid(usuario); //If Usuario for adicionado ao banco - debería enviar grilla a Domicilio.
return true;
} else {
System.
out.
println("Error al conectarse con Servicio de Brasil Mercantil: " + retorno.
getRetorno());
}
return false;
}
}