in lib/generator/mocker.ts [31:79]
private generateString(paramSpec: any, paramName: string) {
const pwdParams = ["password", "pwd", "adminPassword"];
if (paramSpec.name === "subscriptionId") {
return uuid.v4().toUpperCase();
}
if (pwdParams.includes(paramName)) {
return "<a-password-goes-here>";
}
if (paramSpec.format === "date") {
return new Date().toISOString().split("T")[0];
}
if (paramSpec.format === "date-time") {
return new Date().toISOString();
}
if (paramSpec.format === "duration") {
return `PT${new Date().getMinutes()}M`;
}
if (paramSpec.format === "byte") {
return `${Buffer.from(paramName + "1").toString("base64")}`;
}
if ("enum" in paramSpec) {
if (paramSpec.enum.lengh > 0) {
console.error(`${paramName}'s enum can not be empty`);
}
return paramSpec.enum[0];
}
const minLength = "minLength" in paramSpec ? paramSpec.minLength : 1;
const maxLength = "maxLength" in paramSpec ? paramSpec.maxLength : minLength * 30;
const length = this.getRandomInt(minLength, maxLength);
let mockedValue = randomString(length);
if ("pattern" in paramSpec) {
return `Replace this value with a string matching RegExp ${paramSpec.pattern}`;
}
if (paramSpec.format === "uri") {
const prefix = "https://microsoft.com/a";
mockedValue = prefix + mockedValue.slice(prefix.length);
}
return mockedValue;
}