Skip to content

Commit 536e526

Browse files
author
Artem
committed
Merge branch 'feature/RI-3266_ssh-tunnel' into feature/RI-3932-import_ssh
2 parents 076e2a1 + 2020b21 commit 536e526

File tree

6 files changed

+48
-10
lines changed

6 files changed

+48
-10
lines changed

redisinsight/api/src/modules/database/database.analytics.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,12 +193,16 @@ describe('DatabaseAnalytics', () => {
193193
useTLS: 'disabled',
194194
verifyTLSCertificate: 'disabled',
195195
useTLSAuthClients: 'disabled',
196+
useSNI: 'enabled',
197+
useSSH: 'disabled',
196198
previousValues: {
197199
connectionType: prev.connectionType,
198200
provider: prev.provider,
199201
useTLS: 'enabled',
200202
verifyTLSCertificate: 'enabled',
201203
useTLSAuthClients: 'enabled',
204+
useSNI: 'enabled',
205+
useSSH: 'disabled',
202206
},
203207
},
204208
);
@@ -223,10 +227,14 @@ describe('DatabaseAnalytics', () => {
223227
useTLS: 'enabled',
224228
verifyTLSCertificate: 'enabled',
225229
useTLSAuthClients: 'enabled',
230+
useSNI: 'enabled',
231+
useSSH: 'disabled',
226232
previousValues: {
227233
connectionType: prev.connectionType,
228234
provider: prev.provider,
229235
useTLS: 'disabled',
236+
useSNI: 'disabled',
237+
useSSH: 'disabled',
230238
verifyTLSCertificate: 'disabled',
231239
useTLSAuthClients: 'disabled',
232240
},

redisinsight/api/src/modules/database/database.analytics.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ export class DatabaseAnalytics extends TelemetryBaseService {
5757
useTLSAuthClients: instance?.clientCert
5858
? 'enabled'
5959
: 'disabled',
60-
useSNI: instance?.tlsServername
61-
? 'enabled'
62-
: 'disabled',
60+
useSNI: instance?.tlsServername ? 'enabled' : 'disabled',
6361
useSSH: instance?.ssh ? 'enabled' : 'disabled',
6462
version: additionalInfo?.version,
6563
numberOfKeys: additionalInfo?.totalKeys,
@@ -97,10 +95,14 @@ export class DatabaseAnalytics extends TelemetryBaseService {
9795
? 'enabled'
9896
: 'disabled',
9997
useTLSAuthClients: cur?.clientCert ? 'enabled' : 'disabled',
98+
useSNI: cur?.tlsServername ? 'enabled' : 'disabled',
99+
useSSH: cur?.ssh ? 'enabled' : 'disabled',
100100
previousValues: {
101101
connectionType: prev.connectionType,
102102
provider: prev.provider,
103103
useTLS: prev.tls ? 'enabled' : 'disabled',
104+
useSNI: prev?.tlsServername ? 'enabled' : 'disabled',
105+
useSSH: prev?.ssh ? 'enabled' : 'disabled',
104106
verifyTLSCertificate: prev?.verifyServerCert
105107
? 'enabled'
106108
: 'disabled',

redisinsight/api/test/helpers/data/redis.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export const initDataHelper = (rte) => {
6363
): Promise<any> => {
6464
const command = `ACL SETUSER ${constants.TEST_INSTANCE_ACL_USER} reset on ${rules} >${constants.TEST_INSTANCE_ACL_PASS}`;
6565

66-
return executeCommand(...command.split(' '));
66+
return executeCommandAll(...command.split(' '));
6767
};
6868

6969
const flushTestRunData = async (node) => {

redisinsight/ui/src/pages/home/components/AddInstanceForm/InstanceForm/InstanceForm.spec.tsx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from 'react'
22
import { instance, mock } from 'ts-mockito'
33
import { act, fireEvent, render, screen } from 'uiSrc/utils/test-utils'
44
import { ConnectionType, InstanceType } from 'uiSrc/slices/interfaces'
5+
import { BuildType } from 'uiSrc/constants/env'
56
import InstanceForm, { Props } from './InstanceForm'
67
import { ADD_NEW_CA_CERT } from './constants'
78
import { DbConnectionInfo } from './interfaces'
@@ -658,6 +659,25 @@ describe('InstanceForm', () => {
658659
expect(screen.getByTestId('use-ssh')).toBeChecked()
659660
})
660661

662+
it('should not render Use SSH checkbox for redis stack buidlType', async () => {
663+
const handleSubmit = jest.fn()
664+
render(
665+
<div id="footerDatabaseForm">
666+
<InstanceForm
667+
{...instance(mockedProps)}
668+
formFields={{
669+
...formFields,
670+
connectionType: ConnectionType.Standalone,
671+
}}
672+
buildType={BuildType.RedisStack}
673+
onSubmit={handleSubmit}
674+
/>
675+
</div>
676+
)
677+
678+
expect(screen.queryByTestId('use-ssh')).not.toBeInTheDocument()
679+
})
680+
661681
it('should change Use SSH checkbox and show proper fields for password radio', async () => {
662682
const handleSubmit = jest.fn()
663683
render(

redisinsight/ui/src/pages/home/components/AddInstanceForm/InstanceForm/InstanceForm.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
import { ConnectionType, InstanceType, } from 'uiSrc/slices/interfaces'
3030
import { getRedisModulesSummary, sendEventTelemetry, TelemetryEvent } from 'uiSrc/telemetry'
3131
import { getDiffKeysOfObjectValues, checkRediStackModules } from 'uiSrc/utils'
32+
import { BuildType } from 'uiSrc/constants/env'
3233

3334
import {
3435
ADD_NEW_CA_CERT,
@@ -63,6 +64,7 @@ export interface Props {
6364
submitButtonText?: SubmitBtnText
6465
titleText?: TitleDatabaseText
6566
loading: boolean
67+
buildType?: BuildType
6668
instanceType: InstanceType
6769
loadingMsg: LoadingDatabaseText
6870
isEditMode: boolean
@@ -127,6 +129,7 @@ const AddStandaloneForm = (props: Props) => {
127129
onHostNamePaste,
128130
submitButtonText,
129131
instanceType,
132+
buildType,
130133
loading,
131134
isEditMode,
132135
isCloneMode,
@@ -511,7 +514,7 @@ const AddStandaloneForm = (props: Props) => {
511514
certificates={certificates}
512515
caCertificates={caCertificates}
513516
/>
514-
{instanceType !== InstanceType.Sentinel && (
517+
{instanceType !== InstanceType.Sentinel && buildType !== BuildType.RedisStack && (
515518
<SSHDetails
516519
formik={formik}
517520
flexItemClassName={flexItemClassName}
@@ -563,11 +566,13 @@ const AddStandaloneForm = (props: Props) => {
563566
certificates={certificates}
564567
caCertificates={caCertificates}
565568
/>
566-
<SSHDetails
567-
formik={formik}
568-
flexItemClassName={flexItemClassName}
569-
flexGroupClassName={flexGroupClassName}
570-
/>
569+
{buildType !== BuildType.RedisStack && (
570+
<SSHDetails
571+
formik={formik}
572+
flexItemClassName={flexItemClassName}
573+
flexGroupClassName={flexGroupClassName}
574+
/>
575+
)}
571576
</EuiForm>
572577
</>
573578
)}

redisinsight/ui/src/pages/home/components/AddInstanceForm/InstanceFormWrapper.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { caCertsSelector, fetchCaCerts } from 'uiSrc/slices/instances/caCerts'
2121
import { ConnectionType, Instance, InstanceType, } from 'uiSrc/slices/interfaces'
2222
import { BrowserStorageItem, DbType, Pages, REDIS_URI_SCHEMES } from 'uiSrc/constants'
2323
import { clientCertsSelector, fetchClientCerts, } from 'uiSrc/slices/instances/clientCerts'
24+
import { appInfoSelector } from 'uiSrc/slices/app/info'
2425

2526
import InstanceForm from './InstanceForm'
2627
import { DbConnectionInfo } from './InstanceForm/interfaces'
@@ -90,6 +91,7 @@ const InstanceFormWrapper = (props: Props) => {
9091
const { loading: loadingSentinel } = useSelector(sentinelSelector)
9192
const { data: caCertificates } = useSelector(caCertsSelector)
9293
const { data: certificates } = useSelector(clientCertsSelector)
94+
const { server } = useSelector(appInfoSelector)
9395

9496
const tlsClientAuthRequired = !!editedInstance?.clientCert?.id ?? false
9597
const selectedTlsClientCertId = editedInstance?.clientCert?.id ?? ADD_NEW
@@ -455,6 +457,7 @@ const InstanceFormWrapper = (props: Props) => {
455457
formFields={connectionFormData}
456458
initialValues={initialValues}
457459
loading={loadingStandalone || loadingSentinel}
460+
buildType={server?.buildType}
458461
instanceType={instanceType}
459462
loadingMsg={
460463
editMode

0 commit comments

Comments
 (0)