Skip to content

Commit 629cc7e

Browse files
Expose cli args to client (#584)
* expose cliArgs to client * bump version
1 parent e296b47 commit 629cc7e

File tree

7 files changed

+26
-5
lines changed

7 files changed

+26
-5
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "appium-device-farm",
3-
"version": "3.5.0",
3+
"version": "3.6.0",
44
"description": "An appium 2.0 plugin that manages and create driver session on available devices",
55
"main": "./lib/index.js",
66
"scripts": {

src/app.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import express from 'express';
22
import path from 'path';
33
import log from './logger';
44
import { DeviceModel, PendingSessionsModel } from './data-service/db';
5+
import { getCLIArgs } from './data-service/pluginArgs';
56
import cors from 'cors';
67
import AsyncLock from 'async-lock';
78
import axios from 'axios';
@@ -71,6 +72,10 @@ apiRouter.get('/queue', (req, res) => {
7172
res.json(PendingSessionsModel.chain().find().data().length);
7273
});
7374

75+
apiRouter.get('/cliArgs', (req, res) => {
76+
res.json(getCLIArgs());
77+
});
78+
7479
apiRouter.get('/devices/android', (req, res) => {
7580
res.json(
7681
DeviceModel.find({

src/data-service/db.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ import loki from 'lokijs';
33
const db = new loki('db.json');
44
const DeviceModel = db.addCollection('devices');
55
const PendingSessionsModel = db.addCollection('pending-sessions');
6+
const CLIArgs = db.addCollection('cliArgs');
67

7-
export { DeviceModel, PendingSessionsModel };
8+
export { DeviceModel, PendingSessionsModel, CLIArgs };

src/data-service/pluginArgs.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { CLIArgs } from './db';
2+
3+
async function addCLIArgs(args: any) {
4+
CLIArgs.insert(args);
5+
}
6+
7+
function getCLIArgs() {
8+
return CLIArgs.chain().find().data();
9+
}
10+
11+
export { addCLIArgs, getCLIArgs };

src/device-utils.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,9 @@ export function getDeviceFiltersFromCapability(capability: any): IDeviceFilterOp
190190
}
191191
return {
192192
platform,
193-
platformVersion: capability['appium:platformVersion'] ? capability['appium:platformVersion'] : undefined,
193+
platformVersion: capability['appium:platformVersion']
194+
? capability['appium:platformVersion']
195+
: undefined,
194196
name,
195197
deviceType,
196198
udid: udids?.length ? udids : undefined,

src/plugin.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import { hubUrl } from './helpers';
3131
import Cloud from './enums/Cloud';
3232
import ChromeDriverManager from './device-managers/ChromeDriverManager';
3333
import { LocalStorage } from 'node-persist';
34+
import { addCLIArgs } from './data-service/pluginArgs';
3435

3536
const commandsQueueGuard = new AsyncLock();
3637
const DEVICE_MANAGER_LOCK_NAME = 'DeviceManager';
@@ -78,6 +79,7 @@ class DevicePlugin extends BasePlugin {
7879
});
7980
Container.set(DeviceFarmManager, deviceManager);
8081
if (chromeDriverManager) Container.set(ChromeDriverManager, chromeDriverManager);
82+
await addCLIArgs(cliArgs);
8183
await initlializeStorage();
8284
logger.info(
8385
`📣📣📣 Device Farm Plugin will be served at 🔗 http://localhost:${cliArgs.port}/device-farm`

0 commit comments

Comments
 (0)