How to use disconnectAgent method in Best

Best JavaScript code snippet using best

remote-agent.test.ts

Source:remote-agent.test.ts Github

copy

Full Screen

...39 afterEach(async () => {40 // If the client is connected to the server.41 if (serverSocketManager && serverSocket.connected) {42 // Make server disconnect the client.43 serverSocketManager.disconnectAgent();44 // Wait for the client to actually disconnect.45 await new Promise((resolve) => {46 clientSocket.on(BEST_RPC.DISCONNECT, resolve);47 });48 }49 // Close the server and wait for it to actually close.50 await new Promise((resolve: any) => {51 server.close(resolve);52 });53 jest.clearAllMocks();54 });55 beforeEach(async () => {56 // Create the server.57 server = new Server(TEST_CONFIGS.SERVER_PORT, {58 path: TEST_CONFIGS.SOCKET_PATH,59 });60 const serverConnection = (): Promise<ServerSocket> =>61 new Promise((resolve) => {62 server.on('connection', resolve);63 });64 // Create the client.65 clientSocket = Client(TEST_CONFIGS.SERVER_URL, {66 path: TEST_CONFIGS.SOCKET_PATH,67 /*68 * By default the value of `transports` is `['polling', 'websocket']`.69 * That makes Socket.IO first establish a long-polling connection, then70 * attempt to upgrade to websockets.71 *72 * For some reason if the upgrade to websockets is not done by the73 * time `socket.disconnect(true)` is done, it takes some time (~30s)74 * after the `server.close` callback is called for the server instance75 * to actually stop running. `afterEach` could wait after the callback,76 * but that would increase the overall time tests take to run by a lot.77 *78 * So, since the transport layer is abstracted by Socker.IO anyways and79 * it doesn't matter as far as the following tests are concerned, using80 * `websocket` directly should be fine for this use case.81 *82 * Notes: When long-polling there doesn't seem to be an option that can be83 * passed to Socket.IO or the HTTP Server to force things so that the server84 * instance is actually stopped once the `server.close` callback is called.85 */86 transports: ['websocket'],87 });88 // Wait for the client to be connected to the server.89 serverSocket = await serverConnection();90 });91 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -92 describe(`'DISCONNECT' event`, () => {93 test('Should disconnect the agent', async () => {94 serverSocketManager = new RemoteAgent(serverSocket, getConfigs());95 const consoleLogSpy = jest.spyOn(console, 'log');96 // Mock the `disconnectAgent` function as it's tested separately.97 const serverSocketManagerDisconnectAgentSpy = jest98 .spyOn(serverSocketManager, 'disconnectAgent')99 .mockImplementationOnce(() => {});100 // Make server disconnect the client.101 serverSocket.disconnect(true);102 // Wait for the client to actually be disconnected.103 await new Promise((resolve) => {104 clientSocket.on('disconnect', resolve);105 });106 expect(serverSocketManagerDisconnectAgentSpy).toHaveBeenCalledTimes(1);107 expect(consoleLogSpy).toHaveBeenCalledTimes(1);108 expect(consoleLogSpy).toHaveBeenNthCalledWith(109 1,110 `${serverSocket.id} - socket:disconnect`,111 'server namespace disconnect',112 );113 });114 });115 describe('disconnectAgent()', () => {116 test('Should disconnect the agent', async () => {117 const serverSocketManager = new RemoteAgent(serverSocket, getConfigs());118 const serverSocketManagerEmitSpy = jest.spyOn(serverSocketManager, 'emit');119 const disconnectReason = 'test disconnect';120 const serverSocketEmitSpy = jest.spyOn(serverSocket, 'emit');121 // Make server disconnect the client.122 serverSocketManager.disconnectAgent(disconnectReason);123 // Wait for the client to actually be disconnected.124 await new Promise((resolve) => {125 clientSocket.on(BEST_RPC.DISCONNECT, resolve);126 });127 // Socket should be disconnected.128 expect(serverSocket.disconnected).toBe(true);129 expect(serverSocketEmitSpy).toHaveBeenCalledTimes(1);130 expect(serverSocketEmitSpy).toHaveBeenNthCalledWith(1, BEST_RPC.AGENT_REJECTION, disconnectReason);131 expect(serverSocketManagerEmitSpy).toHaveBeenCalledTimes(1);132 expect(serverSocketManagerEmitSpy).toHaveBeenNthCalledWith(1, BEST_RPC.DISCONNECT, disconnectReason);133 serverSocketEmitSpy.mockClear();134 serverSocketManagerEmitSpy.mockClear();135 // Make server disconnect the client again.136 serverSocketManager.disconnectAgent(disconnectReason);137 // This time nothing should done as the socket was disconnected.138 expect(serverSocketEmitSpy).toHaveBeenCalledTimes(0);139 expect(serverSocketManagerEmitSpy).toHaveBeenCalledTimes(0);140 });141 });142 describe('getId()', () => {143 test('Should return the socket ID', () => {144 serverSocketManager = new RemoteAgent(serverSocket, getConfigs());145 expect(serverSocketManager.getId()).toBe(serverSocket.id);146 });147 });148 describe('getSpecs()', () => {149 test('Should return the provided specs', () => {150 const configs = getConfigs();...

Full Screen

Full Screen

remote-agent.ts

Source:remote-agent.ts Github

copy

Full Screen

...32 // -- Socket lifecycle ------------------------------------------------------------33 [DISCONNECT](reason: string) {34 if (this.connected) {35 console.log(`${this.getId()} - socket:disconnect`, reason);36 this.disconnectAgent(reason);37 }38 }39 [CONNECT_ERROR](reason: string) {40 console.log(`${this.getId()} - socket:connect_error`, reason);41 this.disconnectAgent(reason);42 }43 [ERROR](reason: string) {44 console.log(`${this.getId()} - socket:error`, reason);45 this.disconnectAgent(reason);46 }47 [RECONNECT_FAILED](reason: string) {48 console.log(`${this.getId()} - socket:reconnect_failed`, reason);49 this.disconnectAgent(reason);50 }51 // -- Specific Best RPC Commands ------------------------------------------------------------52 disconnectAgent(reason?: string) {53 if (this.connected) {54 this.connected = false;55 this.socket.emit(BEST_RPC.AGENT_REJECTION, reason);56 this.socket.disconnect(true);57 this.emit(BEST_RPC.DISCONNECT, reason);58 }59 }60 getId() {61 return this.socket.id;62 }63 getSpecs() {64 return this.specs;65 }66 getState() {...

Full Screen

Full Screen

syncController.test.js

Source:syncController.test.js Github

copy

Full Screen

...7 await connectAdmin(admin);8 await connectUser(user);9});10afterAll(async () => {11 await disconnectAgent(admin);12 await disconnectAgent(user);13});14describe('Synchrionisation Controller tests', () => {15 test('Querying the current status', () => admin16 .get('/sync/status')17 .then(({ status, body }) => {18 expect(status).toBe(200);19 expect(typeof body).toBe('object');20 return true;21 }));...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var agent = require('bestpracticeagent');2agent.disconnectAgent();3var agent = require('bestpracticeagent');4var agentState = agent.getAgentState();5var agent = require('bestpracticeagent');6var agentVersion = agent.getAgentVersion();7var agent = require('bestpracticeagent');8var agentId = agent.getAgentId();9var agent = require('bestpracticeagent');10var agentName = agent.getAgentName();11var agent = require('bestpracticeagent');12var agentType = agent.getAgentType();13var agent = require('bestpracticeagent');14var agentDescription = agent.getAgentDescription();15var agent = require('bestpracticeagent');16var agentVendor = agent.getAgentVendor();17var agent = require('bestpracticeagent');18var agentVendorURL = agent.getAgentVendorURL();19var agent = require('bestpracticeagent');20var agentVendorLogoURL = agent.getAgentVendorLogoURL();21var agent = require('bestpracticeagent');22var agentVendorLogoURL = agent.getAgentVendorLogoURL();23var agent = require('bestpracticeagent');24var agentVendorLogoURL = agent.getAgentVendorLogoURL();25var agent = require('bestpracticeagent');26var agentVendorLogoURL = agent.getAgentVendorLogoURL();27var agent = require('bestpracticeagent');28var agentVendorLogoURL = agent.getAgentVendorLogoURL();29var agent = require('bestpracticeagent');30var agentVendorLogoURL = agent.getAgentVendorLogoURL();

Full Screen

Using AI Code Generation

copy

Full Screen

1var bestapi = require('bestapi');2var best = new bestapi.BestAPI();3var args = process.argv.slice(2);4var agentId = args[0];5var broker = args[1];6var port = args[2];7best.connect(broker, port, function(err){8 if(err){9 console.log(err);10 }11 else{12 best.disconnectAgent(agentId, function(err){13 if(err){14 console.log(err);15 }16 else{17 console.log('Agent disconnected');18 }19 });20 }21});22var bestapi = require('bestapi');23var best = new bestapi.BestAPI();24var args = process.argv.slice(2);25var broker = args[0];26var port = args[1];27best.connect(broker, port, function(err){28 if(err){29 console.log(err);30 }31 else{32 best.disconnectAllAgents(function(err){33 if(err){34 console.log(err);35 }36 else{37 console.log('All Agents disconnected');38 }39 });40 }41});42var bestapi = require('bestapi');43var best = new bestapi.BestAPI();44var args = process.argv.slice(2);45var agentId = args[0];46var broker = args[1];47var port = args[2];48best.connect(broker, port, function(err){49 if(err){50 console.log(err);51 }52 else{53 best.getAgentStatus(agentId, function(err, status){54 if(err){55 console.log(err);56 }57 else{58 console.log('Agent Status: '+status);59 }60 });61 }62});63var bestapi = require('bestapi');64var best = new bestapi.BestAPI();65var args = process.argv.slice(2);66var broker = args[0];67var port = args[1];68best.connect(broker, port, function(err){69 if(err){70 console.log(err);71 }72 else{73 best.getAgentStatusAll(function(err, status){74 if(err){75 console.log(err);76 }77 else{78 console.log('Agent Status: '+status);79 }80 });81 }

Full Screen

Using AI Code Generation

copy

Full Screen

1const BestAgent = require('bestagent');2const agent = new BestAgent();3agent.disconnectAgent()4.then((res) => {5 console.log(res);6})7.catch((err) => {8 console.log(err);9});10const BestAgent = require('bestagent');11const agent = new BestAgent();12agent.getAgentStatus()13.then((res) => {14 console.log(res);15})16.catch((err) => {17 console.log(err);18});19const BestAgent = require('bestagent');20const agent = new BestAgent();21agent.getAgentDetails()22.then((res) => {23 console.log(res);24})25.catch((err) => {26 console.log(err);27});28const BestAgent = require('bestagent');29const agent = new BestAgent();30agent.getAgentStats()31.then((res) => {32 console.log(res);33})34.catch((err) => {35 console.log(err);36});37const BestAgent = require('bestagent');38const agent = new BestAgent();39agent.getAgentStats()40.then((res) => {41 console.log(res);42})43.catch((err) => {44 console.log(err);45});46const BestAgent = require('bestagent');47const agent = new BestAgent();48agent.getAgentStats()49.then((res) => {50 console.log(res);51})52.catch((err) => {53 console.log(err);54});55const BestAgent = require('bestagent');

Full Screen

Using AI Code Generation

copy

Full Screen

1var best = require('bestapi');2var myBest = new best.BestAPI();3myBest.connectAgent('localhost', function (err, result) {4 if (err) {5 console.log('Error: ' + err);6 } else {7 console.log('Connected to agent');8 myBest.disconnectAgent(function (err, result) {9 if (err) {10 console.log('Error: ' + err);11 } else {12 console.log('Disconnected from agent');13 }14 });15 }16});

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Best automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful