Best JavaScript code snippet using mountebank
thrusterCheck-utils.js
Source:thrusterCheck-utils.js
...14 cy.get('@neId').then(neId => {15 getIdBySiteName(token, companyId, siteName)16 cy.get('@siteId').then(siteId => {17 expect(neId).to.not.equal("")18 cy.writeFile(genFilesPath + tmpFile, "{\n\t\"neId\": " + neId + "\n}")19 let cmd = "diff " + genFilesPath + tmpFile + ' ' + genFilesPath + sn + "/" + tmpFile20 exec_cmd_on_local(cmd)21 })22 })23 })24}2526export function checkInfoJson(token, companyName, siteName, sn){27 let tmpFile = 'info.json'28 getIdByCompanyName(token, companyName)29 cy.get('@companyId').then(companyId => {30 expect(companyId).to.not.equal("")31 getSiteNEidByName(token,companyId, siteName)32 cy.get('@neId').then(neId => {33 getIdBySiteName(token, companyId, siteName)34 cy.get('@siteId').then(siteId => {35 expect(neId).to.not.equal("")36 var infoCheck = {}37 infoCheck.company = companyId38 infoCheck.siteId = siteId39 infoCheck.siteName = siteName40 infoCheck.companyName = companyName41 cy.log(JSON.stringify(infoCheck))42 cy.writeFile(genFilesPath + tmpFile, JSON.stringify(infoCheck))43 let cmd = "export PYTHONPATH=../erlang;python cypress/integration/utils/python-util/CheckConsul.py \"['checkJsonFile']\" " + genFilesPath + tmpFile + ' ' + genFilesPath + sn + "/" + tmpFile44 exec_cmd_on_local(cmd)45 })46 })47 })48}4950export function checkNeJson(sn){51 let tmpFile = 'ne.json'52 let neBody = JSON.parse(JSON.stringify(testCPEGlobalConfigBody.ST))53 neBody.controllers[0].mode = "gateway"54 neBody.controllers[1].mode = "parallel"55 neBody.controllers[2].mode = "series"56 cy.log(neBody.controllers[2].mode)57 cy.writeFile(genFilesPath + tmpFile, neBody)58 let cmd = "diff --suppress-common-lines -wy " + genFilesPath + tmpFile + ' ' + genFilesPath + sn + "/" + tmpFile59 exec_cmd_on_local(cmd)60}6162export function checkStartupJson(site, sn, master=true){63 let tmpFile = 'startup_cpe.json'64 var siteCheck = {}65 let mode = ""66 switch (site.type) {67 case "ç½å
³":68 mode = "gateway"69 break;70 case "串è":71 mode = "series"72 break;73 case "ææ":74 mode = "parallel"75 break;76 default:77 cy.log("Unknown type: " + site.type)78 }79 siteCheck.mode = mode80 siteCheck.tunnelPort = parseInt(site.tunnelNum)81 var interfaces = new Array()82 if (mode != "parallel") {83 var i84 for (i=0;i<site.wans.length;i++){85 var interfaceWan = {}86 interfaceWan.name = site.wans[i].ifname87 interfaceWan.type = "WAN"88 interfaceWan.mode = site.wans[i].ip_mode89 interfaceWan.proxy = site.wans[i].proxy90 interfaceWan.usage = "normal"91 if (site.wans[i].hasOwnProperty('gatewayMac')) {92 interfaceWan["gw-mac"] = site.wans[i].gatewayMac93 }94 if (site.wans[i].hasOwnProperty('staticIp') && site.wans[i].staticIp != "") {95 interfaceWan["static-ip"] = site.wans[i].staticIp96 }97 interfaces.push(interfaceWan)98 }99 if (site.lans[0].IDC == true) {100 var interfaceLan = {}101 interfaceLan.name = site.lans[0].ifname102 interfaceLan.type = "LAN"103 interfaceLan.mode = site.lans[0].ip_mode104 interfaceLan.pair = site.lans[0].pair105 interfaces.push(interfaceLan)106 }107 if (site.hasOwnProperty('enablePrivate') && site.enablePrivate == true) {108 var interfaceDIA = {"name":"enp1s0f2","type":"LAN","mode":"DIA"}109 interfaces.push(interfaceDIA)110 }111 } else {112 // WAN113 var interfaceWan = {}114 interfaceWan.name = site.wans[0].ifname115 interfaceWan.type = "WAN"116 interfaceWan.mode = site.wans[0].ip_mode117 interfaceWan.proxy = true118 interfaceWan.usage = "normal"119 interfaceWan["parallel-gateway"] = site.wans[0].gateway120 var wanIps = new Array()121 for (i=0;i<site.wans.length;i++) {122 var wanIp = {}123 wanIp["parallel-ip"] = site.wans[i].ip124 wanIp["parallel-netmask"] = site.wans[i].mask125 wanIp["ip-mode"] = site.wans[i].ip_mode126 wanIps.push(wanIp)127 }128 interfaceWan.ips = wanIps129 if (site.HA == true) {130 if (master == true) {131 interfaceWan["static-ip"] = site.HAaddress.master_wanip132 } else {133 interfaceWan["static-ip"] = site.HAaddress.standby_wanip134 }135 }136 interfaces.push(interfaceWan)137 // LAN138 var interfaceLan = {}139 interfaceLan.name = site.lans[0].ifname140 interfaceLan.type = "LAN"141 interfaceLan.mode = "FIA"142 interfaceLan.pair = site.wans[0].ifname143 interfaceLan["parallel-gateway"] = site.lans[0].gateway144 var lanIps = new Array()145 var lanIp = {}146 lanIp["parallel-ip"] = site.lans[0].ip_addr147 lanIp["parallel-netmask"] = site.lans[0].mask148 lanIp["ip-mode"] = "FIA"149 lanIps.push(lanIp)150 interfaceLan.ips = lanIps151 if (site.HA == true) {152 if (master == true) {153 interfaceLan["static-ip"] = site.HAaddress.master_lanip154 } else {155 interfaceLan["static-ip"] = site.HAaddress.master_lanip156 }157 }158 interfaces.push(interfaceLan)159 }160 siteCheck.interface = interfaces161 if (site.hasOwnProperty('natNet')) {162 siteCheck.natNet = site.natNet163 }164 siteCheck.reportInterval = parseInt(site.reportInterval)165 siteCheck.scoreInterval = parseInt(site.scoreInterval)166 cy.log(JSON.stringify(siteCheck))167 cy.writeFile(genFilesPath + tmpFile, JSON.stringify(siteCheck))168 let cmd = "export PYTHONPATH=../erlang;python cypress/integration/utils/python-util/CheckConsul.py \"['checkJsonFile']\" " + genFilesPath + tmpFile + ' ' + genFilesPath + site.sn + "/" + tmpFile169 exec_cmd_on_local(cmd)170}171172export function checkWirelessJson(site, sn) {173 let tmpFile = 'wireless'174 cy.writeFile(genFilesPath + tmpFile, "##s\n")175 if (site.type == 'ç½å
³') {176 cy.writeFile(genFilesPath + tmpFile, "config wifi-iface 'default_radio0'\n", {flag: 'a+'})177 cy.writeFile(genFilesPath + tmpFile, "\toption ssid '" + site.wifi.ssid + "'\n", {flag: 'a+'})178 cy.writeFile(genFilesPath + tmpFile, "\toption encryption '" + site.wifi.encryption + "'\n", {flag: 'a+'})179 cy.writeFile(genFilesPath + tmpFile, "\toption key '" + site.wifi.key + "'\n", {flag: 'a+'})180 var net_name = (site.wifi.network == 'lan1')?"lan":site.wifi.network.toLowerCase()181 cy.writeFile(genFilesPath + tmpFile, "\toption network '" + net_name + "'\n", {flag: 'a+'})182 cy.writeFile(genFilesPath + tmpFile, "\toption macfilter '" + site.wifi.macfilter + "'\n", {flag: 'a+'})183 var i184 for (i=0;i<site.wifi.mac_list.length;i++) {185 cy.writeFile(genFilesPath + tmpFile, "\tlist maclist '" + site.wifi.mac_list[i] + "'\n", {flag: 'a+'})186 }187 cy.writeFile(genFilesPath + tmpFile, "\toption device 'radio0'\n", {flag: 'a+'})188 cy.writeFile(genFilesPath + tmpFile, "\toption mode 'ap'\n", {flag: 'a+'})189 cy.writeFile(genFilesPath + tmpFile, "\toption disabled '0'\n\n", {flag: 'a+'})190 }191 cy.writeFile(genFilesPath + tmpFile, "\n##e\n\n", {flag: 'a+'})192 let cmd = "diff " + genFilesPath + tmpFile + ' ' + genFilesPath + site.sn + "/" + tmpFile193 exec_cmd_on_local(cmd)194}195196export function checkFirewallJson(site, sn) {197 let tmpFile = 'firewall'198 cy.writeFile(genFilesPath + tmpFile, "##s\n")199 if (site.type == 'ç½å
³') {200 if (site.hasOwnProperty('natPort')) {201 cy.writeFile(genFilesPath + tmpFile, "config rule\n", {flag: 'a+'})202 cy.writeFile(genFilesPath + tmpFile, "\toption name 'Allow-Aiwan-Link'\n", {flag: 'a+'})203 cy.writeFile(genFilesPath + tmpFile, "\toption src 'wan'\n", {flag: 'a+'})204 cy.writeFile(genFilesPath + tmpFile, "\toption proto 'udp'\n", {flag: 'a+'})205 cy.writeFile(genFilesPath + tmpFile, "\toption dest_port '" + site.natPort + "'\n", {flag: 'a+'})206 cy.writeFile(genFilesPath + tmpFile, "\toption target 'ACCEPT'\n", {flag: 'a+'})207 cy.writeFile(genFilesPath + tmpFile, "\t option family 'ipv4'\n", {flag: 'a+'})208 }209 var i210 for (i=0;i<site.lans.length;i++) {211 cy.writeFile(genFilesPath + tmpFile, "config zone\n", {flag: 'a+'})212 var lan_name = (site.lans[i].name == 'LAN1')?"lan":'aiwanlan2'213 cy.writeFile(genFilesPath + tmpFile, "\toption name '" + lan_name + "'\n", {flag: 'a+'})214 cy.writeFile(genFilesPath + tmpFile, "\tlist network '" + lan_name + "'\n", {flag: 'a+'})215 cy.writeFile(genFilesPath + tmpFile, "\toption input 'ACCEPT'\n", {flag: 'a+'})216 cy.writeFile(genFilesPath + tmpFile, "\toption output 'ACCEPT'\n", {flag: 'a+'})217 cy.writeFile(genFilesPath + tmpFile, "\toption forward 'REJECT'\n", {flag: 'a+'})218 if (site.lans[i].IDC) {219 cy.writeFile(genFilesPath + tmpFile, "config forwarding\n", {flag: 'a+'})220 cy.writeFile(genFilesPath + tmpFile, "\toption src '" + lan_name + "'\n", {flag: 'a+'})221 cy.writeFile(genFilesPath + tmpFile, "\toption dest 'aiwan_tun'\n\n", {flag: 'a+'})222 cy.writeFile(genFilesPath + tmpFile, "config forwarding\n", {flag: 'a+'})223 cy.writeFile(genFilesPath + tmpFile, "\toption src 'aiwan_tun'\n", {flag: 'a+'})224 cy.writeFile(genFilesPath + tmpFile, "\toption dest '" + lan_name + "'\n\n", {flag: 'a+'})225 }226 if (site.lans[i].internet) {227 cy.writeFile(genFilesPath + tmpFile, "config forwarding\n", {flag: 'a+'})228 cy.writeFile(genFilesPath + tmpFile, "\toption src '" + lan_name + "'\n", {flag: 'a+'})229 cy.writeFile(genFilesPath + tmpFile, "\toption dest 'wan'\n\n", {flag: 'a+'})230 }231 }232 }233 cy.writeFile(genFilesPath + tmpFile, "\n##e\n\n", {flag: 'a+'})234 let cmd = "diff " + genFilesPath + tmpFile + ' ' + genFilesPath + site.sn + "/" + tmpFile235 exec_cmd_on_local(cmd)236}237238export function checkNetworkJson(site, sn) {239 let tmpFile = 'network'240 cy.writeFile(genFilesPath + tmpFile, "##s\n")241 if (site.type == 'ç½å
³') {242 var i243 for (i=0;i<site.wans.length;i++) {244 cy.writeFile(genFilesPath + tmpFile, "config interface '", {flag: 'a+'})245 var wan_name = (site.wans[i].name == 'WAN1')?"wan":site.wans[i].name.toLowerCase()246 cy.writeFile(genFilesPath + tmpFile, wan_name + "'\n", {flag: 'a+'})247 cy.writeFile(genFilesPath + tmpFile, "\toption ifname '" + site.wans[i].ifname + "'\n", {flag: 'a+'})248 cy.writeFile(genFilesPath + tmpFile, "\toption proto '", {flag: 'a+'})249 switch (site.wans[i].ip_type) {250 case "éæipå°å":251 cy.writeFile(genFilesPath + tmpFile, "static'\n\toption ipaddr '" + site.wans[i].ip + "'\n", {flag: 'a+'})252 var maskStr=ipv4PrefixLen2MaskStr(site.wans[i].mask)253 cy.writeFile(genFilesPath + tmpFile, "\toption netmask '" + maskStr + "'\n\n", {flag: 'a+'})254 break255 case "PPPOE":256 cy.writeFile(genFilesPath + tmpFile, "pppoe'\n\toption username '" + site.wans[i].account + "'\n", {flag: 'a+'})257 cy.writeFile(genFilesPath + tmpFile, "\toption password '" + site.wans[i].password + "'\n", {flag: 'a+'})258 cy.writeFile(genFilesPath + tmpFile, "\toption metric '100'\n\n", {flag: 'a+'})259 break260 case "DHCP":261 cy.writeFile(genFilesPath + tmpFile, "dhcp'\n\n", {flag: 'a+'})262 break263 default:264 cy.log("Unknown ip_type: " + site.wans[i].ip_type)265 }266 }267 for (i=0;i<site.lans.length;i++) {268 cy.writeFile(genFilesPath + tmpFile, "config interface '", {flag: 'a+'})269 var lan_name = (site.lans[i].name == 'LAN1')?"lan":"aiwanlan2"270 cy.writeFile(genFilesPath + tmpFile, lan_name + "'\n", {flag: 'a+'})271 cy.writeFile(genFilesPath + tmpFile, "\toption ifname '" + site.lans[i].phy_ifname + "'\n", {flag: 'a+'})272 cy.writeFile(genFilesPath + tmpFile, "\toption proto '", {flag: 'a+'})273 cy.writeFile(genFilesPath + tmpFile, "static'\n\toption ipaddr '" + site.lans[i].ip_addr + "'\n", {flag: 'a+'})274 var maskStr=ipv4PrefixLen2MaskStr(site.lans[i].mask)275 cy.writeFile(genFilesPath + tmpFile, "\toption netmask '" + maskStr + "'\n", {flag: 'a+'})276 cy.writeFile(genFilesPath + tmpFile, "\toption type 'bridge'\n\n", {flag: 'a+'})277 }278 }279 // wan2 static280 for (i=1;i<site.wans.length;i++) {281 if (site.wans[i].ip_type == 'éæipå°å') {282 cy.writeFile(genFilesPath + tmpFile, "config route 'to_gateway_default_", {flag: 'a+'})283 var wan_name = (site.wans[i].name == 'WAN1')?"wan":site.wans[i].name.toLowerCase()284 cy.writeFile(genFilesPath + tmpFile, wan_name + "'\n", {flag: 'a+'})285 cy.writeFile(genFilesPath + tmpFile, "\toption interface '" + wan_name + "'\n", {flag: 'a+'})286 cy.writeFile(genFilesPath + tmpFile, "\toption table '20'\n", {flag: 'a+'})287 cy.writeFile(genFilesPath + tmpFile, "\toption netmask '0.0.0.0'\n", {flag: 'a+'})288 cy.writeFile(genFilesPath + tmpFile, "\toption target '0.0.0.0'\n", {flag: 'a+'})289 cy.writeFile(genFilesPath + tmpFile, "\toption gateway '" + site.wans[i].gateway + "'\n\n", {flag: 'a+'})290 cy.writeFile(genFilesPath + tmpFile, "config route 'to_gateway_default_main_" + wan_name + "'\n", {flag: 'a+'})291 cy.writeFile(genFilesPath + tmpFile, "\toption interface '" + wan_name + "'\n", {flag: 'a+'})292 cy.writeFile(genFilesPath + tmpFile, "\toption table 'main'\n", {flag: 'a+'})293 cy.writeFile(genFilesPath + tmpFile, "\toption netmask '0.0.0.0'\n", {flag: 'a+'})294 cy.writeFile(genFilesPath + tmpFile, "\toption target '0.0.0.0'\n", {flag: 'a+'})295 cy.writeFile(genFilesPath + tmpFile, "\toption gateway '" + site.wans[i].gateway + "'\n", {flag: 'a+'})296 cy.writeFile(genFilesPath + tmpFile, "\toption metric '100'\n\n", {flag: 'a+'})297 }298 }299 cy.writeFile(genFilesPath + tmpFile, "\n##e\n", {flag: 'a+'})300 cy.writeFile(genFilesPath + tmpFile, "\n##rs\n", {flag: 'a+'})301 if (site.hasOwnProperty('natNet')) {302 cy.writeFile(genFilesPath + tmpFile, "config route\n", {flag: 'a+'})303 cy.writeFile(genFilesPath + tmpFile, "\toption interface 'tun'\n", {flag: 'a+'})304 var natNet = site.natNet.split('/')305 cy.writeFile(genFilesPath + tmpFile, "\toption target '" + natNet[0] + "'\n", {flag: 'a+'})306 cy.writeFile(genFilesPath + tmpFile, "\toption netmask '" + ipv4PrefixLen2MaskStr(natNet[1]) + "'\n\n", {flag: 'a+'})307 }308 cy.writeFile(genFilesPath + tmpFile, "\n##re\n", {flag: 'a+'})309 let cmd = "diff " + genFilesPath + tmpFile + ' ' + genFilesPath + site.sn + "/" + tmpFile310 exec_cmd_on_local(cmd)311}312313export function checkDhcpJson(site, sn) {314 let tmpFile = 'dhcp'315 cy.writeFile(genFilesPath + tmpFile, "##s\n")316 var i317 for (i=0;i<site.lans.length;i++) {318 var if_name = (site.lans[i].name == 'LAN1')?"lan":site.lans[i].name.toLowerCase()319 var lan_name = (site.lans[i].name == 'LAN1')?"lan":"aiwanlan2"320 cy.writeFile(genFilesPath + tmpFile, "config dhcp '" + if_name + "'\n", {flag: 'a+'})321 if (site.lans[i].DHCP==false) {322 cy.writeFile(genFilesPath + tmpFile, "\toption dhcpv4 'disable'\n\n", {flag: 'a+'})323 } else {324 cy.writeFile(genFilesPath + tmpFile, "\toption interface '" + lan_name + "'\n", {flag: 'a+'})325 cy.writeFile(genFilesPath + tmpFile, "\toption start '" + site.lans[i].ip_start.split('.').pop() + "'\n", {flag: 'a+'})326 var count=site.lans[i].ip_end.split('.').pop()-site.lans[i].ip_start.split('.').pop()327 cy.writeFile(genFilesPath + tmpFile, "\toption limit '" + count + "'\n", {flag: 'a+'})328 cy.writeFile(genFilesPath + tmpFile, "\toption leasetime '12h'\n", {flag: 'a+'})329 cy.writeFile(genFilesPath + tmpFile, "\toption dhcpv6 'server'\n", {flag: 'a+'})330 cy.writeFile(genFilesPath + tmpFile, "\toption ra 'server'\n\n", {flag: 'a+'})331 }332 }333 cy.writeFile(genFilesPath + tmpFile, "\n##e\n\n", {flag: 'a+'})334 let cmd = "diff " + genFilesPath + tmpFile + ' ' + genFilesPath + site.sn + "/" + tmpFile335 exec_cmd_on_local(cmd)336}337338export function ipv4PrefixLen2MaskStr (prefixLen) {339 if (prefixLen > 32) {340 return '255.255.255.255'341 }342 var x=prefixLen/8343 var y=prefixLen%8344 var z=4-x-1345 var res=""346 var i347 for (i=0;i<x;i++) {348 res=res.concat('255.')349 }350 var tmp=0351 for (i=0;i<y;i++) {352 tmp=tmp*2+1353 }354 for (i=0;i<8-y;i++) {355 tmp=tmp*2356 }357 res=res.concat(tmp + '.')358 for (i=0;i<z;i++) {359 res=res.concat('0.')360 }361 return res.substring(0,res.length-1)362}363364export function exec_cmd_on_local_ignoreErr(cmd){365 cy.log(cmd)366 cy.exec(cmd,{ failOnNonZeroExit: false }).then(result => {367 cy.writeFile(pythonLogPath,cmd + "\ncmdError:\n" + result.stderr + "\n" + result.stdout + "\n", {flag: 'a+'})368 cy.log(result.stderr)369 cy.log(result.stdout)370 cy.log(result.code)371 })
...
OrgWriter.test.js
Source:OrgWriter.test.js
1/* eslint-disable max-lines */2const writeFile = ORG.Writer.writeFile;3QUnit.module("OrgWriter Tests", () => {4 QUnit.test("should return empty string for non-array input", (assert) => {5 assert.equal(writeFile(), "");6 assert.equal(writeFile("test"), "");7 assert.equal(writeFile({}), "");8 assert.equal(writeFile(Object.assign([], {"TEXT": ""})), "");9 });10 QUnit.test("should return null if string is given as parameter", (assert) => {11 assert.equal(writeFile("test"), "");12 });13 QUnit.test("should return null if object is given as parameter", (assert) => {14 assert.equal(writeFile({}), "");15 });16 QUnit.test("should return null given empty nodes", (assert) => {17 assert.equal(writeFile([]), "");18 });19 QUnit.test("should return empty string if nodes has empty objects", (assert) => {20 assert.equal(writeFile([{"TEXT": [], "PROPS": {}}]), "");21 assert.equal(writeFile([{"TEXT": [], "PROPS": {}}, {"TEXT": [], "PROPS": {}}]), "");22 assert.equal(writeFile([{"TEXT": [], "PROPS": {}}, {"TEXT": [], "PROPS": {}}, {"TEXT": [], "PROPS": {}}]), "");23 });24 QUnit.test("should return as expected only first node", (assert) => {25 assert.equal(writeFile(Object.assign([], {"TEXT": ""})), "");26 assert.equal(writeFile(Object.assign([], {"TEXT": null})), "");27 assert.equal(writeFile(Object.assign([], {"TEXT": "test"})), "test");28 assert.equal(writeFile(Object.assign([], {"CATEGORY": "cat1", "TEXT": "#+CATEGORY: cat1\ntest"})), "#+CATEGORY: cat1\ntest");29 assert.equal(writeFile(Object.assign([], {"CATEGORY": "", "TEXT": "test"})), "test");30 });31 QUnit.test("writeFile should return as expected", (assert) => {32 assert.equal(writeFile([{33 "LVL": "1",34 "TODO": "",35 "TITLE": "test",36 "TEXT": [],37 "PROPS": {}38 }]), "* test");39 assert.equal(writeFile([{40 "LVL": "1",41 "TODO": "SMTH",42 "TITLE": "test",43 "TEXT": [],44 "PROPS": {}45 }]), "* SMTH test");46 assert.equal(writeFile([{47 "LVL": "1",48 "TITLE": "test",49 "TEXT": [],50 "PROPS": {}51 }]), "* test");52 assert.equal(writeFile([{53 "LVL": "1",54 "TODO": "SMTH",55 "PRI": "A",56 "TEXT": [],57 "PROPS": {}58 }]), "* SMTH [#A]");59 assert.equal(writeFile([{60 "LVL": "2",61 "TODO": "SMTH",62 "PRI": "A",63 "TITLE": "test",64 "TEXT": [],65 "PROPS": {}66 }]), "** SMTH [#A] test");67 assert.equal(writeFile(Object.assign([{68 "LVL": "1",69 "TODO": "",70 "TITLE": "test",71 "TEXT": [],72 "PROPS": {}73 }], {"TEXT": "settings"})), "settings\n* test");74 assert.equal(writeFile([{75 "LVL": "1",76 "TODO": "SMTH",77 "PRI": "A",78 "TITLE": "test",79 "TAGS": ":tag1:",80 "TEXT": [],81 "PROPS": {}82 }]), "* SMTH [#A] test\t\t:tag1:");83 assert.equal(writeFile([{84 "LVL": "1",85 "PRI": "A",86 "TITLE": "test",87 "TAGS": ":tag1:",88 "TEXT": [],89 "PROPS": {}90 }]), "* [#A] test\t\t:tag1:");91 assert.equal(writeFile([{92 "LVL": "1",93 "TODO": "SMTH",94 "TITLE": "test",95 "TAGS": ":tag1:",96 "TEXT": [],97 "PROPS": {}98 }]), "* SMTH test\t\t:tag1:");99 assert.equal(writeFile([{100 "LVL": "1",101 "TODO": "SMTH",102 "PRI": "A",103 "TAGS": ":tag1:",104 "TEXT": [],105 "PROPS": {}106 }]), "* SMTH [#A]\t\t:tag1:");107 assert.equal(writeFile([{108 "LVL": "1",109 "TODO": "SMTH",110 "PRI": "A",111 "TITLE": "test",112 "TAGS": ":tag1:",113 "TEXT": [],114 "PROPS": {}115 }]), "* SMTH [#A] test\t\t:tag1:");116 });117 QUnit.test("writeFile should return as expected with schedule", (assert) => {118 assert.equal(writeFile([{119 "LVL": "1",120 "TODO": "SMTH",121 "PRI": "A",122 "TITLE": "test",123 "TAGS": ":tag1:",124 "TEXT": [],125 "SCHEDULED": {126 "ml": 1525294800000,127 },128 "PROPS": {}129 }]), "* SMTH [#A] test\t\t:tag1:\nSCHEDULED: <2018-05-03 Thu>");130 });131 QUnit.test("should return as expected with schedule with hours", (assert) => {132 assert.equal(writeFile([{133 "LVL": "1",134 "TITLE": "test",135 "TEXT": [],136 "SCHEDULED": {137 "ml": 1525294800000,138 "hs": "12:00",139 },140 "PROPS": {}141 }]), "* test\nSCHEDULED: <2018-05-03 Thu 12:00>");142 assert.equal(writeFile([{143 "LVL": "1",144 "TITLE": "test",145 "TEXT": [],146 "SCHEDULED": {147 "ml": 1525294800000,148 "he": "12:00",149 },150 "PROPS": {}151 }]), "* test\nSCHEDULED: <2018-05-03 Thu>");152 assert.equal(writeFile([{153 "LVL": "1",154 "TITLE": "test",155 "TEXT": [],156 "SCHEDULED": {157 "ml": 1525294800000,158 "hs": "12:00",159 "he": "14:00",160 },161 "PROPS": {}162 }]), "* test\nSCHEDULED: <2018-05-03 Thu 12:00-14:00>");163 });164 QUnit.test("should return as expected with schedule with repeater", (assert) => {165 assert.equal(writeFile([{166 "LVL": "1",167 "TITLE": "test",168 "TEXT": [],169 "SCHEDULED": {170 "ml": 1525294800000,171 "r": "+",172 "rmin": "1d",173 },174 "PROPS": {}175 }]), "* test\nSCHEDULED: <2018-05-03 Thu +1d>");176 assert.equal(writeFile([{177 "LVL": "1",178 "TITLE": "test",179 "TEXT": [],180 "SCHEDULED": {181 "ml": 1525294800000,182 "rmin": "1d",183 },184 "PROPS": {}185 }]), "* test\nSCHEDULED: <2018-05-03 Thu>");186 assert.equal(writeFile([{187 "LVL": "1",188 "TITLE": "test",189 "TEXT": [],190 "SCHEDULED": {191 "ml": 1525294800000,192 "r": "+",193 "rmin": "1d",194 "rmax": "2d",195 },196 "PROPS": {}197 }]), "* test\nSCHEDULED: <2018-05-03 Thu +1d/2d>");198 assert.equal(writeFile([{199 "LVL": "1",200 "TITLE": "test",201 "TEXT": [],202 "SCHEDULED": {203 "ml": 1525294800000,204 "hs": "12:00",205 "he": "14:00",206 "r": "+",207 "rmin": "1d",208 "rmax": "2d",209 },210 "PROPS": {}211 }]), "* test\nSCHEDULED: <2018-05-03 Thu 12:00-14:00 +1d/2d>");212 });213 QUnit.test("should return as expected with schedule with warning", (assert) => {214 assert.equal(writeFile([{215 "LVL": "1",216 "TITLE": "test",217 "TEXT": [],218 "SCHEDULED": {219 "ml": 1525294800000,220 "w": "1w",221 },222 "PROPS": {}223 }]), "* test\nSCHEDULED: <2018-05-03 Thu -1w>");224 assert.equal(writeFile([{225 "LVL": "1",226 "TITLE": "test",227 "TEXT": [],228 "SCHEDULED": {229 "ml": 1525294800000,230 "hs": "12:00",231 "he": "14:00",232 "w": "1w",233 },234 "PROPS": {}235 }]), "* test\nSCHEDULED: <2018-05-03 Thu 12:00-14:00 -1w>");236 assert.equal(writeFile([{237 "LVL": "1",238 "TITLE": "test",239 "TEXT": [],240 "SCHEDULED": {241 "ml": 1525294800000,242 "r": "+",243 "rmin": "1d",244 "rmax": "2d",245 "w": "1w",246 },247 "PROPS": {}248 }]), "* test\nSCHEDULED: <2018-05-03 Thu +1d/2d -1w>");249 assert.equal(writeFile([{250 "LVL": "1",251 "TITLE": "test",252 "TEXT": [],253 "SCHEDULED": {254 "ml": 1525294800000,255 "r": "+",256 "rmin": "1d",257 "w": "1w",258 },259 "PROPS": {}260 }]), "* test\nSCHEDULED: <2018-05-03 Thu +1d -1w>");261 assert.equal(writeFile([{262 "LVL": "1",263 "TITLE": "test",264 "TEXT": [],265 "SCHEDULED": {266 "ml": 1525294800000,267 "hs": "12:00",268 "he": "14:00",269 "r": "+",270 "rmin": "1d",271 "rmax": "2d",272 "w": "1w",273 },274 "PROPS": {}275 }]), "* test\nSCHEDULED: <2018-05-03 Thu 12:00-14:00 +1d/2d -1w>");276 });277 QUnit.test("should return as expected with schedule with next timestamp", (assert) => {278 assert.equal(writeFile([{279 "LVL": "1",280 "TITLE": "test",281 "TEXT": [],282 "SCHEDULED": {283 "ml": 1525294800000,284 "n": "",285 },286 "PROPS": {}287 }]), "* test\nSCHEDULED: <2018-05-03 Thu>");288 assert.equal(writeFile([{289 "LVL": "1",290 "TITLE": "test",291 "TEXT": [],292 "SCHEDULED": {293 "ml": 1525294800000,294 "n": "test",295 },296 "PROPS": {}297 }]), "* test\nSCHEDULED: <2018-05-03 Thu>");298 assert.equal(writeFile([{299 "LVL": "1",300 "TITLE": "test",301 "TEXT": [],302 "SCHEDULED": {303 "ml": 1525294800000,304 "n": null,305 },306 "PROPS": {}307 }]), "* test\nSCHEDULED: <2018-05-03 Thu>");308 assert.equal(writeFile([{309 "LVL": "1",310 "TITLE": "test",311 "TEXT": [],312 "SCHEDULED": {313 "ml": 1525294800000,314 "n": {"ml": 1525381200000},315 },316 "PROPS": {}317 }]), "* test\nSCHEDULED: <2018-05-03 Thu>-<2018-05-04 Fri>");318 });319 QUnit.test("should return as expected with deadline", (assert) => {320 assert.equal(writeFile([{321 "LVL": "1",322 "TITLE": "test",323 "DEADLINE": {"ml": 1525294800000},324 "TEXT": [],325 "PROPS": {}326 }]), "* test\nDEADLINE: <2018-05-03 Thu>");327 assert.equal(writeFile([{328 "LVL": "1",329 "TITLE": "test",330 "SCHEDULED": {"ml": 1525294800000},331 "DEADLINE": {"ml": 1525294800000},332 "TEXT": [],333 "PROPS": {}334 }]), "* test\nSCHEDULED: <2018-05-03 Thu> DEADLINE: <2018-05-03 Thu>");335 });336 QUnit.test("should return as expected with properties", (assert) => {337 assert.equal(writeFile([{338 "LVL": "1",339 "TITLE": "test",340 "TEXT": [],341 "PROPS": {}342 }]), "* test");343 assert.equal(writeFile([{344 "LVL": "1",345 "TITLE": "test",346 "TEXT": [],347 "PROPS": {"prop1": "val1"}348 }]), "* test\n:PROPERTIES:\n:prop1: val1\n:END:");349 assert.equal(writeFile([{350 "LVL": "1",351 "TITLE": "test",352 "TEXT": [],353 "PROPS": {"prop1": "val1", "prop2": "val2"}354 }]), "* test\n:PROPERTIES:\n:prop1: val1\n:prop2: val2\n:END:");355 assert.equal(writeFile([{356 "LVL": "1",357 "TITLE": "test",358 "TEXT": [],359 "SCHEDULED": {360 "ml": 1525294800000,361 "n": {"ml": 1525381200000},362 },363 "PROPS": {"prop1": "val1", "prop2": "val2"},364 }]), "* test\nSCHEDULED: <2018-05-03 Thu>-<2018-05-04 Fri>\n:PROPERTIES:\n:prop1: val1\n:prop2: val2\n:END:");365 assert.equal(writeFile([{366 "LVL": "1",367 "TITLE": "test",368 "TEXT": [],369 "DEADLINE": {"ml": 1525294800000},370 "SCHEDULED": {371 "ml": 1525294800000,372 "n": {"ml": 1525381200000},373 },374 "PROPS": {"prop1": "val1", "prop2": "val2"},375 }]), "* test\nSCHEDULED: <2018-05-03 Thu>-<2018-05-04 Fri> DEADLINE: <2018-05-03 Thu>\n:PROPERTIES:\n:prop1: val1\n:prop2: val2\n:END:");376 });377 QUnit.test("should return as expected with text", (assert) => {378 assert.equal(writeFile([{379 "LVL": "1",380 "TITLE": "test",381 "TEXT": ["log1"],382 "PROPS": {}383 }]), "* test\nlog1");384 assert.equal(writeFile([{385 "LVL": "1",386 "TITLE": "test",387 "TEXT": ["log1", "log2"],388 "PROPS": {}389 }]), "* test\nlog1\nlog2");390 assert.equal(writeFile([{391 "LVL": "1",392 "TITLE": "test",393 "TEXT": ["log1", "log2"],394 "PROPS": {"prop1": "val1", "prop2": "val2"},395 }]), "* test\n:PROPERTIES:\n:prop1: val1\n:prop2: val2\n:END:\nlog1\nlog2");396 assert.equal(writeFile([{397 "LVL": "1",398 "TITLE": "test",399 "DEADLINE": {"ml": 1525294800000},400 "SCHEDULED": {401 "ml": 1525294800000,402 "n": {"ml": 1525381200000},403 },404 "TEXT": ["log1", "log2"],405 "PROPS": {"prop1": "val1", "prop2": "val2"},406 }]), "* test\nSCHEDULED: <2018-05-03 Thu>-<2018-05-04 Fri> DEADLINE: <2018-05-03 Thu>\n:PROPERTIES:\n:prop1: val1\n:prop2: val2\n:END:\nlog1\nlog2");407 });408 QUnit.test("should return as expected with multiple nodes", (assert) => {409 assert.equal(writeFile(Object.assign([410 {"LVL": "1", "TITLE": "test1", "TEXT": [], "PROPS": {}},411 {"LVL": "2", "TITLE": "test2", "TEXT": [], "PROPS": {}}], {"TEXT": "setting"})),412 "setting\n* test1\n** test2");413 assert.equal(writeFile(Object.assign([414 {"LVL": "1", "TITLE": "test1", "DEADLINE": {"ml": 1525294800000}, "TEXT": [""], "PROPS": {}},415 {"LVL": "2", "TITLE": "test2", "PROPS": {"prop1": "val1", "prop2": "val2"}, "TEXT": ["text1"]}], {"TEXT": "setting"})),416 "setting\n* test1\nDEADLINE: <2018-05-03 Thu>\n\n** test2\n:PROPERTIES:\n:prop1: val1\n:prop2: val2\n:END:\ntext1");417 });418 QUnit.test("write proper CLOSED", (assert) => {419 assert.equal(writeFile([{420 "LVL": "1",421 "TITLE": "test",422 "TEXT": [],423 "CLOSED": {424 "ml": 1532693134504,425 "hs": "15:05",426 },427 "PROPS": {}428 }]), "* test\nCLOSED: [2018-07-27 Fri 15:05]");429 });430 QUnit.test("write time should be at least 100k nodes/sec @i7-6700HQ", (assert) => {431 var done = assert.async();432 $.get("./OrgParser.test.1000nodes.org", (orgFileTxt) => {433 const nodes = ORG.Parser.parseFile("", orgFileTxt, ORG.defaults);434 const p0 = performance.now();435 writeFile(nodes);436 assert.ok(performance.now() - p0 < 10);437 done();438 }).fail(() => {439 assert.ok(1);440 done();441 });442 });...
actions.js
Source:actions.js
1const fs = require('fs');2const path = require('path');3const chalk = require('chalk');4const lignator = require('lignator');5function writeFile(fileName, fileNameTemp, dir = '.') {6 if (!fs.existsSync(`${dir}/${fileName}`)) {7 const tempPath = path.join(__dirname, '../templates');8 const lastPath = dir.substring(dir.indexOf('/') + 1);9 const fileTemp = fs.readFileSync(`${tempPath}/${dir === '.' ? fileNameTemp : lastPath + '/' + fileNameTemp}`);10 const indent = dir === '.' ? '' : ' ';11 fs.writeFileSync(`${dir}/${fileName}`, fileTemp);12 console.log(chalk.green(`${indent}â Create ${dir === '.' ? fileName : dir + '/' + fileName} successful`));13 } else console.log(chalk.red(`â File ${fileName} already exists!`));14}15function makeDir(dir) {16 if (!fs.existsSync(`./${dir}`)) {17 fs.mkdirSync(`./${dir}`, { recursive: true });18 console.log(chalk.green(`â Make directory ${dir} successful`));19 return true;20 } else {21 console.log(chalk.red(`â Directory ${dir} already exists!`));22 return false;23 }24}25var actions = {};26actions.init = path => {27 var initSuccess = true;28 var startTime = process.hrtime();29 /** make directory if path defined */30 if (path) {31 makeDir(path);32 } else path = '.';33 const expExists = fs.existsSync(`${path}/app.js`) || fs.existsSync(`${path}/package.json`);34 if (!expExists) {35 /** create package.json */36 writeFile(`${path}/package.json`, 'packageTemp.json');37 /** create app.js */38 writeFile(`${path}/app.js`, 'appTemp.js');39 /** create module apidoc */40 const apiDocDir = `${path}/apidoc`;41 if (makeDir(apiDocDir)) {42 writeFile('apidoc.html', 'apiDocTemp.html', apiDocDir);43 writeFile('favicon.ico', 'faviconTemp.ico', apiDocDir);44 writeFile('icon.png', 'iconTemp.png', apiDocDir);45 }46 /** create module config */47 const configDir = `${path}/config`;48 if (makeDir(configDir)) {49 writeFile('config.js', 'configTemp.js', configDir);50 writeFile('graphql.js', 'graphqlTemp.js', configDir);51 writeFile('swagger.js', 'swaggerTemp.js', configDir);52 }53 /** create module docs */54 const docsDir = `${path}/docs`;55 if (makeDir(docsDir)) {56 writeFile('1-introduction.js', '1-introductionTemp.js', docsDir);57 writeFile('meta.js', 'metaTemp.js', docsDir);58 }59 /** create module graphql */60 const graphqlDir = `${path}/graphql`;61 if (makeDir(graphqlDir)) {62 const graphqlResloversDir = `${graphqlDir}/resolvers`;63 if (makeDir(graphqlResloversDir)) {64 writeFile('ExampleResolvers.js', 'ExampleResolversTemp.js', graphqlResloversDir);65 writeFile('index.js', 'indexTemp.js', graphqlResloversDir);66 }67 const graphqlSchemaDir = `${graphqlDir}/schema`;68 if (makeDir(graphqlSchemaDir)) {69 writeFile('schemagraphql.js', 'schemagraphqlTemp.js', graphqlSchemaDir);70 }71 }72 /** create module logs */73 const logsDir = `${path}/logs`;74 if (makeDir(logsDir)) {75 fs.writeFileSync(`${logsDir}/.keep`);76 }77 /** create module models */78 const modelsDir = `${path}/models`;79 if (makeDir(modelsDir)) {80 writeFile('Example.js', 'ExampleTemp.js', modelsDir);81 writeFile('index.js', 'indexTemp.js', modelsDir);82 }83 /** create module restapi */84 const restapiDir = `${path}/restapi`;85 if (makeDir(restapiDir)) {86 const restapiControllersDir = `${restapiDir}/controllers`;87 if (makeDir(restapiControllersDir)) {88 writeFile('BaseController.js', 'BaseControllerTemp.js', restapiControllersDir);89 writeFile('ExampleController.js', 'ExampleControllerTemp.js', restapiControllersDir);90 writeFile('HandleError.js', 'HandleErrorTemp.js', restapiControllersDir);91 writeFile('index.js', 'indexTemp.js', restapiControllersDir);92 }93 const restapiRoutesDir = `${restapiDir}/routes`;94 if (makeDir(restapiRoutesDir)) {95 writeFile('example.js', 'exampleTemp.js', restapiRoutesDir);96 }97 const restapiServicesDir = `${restapiDir}/services`;98 if (makeDir(restapiServicesDir)) {99 writeFile('BaseService.js', 'BaseServiceTemp.js', restapiServicesDir);100 writeFile('ExampleService.js', 'ExampleServiceTemp.js', restapiServicesDir);101 writeFile('index.js', 'indexTemp.js', restapiServicesDir);102 }103 }104 /** create module server */105 const serverDir = `${path}/server`;106 if (makeDir(serverDir)) {107 writeFile('apiLimiter.js', 'apiLimiterTemp.js', serverDir);108 writeFile('cluster.js', 'clusterTemp.js', serverDir);109 writeFile('compression.js', 'compressionTemp.js', serverDir);110 writeFile('cors.js', 'corsTemp.js', serverDir);111 writeFile('graphql.js', 'graphqlTemp.js', serverDir);112 writeFile('log.js', 'logTemp.js', serverDir);113 writeFile('routes.js', 'routesTemp.js', serverDir);114 writeFile('swagger.js', 'swaggerTemp.js', serverDir);115 }116 /** create module utils */117 const utilsDir = `${path}/utils`;118 if (makeDir(utilsDir)) {119 writeFile('index.js', 'indexTemp.js', utilsDir);120 writeFile('ResponseBuilder.js', 'ResponseBuilderTemp.js', utilsDir);121 }122 } else initSuccess = false;123 if (initSuccess) {124 console.log(chalk.green(`\n⨠Initialization done in ${process.hrtime(startTime)}s`));125 return true;126 } else {127 console.log(chalk.red('â Application server already exists!'));128 return false;129 }130};131actions.clean = async path => {132 const pathExists = await fs.existsSync(path);133 if (path !== undefined && pathExists) {134 const startTime = process.hrtime();...
index.js
Source:index.js
...15 * function is not passed.16 *17 * ```js18 * var writeFile = require('write');19 * writeFile('foo.txt', 'This is content...', function(err) {20 * if (err) console.log(err);21 * });22 *23 * // promise24 * writeFile('foo.txt', 'This is content...')25 * .then(function() {26 * // do stuff27 * });28 * ```29 * @name writeFile30 * @param {string|Buffer|integer} `filepath` filepath or file descriptor.31 * @param {string|Buffer|Uint8Array} `data` String to write to disk.32 * @param {object} `options` Options to pass to [fs.writeFile][fs]{#fs_fs_writefile_file_data_options_callback} and/or [mkdirp][]33 * @param {Function} `callback` (optional) If no callback is provided, a promise is returned.34 * @api public35 */36function writeFile(filepath, data, options, cb) {37 if (typeof options === 'function') {38 cb = options;39 options = {};40 }41 if (typeof cb !== 'function') {42 return writeFile.promise.apply(null, arguments);43 }44 if (typeof filepath !== 'string') {45 cb(new TypeError('expected filepath to be a string'));46 return;47 }48 mkdirp(path.dirname(filepath), options, function(err) {49 if (err) {50 cb(err);51 return;52 }53 fs.writeFile(filepath, data, options, cb);54 });55};56/**57 * The promise version of [writeFile](#writefile). Returns a promise.58 *59 * ```js60 * var writeFile = require('write');61 * writeFile.promise('foo.txt', 'This is content...')62 * .then(function() {63 * // do stuff64 * });65 * ```66 * @name .promise67 * @param {string|Buffer|integer} `filepath` filepath or file descriptor.68 * @param {string|Buffer|Uint8Array} `val` String or buffer to write to disk.69 * @param {object} `options` Options to pass to [fs.writeFile][fs]{#fs_fs_writefile_file_data_options_callback} and/or [mkdirp][]70 * @return {Promise}71 * @api public72 */73writeFile.promise = function(filepath, val, options) {74 if (typeof filepath !== 'string') {75 return Promise.reject(new TypeError('expected filepath to be a string'));76 }77 return new Promise(function(resolve, reject) {78 mkdirp(path.dirname(filepath), options, function(err) {79 if (err) {80 reject(err);81 return;82 }83 fs.writeFile(filepath, val, options, function(err) {84 if (err) {85 reject(err);86 return;87 }88 resolve(val);89 });90 });91 });92};93/**94 * The synchronous version of [writeFile](#writefile). Returns undefined.95 *96 * ```js97 * var writeFile = require('write');...
init.js
Source:init.js
...6let inSrc = false;7let inApp = false;8let inAssets = false;9let inEnv = false;10function writeFile(fileName) {11 console.log(`Creating ${fileName} ...`);12 let url;13 if (!inSrc) {14 url =15 "https://raw.githubusercontent.com/RocketCommunicationsInc/astro/main/packages/starter-kits/angular-starter/" +16 fileName;17 } else if (inSrc && !inApp && !inAssets && !inEnv) {18 url =19 "https://raw.githubusercontent.com/RocketCommunicationsInc/astro/main/packages/starter-kits/angular-starter/src/" +20 fileName;21 } else if (inSrc && inApp) {22 url =23 "https://raw.githubusercontent.com/RocketCommunicationsInc/astro/main/packages/starter-kits/angular-starter/src/app/" +24 fileName;25 } else if (inSrc && inAssets) {26 url =27 "https://raw.githubusercontent.com/RocketCommunicationsInc/astro/main/packages/starter-kits/angular-starter/src/assets/" +28 fileName;29 } else if (inSrc && inEnv) {30 url =31 "https://raw.githubusercontent.com/RocketCommunicationsInc/astro/main/packages/starter-kits/angular-starter/src/environments/" +32 fileName;33 }34 const file = fs.createWriteStream(`${fileName}`);35 const request = http.get(url, (res) => {36 res.on("error", (err) => {37 console.log(err);38 process.exit(1);39 });40 res.pipe(file);41 });42}43function changeDir(dir) {44 if (!fs.existsSync(dir)) {45 fs.mkdirSync(dir);46 process.chdir(dir);47 } else {48 process.chdir(dir);49 }50 console.log(`Now working in ${process.cwd()}`);51}52function getAppName(query) {53 const rl = readline.createInterface({54 input: process.stdin,55 output: process.stdout,56 });57 return new Promise((resolve) =>58 rl.question(query, (ans) => {59 rl.close();60 resolve(ans);61 })62 );63}64async function init() {65 let appName = process.argv[2];66 if (!appName) {67 appName = await getAppName("Please enter a root directory name: ");68 }69 console.log("***** Instializing Astro angular starter kit *****");70 changeDir(`./${appName}`);71 console.log(`Root directory ${appName} created!`);72 writeFile("package.json");73 writeFile(".browserslistrc");74 writeFile(".editorconfig");75 writeFile(".gitignore");76 writeFile("angular.json");77 writeFile("karma.conf.js");78 writeFile("README.md");79 writeFile("tsconfig.app.json");80 writeFile("tsconfig.json");81 writeFile("tsconfig.spec.json");82 //create src dir, or change into it if it exists83 changeDir("./src");84 inSrc = true;85 writeFile("favicon.ico");86 writeFile("index.html");87 writeFile("main.ts");88 writeFile("polyfills.ts");89 writeFile("styles.scss");90 writeFile("test.ts");91 console.log(`/src directory created in ${process.cwd()}`);92 //create public dir or change into it if already exists93 changeDir("./app");94 inApp = true;95 writeFile("app.component.html");96 writeFile("app.component.scss");97 writeFile("app.component.spec.ts");98 writeFile("app.component.ts");99 writeFile("app.module.ts");100 console.log(`./app directory created in ${process.cwd()}`);101 //create assets dir102 changeDir("../");103 inApp = false;104 changeDir("./assets");105 inAssets = true;106 writeFile(".gitkeep");107 console.log(`./assets directory created in ${process.cwd()}`);108 changeDir("../");109 inAssets = false;110 changeDir("./environments");111 inEnv = true;112 writeFile("environment.prod.ts");113 writeFile("environment.ts");114 console.log(`./environments directory created in ${process.cwd()}`);115 console.log(`Finished!`);116 console.log(`******************`);117 console.log(`Please run: `);118 console.log(`cd ${appName}`);119 console.log(`npm install`);120 console.log(`npm start`);121 console.log(`Thanks for using AstroUXDS!`);122 console.log(`******************`);123}...
rafinder.txt
Source:rafinder.txt
...21var v9 = new blynk.VirtualPin(9);2223// Setting GPIOs up as outputs24for(var i in pins) {25 setTimeout(function() {fs.writeFile(path + 'export', i, done);26 }, delay);27 setTimeout(function() {fs.writeFile(path + 'gpio' + i.toString() + '/direction', 'out', done);28 }, delay);29 }303132// fs.writeFile(path + 'export', 30, done); // v0 - domke33// fs.writeFile(path + 'export', 60, done); // v1 - gabbi34// fs.writeFile(path + 'export', 31, done); // v2 - cole 35// fs.writeFile(path + 'export', 50, done); // v3 - vibha36// fs.writeFile(path + 'export', 48, done); // v4 - bailey37// fs.writeFile(path + 'export', 51, done); // v5 - randy38// fs.writeFile(path + 'export', 5, done); // v6 - off campus39// fs.writeFile(path + 'export', 4, done); // v7 - around campus40// fs.writeFile(path + 'export', 3, done); // v8 - class41// fs.writeFile(path + 'export', 2, done); // v9 - apartments4243// fs.writeFile(path + 'gpio30/direction', 'out', done);44// fs.writeFile(path + 'gpio60/direction', 'out', done);45// fs.writeFile(path + 'gpio31/direction', 'out', done);46// fs.writeFile(path + 'gpio50/direction', 'out', done);47// fs.writeFile(path + 'gpio48/direction', 'out', done);48// fs.writeFile(path + 'gpio51/direction', 'out', done);49// fs.writeFile(path + 'gpio5/direction', 'out', done);50// fs.writeFile(path + 'gpio4/direction', 'out', done);51// fs.writeFile(path + 'gpio3/direction', 'out', done);52// fs.writeFile(path + 'gpio2/direction', 'out', done);535455// DUTY56v0.on('write', function(param) { // domke57 console.log('V0:', param[0]);58 fs.writeFile(path + 'gpio30/value', param[0], done);59});6061v1.on('write', function(param) { // gabbi62 console.log('V1:', param[0]); 63 fs.writeFile(path + 'gpio60/value', param[0], done);64});6566v2.on('write', function(param) { // cole 67 console.log('V2:', param[0]);68 fs.writeFile(path + 'gpio31/value', param[0], done);69});7071v3.on('write', function(param) { // vibha72 console.log('V3:', param[0]);73 fs.writeFile(path + 'gpio50/value', param[0], done);74});7576v4.on('write', function(param) { // bailey77 console.log('V4:', param[0]);78 fs.writeFile(path + 'gpio48/value', param[0], done);79});8081v5.on('write', function(param) { // randy82 console.log('V5:', param[0]);83 fs.writeFile(path + 'gpio51/value', param[0], done);84});8586// LOCATION87v6.on('write', function(param) { // off campus88 console.log('V6:', param[0]);89 fs.writeFile(path + 'gpio5/value', param[0], done);90});9192v7.on('write', function(param) { // around campus93 console.log('V7:', param[0]);94 fs.writeFile(path + 'gpio4/value', param[0], done);95});9697v8.on('write', function(param) { // class98 console.log('V8:', param[0]);99 fs.writeFile(path + 'gpio3/value', param[0], done);100});101102v9.on('write', function(param) { // apartments103 console.log('V9:', param[0]);104 fs.writeFile(path + 'gpio2/value', param[0], done);105});106107function done() {108 console.log("Done");
...
encoder.test.js
Source:encoder.test.js
...22 t.is(err.message, 'Unsupported format \'txt\'')23})24test('save() should reject if file cannot be written', async t => {25 const writeFile = td.function()26 td.when(writeFile(td.matchers.anything(), td.matchers.anything()))27 .thenCallback(new Error('no such file or directory'))28 td.replace(fs, 'writeFile', writeFile)29 const err = await t.throwsAsync(encoder.save({}, 'write-test.json', 'json'))30 t.regex(err.message, /no such file or directory/)31})32test('save() should write JSON file', async t => {33 const writeFile = td.function()34 td.when(writeFile(td.matchers.anything(), td.matchers.anything())).thenCallback()35 td.replace(fs, 'writeFile', writeFile)36 await t.notThrowsAsync(encoder.save({foo: 'bar'}, 'write-test.json', 'json'))37 td.verify(writeFile('write-test.json', '{"foo":"bar"}', td.matchers.isA(Function)))38})39test('save() should write YAML file', async t => {40 const writeFile = td.function()41 td.when(writeFile(td.matchers.anything(), td.matchers.anything())).thenCallback()42 td.replace(fs, 'writeFile', writeFile)43 await t.notThrowsAsync(encoder.save({foo: 'bar'}, 'write-test.yaml', 'yaml'))44 td.verify(writeFile('write-test.yaml', 'foo: bar\n', td.matchers.isA(Function)))...
write-file.js
Source:write-file.js
1var test = require('./helpers/test');2test('writeFile', function(fs, t) {3 fs.writeFile('/test.txt', 'hello', function(err) {4 t.notOk(err);5 fs.readFile('/test.txt', function(err, data) {6 t.same(data.toString(), 'hello');7 fs.stat('/test.txt', function(err, stat) {8 t.same(stat.mode, 0666);9 t.same(stat.size, 5);10 t.ok(stat.isFile());11 t.end();12 });13 });14 });15});16test('writeFile + encoding', function(fs, t) {17 fs.writeFile('/foo', new Buffer('foo'), function(err) {18 t.notOk(err);19 fs.readFile('/foo', function(err, data) {20 t.same(data.toString(), 'foo');21 fs.writeFile('/foo', '68656c6c6f', 'hex', function(err) {22 t.notOk(err);23 fs.readFile('/foo', function(err, data) {24 t.same(data.toString(), 'hello');25 t.end();26 });27 });28 });29 });30});31test('multiple writeFile', function(fs, t) {32 fs.writeFile('/foo', new Buffer('foo'), function(err) {33 t.notOk(err);34 fs.writeFile('/foo', new Buffer('bar'), function(err) {35 t.notOk(err);36 fs.writeFile('/foo', new Buffer('baz'), function(err) {37 t.notOk(err);38 fs.readFile('/foo', function(err, data) {39 t.same(data.toString(), 'baz');40 t.end();41 });42 });43 });44 });45});46test('writeFile + mode', function(fs, t) {47 fs.writeFile('/foo', new Buffer('foo'), {mode:0644}, function(err) {48 t.notOk(err);49 fs.stat('/foo', function(err, stat) {50 t.same(stat.mode, 0644);51 t.end();52 });53 });54});55test('overwrite file', function(fs, t) {56 fs.writeFile('/test.txt', 'foo', function(err) {57 t.notOk(err);58 fs.writeFile('/test.txt', 'bar', function(err) {59 t.notOk(err);60 fs.readFile('/test.txt', function(err, data) {61 t.same(data.toString(), 'bar');62 t.end();63 });64 });65 });66});67test('cannot writeFile to dir', function(fs, t) {68 fs.mkdir('/test', function() {69 fs.writeFile('/test', 'hello', function(err) {70 t.ok(err);71 t.same(err.code, 'EISDIR');72 t.end();73 });74 });...
Using AI Code Generation
1var fs = require('fs');2var imposter = {3 stubs: [{4 responses: [{5 is: {6 }7 }]8 }]9};10fs.writeFile('imposters/imposter.json', JSON.stringify(imposter), function (err) {11 if (err) {12 console.log(err);13 }14 console.log('Saved');15});16var mb = require('mountebank');17mb.create({18}, function (error, imposter) {19 if (error) {20 console.log(error);21 } else {22 console.log(imposter.port);23 }24});25var mb = require('mountebank');26mb.create({27}, function (error, imposter) {28 if (error) {29 console.log(error);30 } else {31 console.log(imposter.port);32 }33});34var mb = require('mountebank');35mb.create({36}, function (error, imposter) {37 if (error) {38 console.log(error);39 } else {40 console.log(imposter.port);41 }42});43var mb = require('mountebank');44mb.create({45}, function (error, imposter) {46 if (error) {47 console.log(error);48 } else {49 console.log(imposter.port);50 }51});
Using AI Code Generation
1const mb = require('mountebank');2const fs = require('fs');3const port = 2525;4const imposter = {5 {6 {7 is: {8 headers: {9 },10 body: fs.readFileSync('response.json', 'utf-8')11 }12 }13 }14};15mb.create({ port: 2525, pidfile: 'mb.pid', logfile: 'mb.log' }).then(() => {16 return mb.post('/imposters', imposter);17}).then(response => {18 console.log(`SUCCESS! ${response.body}`);19}).catch(error => {20 console.error(`ERROR: ${error.message}`);21});22{23}
Using AI Code Generation
1const { createImposter, deleteImposter, deleteAllImposters } = require('mountebank');2const imposter = {3 {4 predicates: [{ equals: { path: '/test' } }],5 responses: [{ is: { body: 'Hello World!' } }],6 },7};8createImposter(imposter)9 .then((imposter) => {10 console.log(`Created imposter on port ${imposter.port}`);11 return deleteImposter(imposter.port);12 })13 .then(() => console.log('Deleted imposter'))14 .catch(console.error);
Using AI Code Generation
1const mb = require('mountebank');2const port = 2525;3const path = require('path');4const fs = require('fs');5const impostor = require('./impostor.json');6const impostor2 = require('./impostor2.json');7const impostor3 = require('./impostor3.json');8const impostor4 = require('./impostor4.json');9mb.create({10}, function (error, mb) {11 if (error) {12 console.error(error);13 } else {14 console.log('Server running on port: ' + port);15 mb.post('/imposters', impostor, function (error, response) {16 if (error) {17 console.error(error);18 } else {19 console.log('Impostor created');20 }21 });22 mb.post('/imposters', impostor2, function (error, response) {23 if (error) {24 console.error(error);25 } else {26 console.log('Impostor created');27 }28 });29 mb.post('/imposters', impostor3, function (error, response) {30 if (error) {31 console.error(error);32 } else {33 console.log('Impostor created');34 }35 });36 mb.post('/imposters', impostor4, function (error, response) {37 if (error) {38 console.error(error);39 } else {40 console.log('Impostor created');41 }42 });43 }44});45{46 {47 {48 "is": {49 "headers": {50 },51 "body": "{\"name\":\"joe\"}"52 }53 }54 {55 "equals": {
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!