mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-10-14 14:17:38 +00:00
various changes + new proxy test
This commit is contained in:
1 parent
bac1f29245
commit
dfa2b0e541
9 files changed
+2756
-189
No files matched your search
+18
-9
@@ -4,36 +4,41 @@ const path = require("path");
|
||||
|
||||
const requiredFields = {
|
||||
owner: "object",
|
||||
record: "object"
|
||||
record: "object",
|
||||
};
|
||||
|
||||
const optionalFields = {
|
||||
proxied: "boolean",
|
||||
reserved: "boolean"
|
||||
reserved: "boolean",
|
||||
};
|
||||
|
||||
const requiredOwnerFields = {
|
||||
username: "string"
|
||||
username: "string",
|
||||
};
|
||||
|
||||
const optionalOwnerFields = {
|
||||
email: "string"
|
||||
email: "string",
|
||||
};
|
||||
|
||||
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
||||
const hostnameRegex = /^(?=.{1,253}$)(?:(?:[_a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)\.)+[a-zA-Z]{2,63}$/;
|
||||
const hostnameRegex =
|
||||
/^(?=.{1,253}$)(?:(?:[_a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)\.)+[a-zA-Z]{2,63}$/;
|
||||
|
||||
const domainsPath = path.resolve("domains");
|
||||
const files = fs.readdirSync(domainsPath);
|
||||
|
||||
const validateRequiredFields = (t, obj, requiredFields, file) => {
|
||||
function validateRequiredFields(t, obj, requiredFields, file) {
|
||||
Object.keys(requiredFields).forEach((key) => {
|
||||
t.true(obj.hasOwnProperty(key), `${file}: Missing required field: ${key}`);
|
||||
t.is(typeof obj[key], requiredFields[key], `${file}: Field ${key} should be of type ${requiredFields[key]}`);
|
||||
t.is(
|
||||
typeof obj[key],
|
||||
requiredFields[key],
|
||||
`${file}: Field ${key} should be of type ${requiredFields[key]}`
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
const validateOptionalFields = (t, obj, optionalFields, file) => {
|
||||
function validateOptionalFields(t, obj, optionalFields, file) {
|
||||
Object.keys(optionalFields).forEach((key) => {
|
||||
if (obj.hasOwnProperty(key)) {
|
||||
t.is(
|
||||
@@ -89,7 +94,11 @@ t("All files should have valid optional fields", (t) => {
|
||||
validateOptionalFields(t, data.owner, optionalOwnerFields, file);
|
||||
|
||||
if (data.owner.email) {
|
||||
t.regex(data.owner.email, emailRegex, `${file}: Owner email should be a valid email address`);
|
||||
t.regex(
|
||||
data.owner.email,
|
||||
emailRegex,
|
||||
`${file}: Owner email should be a valid email address`
|
||||
);
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user