Skip to content

Commit 6b4a38b

Browse files
fix: ignore user check while session creation when auth is disabled (#1676)
1 parent 125ea27 commit 6b4a38b

File tree

8 files changed

+628
-38
lines changed

8 files changed

+628
-38
lines changed

dashboard-frontend

package-lock.json

Lines changed: 603 additions & 22 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 & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@
116116
"multer": "^1.4.5-lts.1",
117117
"node-abort-controller": "^3.1.1",
118118
"node-persist": "^3.1.3",
119+
"node-pty-prebuilt-multiarch": "^0.10.1-pre.5",
119120
"node-simctl": "^7.3.13",
120121
"normalize-url": "6.1.0",
121122
"nyc": "^15.1.0",

src/config.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@ function getDeviceFarmHome() {
2020
}
2121

2222

23-
function getServerMetadata() {
24-
const metaFile = path.join(getDeviceFarmHome(), "metadata.json");
23+
export function getServerMetadata() {
24+
const metaFile = path.join(getDeviceFarmHome(), 'metadata.json');
2525
let defaultMetadata = {
26-
id: uuid()
27-
}
28-
if(fs.existsSync(metaFile)) {
29-
const metadata = JSON.parse(fs.readFileSync(metaFile, "utf-8"));
30-
if(!metadata || !metadata.id) {
26+
id: uuid(),
27+
};
28+
if (fs.existsSync(metaFile)) {
29+
const metadata = JSON.parse(fs.readFileSync(metaFile, 'utf-8'));
30+
if (!metadata || !metadata.id) {
3131
fs.writeFileSync(metaFile, JSON.stringify(Object.assign(defaultMetadata, metadata)));
3232
return {
3333
...defaultMetadata,
34-
...metadata
35-
}
34+
...metadata,
35+
};
3636
}
37-
return metadata
37+
return metadata;
3838
} else {
3939
fs.writeFileSync(metaFile, JSON.stringify(defaultMetadata));
4040
}
@@ -47,5 +47,5 @@ export const config: Config = {
4747
sessionAssetsPath: path.join(deviceFarmHome, 'assets', 'sessions'),
4848
takeScreenshotsFor: ['click', 'setUrl', 'setValue', 'performActions'],
4949
appsPath: path.join(deviceFarmHome, 'assets'),
50-
serverMetadata : getServerMetadata()
50+
serverMetadata: { id: '' },
5151
};

src/data-service/node-service.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import os from 'os';
44
import { prisma } from '../prisma';
55
import { JWT_SECRET } from '../auth/middleware/auth.middleware';
66
import { DevicePlugin } from '../plugin';
7-
import { removeDevicesForNodes } from './device-service';
7+
import log from '../logger';
88

99
export class NodeService {
1010
static async register(isHub: boolean, nodeName: string, host: string, nodeId: string) {
@@ -41,16 +41,19 @@ export class NodeService {
4141
jwtSecretToken: node.jwtSecretToken,
4242
isOnline: true,
4343
isHub: node.isHub,
44-
addedBy: userId,
44+
addedBy: userId ?? null,
4545
};
46+
4647
if (isNodeExists) {
48+
log.info('Node already exists. So updating..');
4749
await prisma.node.update({
4850
data,
4951
where: {
5052
id: nodeId,
5153
},
5254
});
5355
} else {
56+
log.info('Node not exists. So creating..');
5457
await prisma.node.create({
5558
data: {
5659
...data,

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ import { DevicePlugin } from './plugin';
22
import ffmpeg from '@ffmpeg-installer/ffmpeg';
33
import { loadExternalModules, registerErrorHandlers } from './helpers';
44
import { setDefaultResultOrder } from 'dns';
5+
import { config, getServerMetadata } from './config';
56
setDefaultResultOrder('ipv4first');
67

78
//Add FFMPEG to path for appium to record video of the session
9+
config.serverMetadata = getServerMetadata();
810
process.env.PATH = process.env.PATH + ':' + ffmpeg.path.replace(/ffmpeg$/g, '');
911
loadExternalModules();
1012

src/modules

src/plugin.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,10 @@ class DevicePlugin extends BasePlugin {
444444
log.info(
445445
`📱 ${pendingSessionId} ----- Device UDID ${device.udid} blocked for session ${sessionId}`,
446446
);
447-
const user = DevicePlugin.IS_HUB ? await getUserFromCapabilities(mergedCapabilites) : null;
447+
const user =
448+
DevicePlugin.IS_HUB && this.pluginArgs.enableAuthentication
449+
? await getUserFromCapabilities(mergedCapabilites)
450+
: null;
448451
await updatedAllocatedDevice(device, {
449452
busy: true,
450453
session_id: sessionId,

0 commit comments

Comments
 (0)