Best JavaScript code snippet using root
client-wrapper.ts
Source:client-wrapper.ts
1import { blacklists } from './../../src/models/constants/blacklists.contant';2import * as chai from 'chai';3import { default as sinon } from 'ts-sinon';4import * as sinonChai from 'sinon-chai';5import * as justForIdeTypeHinting from 'chai-as-promised';6import 'mocha';7import { ClientWrapper } from '../../src/client/client-wrapper';8chai.use(sinonChai);9chai.use(require('chai-as-promised'));10describe('ClientWrapper', () => {11 const expect = chai.expect;12 let dnsStub: any;13 let dkimStub: any;14 let dnsblStub: any;15 let clientWrapperUnderTest: ClientWrapper;16 beforeEach(() => {17 dnsStub = sinon.stub();18 dnsStub.resolveTxt = sinon.stub();19 dnsStub.lookup = sinon.stub();20 dnsStub.resolveCname = sinon.stub();21 dkimStub = sinon.stub();22 dkimStub.getKey = sinon.stub();23 dnsblStub = sinon.stub();24 dnsblStub.batch = sinon.stub();25 });26 it('getCNameStatus', async () => {27 const sampleDomain = 'anyDomain';28 const sampleCName = 'anyCName';29 const expectedCNameRecord: any = {30 [sampleDomain]: sampleCName,31 };32 let actualResult;33 // Set up test instance.34 dnsStub.resolveCname.callsArgWith(1, null, [sampleCName]);35 clientWrapperUnderTest = new ClientWrapper(dnsStub, dkimStub);36 // Call the method and make assertions.37 actualResult = await clientWrapperUnderTest.getCNameStatus(sampleDomain);38 expect(dnsStub.resolveCname).to.have.been.calledWith(sampleDomain);39 expect(actualResult).to.eql(expectedCNameRecord);40 });41 it('getCNameStatus:apiError', async () => {42 const sampleDomain = 'anyDomain';43 const anError = new Error('An API Error');44 // Set up test instance.45 dnsStub.resolveCname.callsArgWith(1, anError, null);46 clientWrapperUnderTest = new ClientWrapper(dnsStub);47 // Call the method and make assertions.48 expect(clientWrapperUnderTest.getCNameStatus(sampleDomain))49 .to.be.rejectedWith(anError);50 });51 it('getCNameStatus:apiError:enodata', async () => {52 const sampleDomain = 'anyDomain';53 const anError = new Error('An API Error');54 // Set up test instance.55 anError['code'] = 'ENODATA';56 dnsStub.resolveCname.callsArgWith(1, anError, null);57 clientWrapperUnderTest = new ClientWrapper(dnsStub);58 // Call the method and make assertions.59 expect(clientWrapperUnderTest.getCNameStatus(sampleDomain))60 .to.be.rejectedWith(anError);61 });62 it('getDomainBlacklistStatus', async () => {63 const sampleDomain = 'anyDomain';64 const sampleFamily = 'anyFamily';65 const expectedBlacklistRecord: any = {66 bl1: false,67 bl2: false,68 bl3: false,69 };70 let actualResult;71 // Set up test instance.72 dnsStub.lookup.callsArgWith(1, null, 'anyAddress', sampleFamily);73 dnsblStub.batch.returns([74 { blacklist: 'bl1', listed: false },75 { blacklist: 'bl2', listed: false },76 { blacklist: 'bl3', listed: false },77 ]);78 clientWrapperUnderTest = new ClientWrapper(dnsStub, dkimStub, dnsblStub);79 // Call the method and make assertions.80 actualResult = await clientWrapperUnderTest.getDomainBlacklistStatus(sampleDomain);81 expect(dnsStub.lookup).to.have.been.calledWith(sampleDomain);82 expect(dnsblStub.batch).to.have.been.calledWith(['anyAddress'], blacklists);83 expect(actualResult).to.eql(expectedBlacklistRecord);84 });85 it('getDomainBlacklistStatus:apiError', async () => {86 const sampleDomain = 'anyDomain';87 const sampleFamily = 'anyFamily';88 const anError = new Error('An API Error');89 // Set up test instance.90 dnsStub.lookup.callsArgWith(1, null, 'anyAddress', sampleFamily);91 dnsblStub.batch.rejects(new Error('Error'));92 clientWrapperUnderTest = new ClientWrapper(dnsStub, dkimStub, dnsblStub);93 // Call the method and make assertions.94 expect(clientWrapperUnderTest.getDomainBlacklistStatus(sampleDomain))95 .to.be.rejectedWith(anError);96 });97 it('getIpAddressByDomain', async () => {98 const sampleDomain = 'anyDomain';99 const sampleFamily = 'anyFamily';100 const expectedIpAddressRecord: any = {101 address: 'anyAddress',102 family: `IPv${sampleFamily}`,103 };104 let actualResult;105 // Set up test instance.106 dnsStub.lookup.callsArgWith(1, null, expectedIpAddressRecord['address'], sampleFamily);107 clientWrapperUnderTest = new ClientWrapper(dnsStub, dkimStub);108 // Call the method and make assertions.109 actualResult = await clientWrapperUnderTest.getIpAddressByDomain(sampleDomain);110 expect(dnsStub.lookup).to.have.been.calledWith(sampleDomain);111 expect(actualResult).to.eql(expectedIpAddressRecord);112 });113 it('findDkimRecord', async () => {114 const sampleDomain = 'anyDomain';115 const sampleSelector = 'anySelector';116 const expectedDkimRecord: any = {117 version: 'sampleVersion',118 type: 'sampleType',119 flags: null,120 granularity: null,121 hash: null,122 notes: null,123 service: null,124 key: 'sampleKey',125 };126 let actualResult;127 // Set up test instance.128 dkimStub.getKey.callsArgWith(2, null, expectedDkimRecord);129 clientWrapperUnderTest = new ClientWrapper(dnsStub, dkimStub);130 // Call the method and make assertions.131 actualResult = await clientWrapperUnderTest.findDkimRecord(sampleDomain, sampleSelector);132 expect(dkimStub.getKey).to.have.been.calledWith(sampleDomain, sampleSelector);133 expect(actualResult).to.equal(expectedDkimRecord);134 });135 it('findDkimRecord:apiError:enodata', async () => {136 const sampleDomain = 'anyDomain';137 const sampleSelector = 'anySelector';138 const anError = new Error('An API Error');139 // Set up test instance.140 anError['code'] = 'ENODATA';141 dkimStub.getKey.callsArgWith(1, anError);142 clientWrapperUnderTest = new ClientWrapper(dnsStub);143 // Call the method and make assertions.144 expect(clientWrapperUnderTest.findDkimRecord(sampleDomain, sampleSelector))145 .to.be.rejectedWith(anError);146 });147 it('findDkimRecord:apiError', async () => {148 const sampleDomain = 'anyDomain';149 const sampleSelector = 'anySelector';150 const anError = new Error('An API Error');151 // Set up test instance.152 dkimStub.getKey.callsArgWith(1, anError);153 clientWrapperUnderTest = new ClientWrapper(dnsStub);154 // Call the method and make assertions.155 expect(clientWrapperUnderTest.findDkimRecord(sampleDomain, sampleSelector))156 .to.be.rejectedWith(anError);157 });158 it('findSpfRecordByDomain', async () => {159 const sampleDomain = 'anyDomain';160 const expectedSpfRecord: any = [161 [162 'v=spf1 include:_spf.google.com ~all',163 ],164 ];165 let actualResult;166 // Set up test instance.167 dnsStub.resolveTxt.callsArgWith(1, null, expectedSpfRecord);168 clientWrapperUnderTest = new ClientWrapper(dnsStub);169 // Call the method and make assertions.170 actualResult = await clientWrapperUnderTest.findSpfRecordByDomain(sampleDomain);171 expect(dnsStub.resolveTxt).to.have.been.calledWith(sampleDomain);172 expect(actualResult[0]).to.equal(expectedSpfRecord[0]);173 });174 it('findSpfRecordByDomain:apiError', async () => {175 const sampleDomain = 'anyDomain';176 const anError = new Error('An API Error');177 // Set up test instance.178 dnsStub.resolveTxt.callsArgWith(1, anError);179 clientWrapperUnderTest = new ClientWrapper(dnsStub);180 // Call the method and make assertions.181 expect(clientWrapperUnderTest.findSpfRecordByDomain(sampleDomain))182 .to.be.rejectedWith(anError);183 });184 it('findSpfRecordByDomain:apiError:enodata', async () => {185 const sampleDomain = 'anyDomain';186 const anError = new Error('An API Error');187 // Set up test instance.188 anError['code'] = 'ENODATA';189 dnsStub.resolveTxt.callsArgWith(1, anError);190 clientWrapperUnderTest = new ClientWrapper(dnsStub);191 // Call the method and make assertions.192 const actualResult = await clientWrapperUnderTest.findSpfRecordByDomain(sampleDomain);193 expect(actualResult).to.deep.equal([]);194 });195 it('findSpfRecordByDomain:apiError:enotfound', async () => {196 const sampleDomain = 'anyDomain';197 const anError = new Error('An API Error');198 // Set up test instance.199 anError['code'] = 'ENOTFOUND';200 dnsStub.resolveTxt.callsArgWith(1, anError);201 clientWrapperUnderTest = new ClientWrapper(dnsStub);202 // Call the method and make assertions.203 return expect(clientWrapperUnderTest.findSpfRecordByDomain(sampleDomain))204 .to.be.rejected;205 });206 it('findSpfRecordByDomain:apiThrows', async () => {207 const sampleDomain = 'anyDomain';208 const anError = new Error('An API Error');209 // Set up test instance.210 dnsStub.resolveTxt.throws(anError);211 clientWrapperUnderTest = new ClientWrapper(dnsStub);212 // Call the method and make assertions.213 expect(clientWrapperUnderTest.findSpfRecordByDomain(sampleDomain))214 .to.be.rejectedWith(anError);215 });...
App.js
Source:App.js
1/*2 Copyright (c) Data-Blitz, Inc. All Rights Reserved3 THIS IS PROPRIETARY SOURCE CODE OF Data-Blitz, Inc. (Data-Blitz)4 This source code may not be copied, reverse engineered, or altered for any purpose.5 This source code is to be used exclusively by approved users and customers of Data-Blitz.6 */7var cradle = require('cradle');8var pushChunk = function (aDocumentChunk, aDatabase, aCallback) {9 aDatabase.save(aDocumentChunk,10 function (anError, anOutcome) {11 if (anErr)12 aCallback(anErr)13 else14 aCallback(null, anOutcome)15 });16};17var chunkPush = function (aDocuments, aDatabase, aChunkSize, aCallback) {18 var size = aDocuments.length / aChunkSize;19 var numberOfChunks = Math.floor(size);20 var currentDocIndex = 0;21 var documentsChunk = null;22 var chunkOutcomes = [];23 for (chunk = 0; chunk < numberOfChunks; chunk++) {24 documentsChunk = [];25 for (docIndex = 0; docIndex < aChunkSize; docIndex++) {26 var doc = aDocuments[currentDocIndex++];27 documentsChunk.push(doc);28 }29 pushChunk(documentsChunk, aDatabase,30 function (anError, anOutcome) {31 chunkOutcomes.push(anOutcome);32 });33 }34 //deal with the remainder35 remainder = aDocuments.length - (numberOfChunks * aChunkSize);36 var documentsChunk = [];37 for (i = 0; i < remainder; i++) {38 var doc = aDocuments[currentDocIndex++];39 documentsChunk.push(doc);40 }41 pushChunk(documentsChunk, aDatabase,42 function (anError, anOutcome) {43 if (anError)44 aCallback(anError);45 chunkOutcomes.push(anOutcome);46 aCallback(null, chunkOutcomes);47 }48 );49};50module.exports = {51 self: null,52 dataStore: null,53 chunkSize: 1000,54 create: function (aDsl, aCallback) {55 var database = aDsl.key;56 self.logger.log('info', self.name + 'create:' + JSON.stringify(aDsl));57 connection = cradle.Connection;58 var database = new (connection)().database(database);// database changes types59 database.exists(function (anError, anExists) {60 if (anError)61 aCallback(anError);62 else if (!anExists) {63 database.create();64 self.logger.log('info', self.name + 'created database');65 }66 else {67 //destroy, erases everything68 database.destroy(function (anError, anOutcome) {69 if (anError)70 aCallback(anError);71 else {72 database.create();73 self.logger.log('info', self.name + ' Recreated database ' + 'reset everything');74 aCallback(null, anOutcome);75 }76 });77 }78 });79 },80 /*81 The index DSL can contain meta data describing how perspectives, perspective, views or a single view are to be indexed82 */83 index: function (aDsl, aCallback) {84 var indexHandler = this.indexHandlers[aDsl.perspective.indexHandler]85 var designDoc = indexHandler.handle(aDsl.perspective);86 if (!designDoc)87 aCallback("problems builting designDoc")88 connection = cradle.Connection;89 var database = new (connection)().database(aDsl.database);90 database.exists(function (anError, anExists) {91 if (anError)92 aCallback(anError);93 else if (!anExists)94 database.create();95 database.save( designDoc,96 function (anError, anOutcome) {97 if (anError) {98 self.logger.log('error', self.name + ' unsucessfully tried to save:' + designDoc + ' because ' + anError);99 aCallback(anError);100 }101 else {102 self.logger.log('info', self.name + ' successfully wrote: ' + designDoc + ' documents');103 aCallback(null, anOutcome);104 }105 });106 });107 },108 fetch: function (aDsl, aCallback) {109 connection = cradle.Connection;110 var database = new (connection)().database(aDsl.database);111 database.get(aDsl._id, function (anError, aDocument) {112 if (anError)113 aCallback(anError, null);114 else115 aCallback(null, aDocument);116 });117 },118 push: function (aDsl, aCallback) {119 database = aDsl.database;120 payload = aDsl.payload;121 connection = cradle.Connection;122 var database = new (connection)().database(database);123 database.exists(function (anError, anExists) {124 if (anError)125 aCallback(anError);126 else if (!anExists)127 database.create();128 if (payload.length >= self.chunkSize)129 chunkPush(payload, database, self.chunkSize, function (anError, anOutcome) {130 if (anError) {131 self.logger.log('error', self.name + ' unsucessfully chunked:' + payload.length + ' chunk size: ' + self.chunkSize + anError);132 aCallback(anError);133 }134 else {135 self.logger.log('info', self.name + ' sucessfully chunked:' + payload.length + ' chunk size: ' + self.chunkSize);136 aCallback(null, anOutcome);137 }138 });139 else // couchdb accepts a single document or an array of documents. Arrays are iterated over saving each document separately140 database.save(payload,141 function (anError, anOutcome) {142 if (anError) {143 self.logger.log('error', self.name + ' unsucessfully tried to save:' + payload.length + ' because ' + anError);144 aCallback(anError);145 }146 else {147 self.logger.log('info', self.name + ' successfully wrote: ' + payload.length + ' documents');148 aCallback(null, anOutcome);149 }150 });151 });152 },153 view: function (aDsl, aCallback) {154 database = aDsl.database;155 perspective = aDsl.perspective;156 view = aDsl.view;157 input = aDsl.dsl;158 connection = cradle.Connection;159 var dataStore = new (connection)().database(database);160 var designDocId = perspective + '/' + view;161 dataStore.view(designDocId, input, function (anErr, aDocuments) {162 if (anErr)163 aCallback(anErr);164 else165 aCallback(null, aDocuments);166 })167 },168 delete: function (aDsl, aCallback) {169 connection = cradle.Connection;170 var database = new (connection)().database(aDsl.database);171 database.destroy(function (anError, anOutcome) {172 if (anError)173 aCallback(anError);174 else175 aCallback(null, anOutcome);176 });177 },178 ready: function (aDsl) {179 self = this;180 self.logger.log('info', self.name + ' couchdbDataStoreController is ready');181 return (self);182 }183 ,184 shutdown: function (aDsl) {185 },186 audit: function (aDsl) {187 }...
error.test.js
Source:error.test.js
1import expect from 'expect'2import KiteError from './error'3describe('KiteError', () =>4 it('should provide a generic Error object', () => {5 expect(KiteError).toExist()6 let anError = new KiteError('an error')7 expect(anError).toExist()8 expect(anError instanceof Error).toBe(true)9 expect(anError.name).toBe('KiteError')10 expect(anError.message).toBe('an error')11 }))12describe('KiteError.codeIs', () =>13 it('should support code checking on a given error', () => {14 let anError = new KiteError('an error')15 anError.code = 10016 expect(KiteError.codeIs(100)(anError)).toBe(true)17 expect(KiteError.codeIs(101)(anError)).toBe(false)18 }))19describe('KiteError.codeIsnt', () =>20 it('should support code checking on a given error', () => {21 let anError = new KiteError('an error')22 anError.code = 10023 expect(KiteError.codeIsnt(101)(anError)).toBe(true)24 expect(KiteError.codeIsnt(100)(anError)).toBe(false)25 }))26describe('KiteError.makeProperError', () =>27 it('should generate a proper error', () => {28 let anError = KiteError.makeProperError({29 type: 'AnErrorType',30 code: 200,31 message: 'an error',32 })33 expect(anError).toExist()34 expect(anError instanceof Error).toBe(true)35 expect(anError.name).toBe('KiteError')36 expect(anError.type).toBe('AnErrorType')37 expect(anError.code).toBe(200)38 expect(anError.message).toBe('an error')...
Using AI Code Generation
1rootError.anError();2rootError.anError();3rootError.anError();4rootError.anError();5rootError.anError();6rootError.anError();7rootError.anError();8rootError.anError();9rootError.anError();10rootError.anError();11rootError.anError();12rootError.anError();13rootError.anError();14rootError.anError();15rootError.anError();16rootError.anError();17rootError.anError();18rootError.anError();19rootError.anError();20rootError.anError();21rootError.anError();22rootError.anError();
Using AI Code Generation
1var myError = new Error();2myError.name = "MyError";3myError.message = "This is my error";4throw myError;5var myError = new Error();6myError.name = "MyError";7myError.message = "This is my error";8throw myError;9var myError = new Error();10myError.name = "MyError";11myError.message = "This is my error";12throw myError;13var myError = new Error();14myError.name = "MyError";15myError.message = "This is my error";16throw myError;17var myError = new Error();18myError.name = "MyError";19myError.message = "This is my error";20throw myError;21var myError = new Error();22myError.name = "MyError";23myError.message = "This is my error";24throw myError;25var myError = new Error();26myError.name = "MyError";27myError.message = "This is my error";28throw myError;29var myError = new Error();30myError.name = "MyError";31myError.message = "This is my error";32throw myError;33var myError = new Error();34myError.name = "MyError";35myError.message = "This is my error";36throw myError;37var myError = new Error();38myError.name = "MyError";39myError.message = "This is my error";40throw myError;41var myError = new Error();42myError.name = "MyError";43myError.message = "This is my error";44throw myError;45var myError = new Error();46myError.name = "MyError";47myError.message = "This is my error";48throw myError;49var myError = new Error();50myError.name = "MyError";
Using AI Code Generation
1var root = require('./root.js');2root.anError();3exports.anError = function(){4 throw new Error('This is an error');5}6var root = require('./root.js');7try{8 root.anError();9}catch(e){10 console.log(e);11}12var root = require('./root.js');13try{14 root.anError();15}catch(e){16 console.log(e);17}finally{18 console.log('This will be executed no matter what');19}20var root = require('./root.js');21try{22 root.anError();23}catch(e){24 console.log(e);25}finally{26 console.log('This will be executed no matter what');27 console.log('This will be executed no matter what');28}29var root = require('./root.js');30try{31 root.anError();32}catch(e){33 console.log(e);34}finally{35 console.log('This will be executed no matter what');36 console.log('This will be executed no matter what');37 console.log('This
Using AI Code Generation
1var error = new Error("This is an error");2throw error;3var error = new Error("This is an error");4throw error;5var error = new Error("This is an error");6throw error;7var error = new Error("This is an error");8throw error;9var error = new Error("This is an error");10throw error;11var error = new Error("This is an error");12throw error;13var error = new Error("This is an error");14throw error;15var error = new Error("This is an error");16throw error;17var error = new Error("This is an error");18throw error;19var error = new Error("This is an error");20throw error;21var error = new Error("This is an error");22throw error;23var error = new Error("This is an error");24throw error;25var error = new Error("This is an error");26throw error;
Using AI Code Generation
1var anError = require('root').anError;2anError('test error');3exports.anError = function(msg) {4 throw new Error(msg);5};6var fs = require('fs');7fs.readFile(__dirname + '/package.json', function(err, data) {8 if (err) {9 return console.error(err);10 }11 console.log(data.toString());12});13var _ = require('underscore');14var arr = [1, 2, 3, 4, 5];15var newArr = _.map(arr, function(item) {16 return item * 2;17});18console.log(newArr);
Using AI Code Generation
1var anError = new Error("Error message");2console.log(anError.message);3console.log(anError.stack);4 at Object.<anonymous> (/Users/andrew/Code/NodeJS/NodeJSInAction/test.js:3:17)5 at Module._compile (module.js:456:26)6 at Object.Module._extensions..js (module.js:474:10)7 at Module.load (module.js:356:32)8 at Function.Module._load (module.js:312:12)9 at Function.Module.runMain (module.js:497:10)10 at startup (node.js:119:16)11toString() Returns a string representation of the error
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!!