chore: 🤖 add rdp target type

This commit is contained in:
Dharini Jeeva authored and Dharini committed 2025-09-03 16:00:12 -07:00
1 parent e1696e9a4d
commit d2d351c9f7
7 files changed
+48 -4

No files matched your search

+15 -1
View File
@@ -9,7 +9,13 @@ import { service } from '@ember/service';
export const TYPE_TARGET_TCP = 'tcp';
export const TYPE_TARGET_SSH = 'ssh';
export const TYPES_TARGET = Object.freeze([TYPE_TARGET_TCP, TYPE_TARGET_SSH]);
export const TYPE_TARGET_RDP = 'rdp';
export const TYPES_TARGET = Object.freeze([
TYPE_TARGET_TCP,
TYPE_TARGET_SSH,
TYPE_TARGET_RDP,
]);
export default class TargetModel extends GeneratedTargetModel {
// =services
@@ -347,4 +353,12 @@ export default class TargetModel extends GeneratedTargetModel {
get isSSH() {
return this.type === TYPE_TARGET_SSH;
}
/**
* True if the target type is rdp.
* @type {boolean}
*/
get isRDP() {
return this.type === TYPE_TARGET_RDP;
}
}
+17 -1
View File
@@ -6,7 +6,11 @@
import { module, test } from 'qunit';
import { setupTest } from 'ember-qunit';
import setupMirage from 'ember-cli-mirage/test-support/setup-mirage';
import { TYPE_TARGET_TCP, TYPE_TARGET_SSH } from 'api/models/target';
import {
TYPE_TARGET_TCP,
TYPE_TARGET_SSH,
TYPE_TARGET_RDP,
} from 'api/models/target';
module('Unit | Model | target', function (hooks) {
setupTest(hooks);
@@ -386,6 +390,7 @@ module('Unit | Model | target', function (hooks) {
});
assert.true(modelSSH.isSSH);
assert.false(modelSSH.isTCP);
assert.false(modelSSH.isRDP);
});
test('it has isTCP property and returns the expected values', function (assert) {
@@ -395,5 +400,16 @@ module('Unit | Model | target', function (hooks) {
});
assert.true(modelTCP.isTCP);
assert.false(modelTCP.isSSH);
assert.false(modelTCP.isRDP);
});
test('it has isRDP property and returns the expected values', function (assert) {
const store = this.owner.lookup('service:store');
const modelRDP = store.createRecord('target', {
type: TYPE_TARGET_RDP,
});
assert.true(modelRDP.isRDP);
assert.false(modelRDP.isSSH);
assert.false(modelRDP.isTCP);
});
});
@@ -728,9 +728,11 @@ target:
types:
tcp: Generic TCP
ssh: SSH
rdp: RDP
help:
tcp: Generic TCP supports a broad range of connection types.
ssh: Protocol-aware SSH with support for credential injection.
rdp: Remote Desktop Protocol for Windows servers.
filter:
active-sessions:
yes: Has active sessions
@@ -12,6 +12,7 @@ const types = [...TYPES_TARGET].reverse();
const icons = {
ssh: 'terminal-screen',
tcp: 'network',
rdp: 'monitor',
};
export default class FormTargetComponent extends Component {
// =services
+1
View File
@@ -14,6 +14,7 @@ const licensedFeatures = {
'multi-hop-sessions': false,
'ssh-target': false,
'ssh-session-recording': false,
'rdp-target': false,
};
// Base edition declares available features, disabled by default.
const baseEdition = {
@@ -10,7 +10,11 @@ import setupMirage from 'ember-cli-mirage/test-support/setup-mirage';
import { setupSqlite } from 'api/test-support/helpers/sqlite';
import { setupIntl } from 'ember-intl/test-support';
import { authenticateSession } from 'ember-simple-auth/test-support';
import { TYPE_TARGET_SSH, TYPE_TARGET_TCP } from 'api/models/target';
import {
TYPE_TARGET_TCP,
TYPE_TARGET_SSH,
TYPE_TARGET_RDP,
} from 'api/models/target';
module('Unit | Controller | scopes/scope/targets/index', function (hooks) {
setupTest(hooks);
@@ -99,6 +103,7 @@ module('Unit | Controller | scopes/scope/targets/index', function (hooks) {
assert.deepEqual(controller.targetTypeOptions, [
{ id: TYPE_TARGET_TCP, name: 'Generic TCP' },
{ id: TYPE_TARGET_SSH, name: 'SSH' },
{ id: TYPE_TARGET_RDP, name: 'RDP' },
]);
});
@@ -15,7 +15,11 @@ import {
STATUS_SESSION_PENDING,
STATUS_SESSION_CANCELING,
} from 'api/models/session';
import { TYPE_TARGET_SSH, TYPE_TARGET_TCP } from 'api/models/target';
import {
TYPE_TARGET_SSH,
TYPE_TARGET_TCP,
TYPE_TARGET_RDP,
} from 'api/models/target';
module(
'Unit | Controller | scopes/scope/projects/targets/index',
@@ -167,6 +171,7 @@ module(
assert.deepEqual(controller.targetTypeOptions, [
{ id: TYPE_TARGET_TCP, name: 'Generic TCP' },
{ id: TYPE_TARGET_SSH, name: 'SSH' },
{ id: TYPE_TARGET_RDP, name: 'RDP' },
]);
});