62 lines
1.7 KiB
JavaScript
62 lines
1.7 KiB
JavaScript
const { names } from ";
|
|
|
|
function generateAttrs(options) {
|
|
const attrs = {
|
|
"size": 42,
|
|
"envelope": {
|
|
date: "2023-03-21T15:25:42.000Z",
|
|
subject: options.subject ?? "subject" + randomString(10),
|
|
from: options.from ?? null,
|
|
sender: options.sender ?? null,
|
|
replyTo: options.replyTo ?? null,
|
|
to: options.to ?? null,
|
|
cc: options.cc ?? null,
|
|
bcc: options.bcc ?? null,
|
|
inReplyTo: options.inReplyTo ?? null,
|
|
messageId: options.messageId ?? randomString(10),
|
|
},
|
|
"date": options.date ?? new Date(),
|
|
"flags": options.flags ?? [],
|
|
"uid": options.uid ?? randomInt(3),
|
|
"modseq": options.modseq ?? randomInt(7),
|
|
"x-gm-labels": ["\\Inbox"],
|
|
"x-gm-msgid": "1760991478422670209",
|
|
"x-gm-thrid": "1760991478422670209",
|
|
};
|
|
return attrs;
|
|
}
|
|
|
|
function generateUsers(nb) {
|
|
const users = [];
|
|
for (let i = 0; i < nb; i++) {
|
|
users.push({
|
|
user: {
|
|
name: "",
|
|
mailbox: names[i],
|
|
host: "provider.com",
|
|
},
|
|
id: i,
|
|
});
|
|
}
|
|
return users;
|
|
}
|
|
|
|
function randomString(length) {
|
|
let result = "";
|
|
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
const charactersLength = characters.length;
|
|
for (let i = 0; i < length; i++) {
|
|
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
}
|
|
return result;
|
|
}
|
|
|
|
function randomInt(length) {
|
|
return (Math.random() * Math.pow(10, length)).toFixed();
|
|
}
|
|
|
|
module.exports = {
|
|
generateAttrs,
|
|
generateUsers,
|
|
};
|