Skip to content

Instantly share code, notes, and snippets.

@lucasapoena
Created December 29, 2020 12:17
Show Gist options
  • Save lucasapoena/84705d61ca2c04b4c9ccfe7ad3de43bf to your computer and use it in GitHub Desktop.
Save lucasapoena/84705d61ca2c04b4c9ccfe7ad3de43bf to your computer and use it in GitHub Desktop.
/*
** Incluir nova requisição POST para localhost que será utilizada para incluir os utils
** Incluir na área de Pre-request Script, o script abaixo:
*/
/*------------- UTILS ---------------*/
postman.setEnvironmentVariable("utils", () => {
var gerarCPF = () => {
const geraNumeroRandomico = (n) => Math.round(Math.random() * n);
const mod = (base, div) => Math.round(base - Math.floor(base / div) * div)
const digitosDocumento = Array(9).fill('').map(() => geraNumeroRandomico(9));
let digitoVerificador01 = digitosDocumento.reduce((total, number, index) => (total + (number * (10 - index))), 0)
digitoVerificador01 = 11 - mod(digitoVerificador01, 11);
if (digitoVerificador01 >= 10) digitoVerificador01 = 0;
let digitoVerificador02 = (digitoVerificador01 * 2) + digitosDocumento.reduce((total, number, index) => (total + (number * (11 - index))), 0)
digitoVerificador02 = 11 - mod(digitoVerificador02, 11);
if (digitoVerificador02 >= 10) digitoVerificador02 = 0;
return `${digitosDocumento.join('')}${digitoVerificador01}${digitoVerificador02}`
}
var gerarCNPJ = () => {
const geraNumeroRandomico = (n) => Math.round(Math.random() * n);
const mod = (base, div) => Math.round(base - Math.floor(base / div) * div)
const digitosDocumento = Array(12).fill('').map(() => geraNumeroRandomico(9));
let digitoVerificador01 =
(digitosDocumento[0]*5) +
(digitosDocumento[1]*4) +
(digitosDocumento[2]*3) +
(digitosDocumento[3]*2) +
(digitosDocumento[4]*9) +
(digitosDocumento[5]*8) +
(digitosDocumento[6]*7) +
(digitosDocumento[7]*6) +
(digitosDocumento[8]*5) +
(digitosDocumento[9]*4) +
(digitosDocumento[10]*3) +
(digitosDocumento[11]*2);
digitoVerificador01 = 11 - ( mod(digitoVerificador01,11) );
if (digitoVerificador01>=10) digitoVerificador01 = 0;
let digitoVerificador02 =
(digitosDocumento[0]*6) +
(digitosDocumento[1]*5) +
(digitosDocumento[2]*4) +
(digitosDocumento[3]*3) +
(digitosDocumento[4]*2) +
(digitosDocumento[5]*9) +
(digitosDocumento[6]*8) +
(digitosDocumento[7]*7) +
(digitosDocumento[8]*6) +
(digitosDocumento[9]*5) +
(digitosDocumento[10]*4) +
(digitosDocumento[11]*3) +
(digitoVerificador01*2);
digitoVerificador02 = 11 - ( mod(digitoVerificador02,11) );
if (digitoVerificador02>=10) digitoVerificador02 = 0;
return `${digitosDocumento.join('')}${digitoVerificador01}${digitoVerificador02}`
}
var gerarName = () => {
return "Teste_"+Date.now()
}
return {
apoena: {
gerarCPF,
gerarCNPJ,
gerarName
}
};
});
// Incluir aqui quais variáveis devem ser geradas caso desejado...
postman.setEnvironmentVariable("RANDOM_CPF_01", geraCpf());
postman.setEnvironmentVariable("RANDOM_CNPJ_01", geraCpf());
postman.setEnvironmentVariable("RANDOM_NAME_01", geraCpf());
/*------------- UTILS ---------------*/
/*
* Para chamar diretamente na requisição a ser utilizada, pode incluir a chamada das funções na áre de Pre-request Script
* Após a variável de ambiente ser configurada ela poderá ser chamada em qualquer local do postman, por exemplo: {{RANDOM_CPF_01}}
*/
let utils = eval(environment.utils)();
postman.setEnvironmentVariable("RANDOM_CPF_01", utils.apoena.gerarCPF());
postman.setEnvironmentVariable("RANDOM_CPF_02", utils.apoena.gerarCPF());
postman.setEnvironmentVariable("RANDOM_CPF_03", utils.apoena.gerarCPF());
postman.setEnvironmentVariable("RANDOM_NAME_01", utils.apoena.gerarName());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment