Skip to content

Commit 594db4e

Browse files
Merge pull request #1050 from RedisInsight/main
a new release candidate
2 parents 74f6e29 + a57f61c commit 594db4e

File tree

25 files changed

+511
-98
lines changed

25 files changed

+511
-98
lines changed
Lines changed: 1 addition & 1 deletion
Loading

redisinsight/ui/src/components/query-card/QueryCardHeader/QueryCardHeader.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,15 +239,15 @@ const QueryCardHeader = (props: Props) => {
239239
position="bottom"
240240
>
241241
<EuiTextColor className={cx(styles.timeText, styles.mode)}>
242-
-R
242+
-r
243243
</EuiTextColor>
244244
</EuiToolTip>
245245
)}
246246
</EuiTextColor>
247247
)}
248248
{!!summaryText && !isOpen && (
249249
<EuiTextColor className={styles.summaryText} component="div">
250-
{truncateText(summaryText, 17)}
250+
{truncateText(summaryText, 13)}
251251
</EuiTextColor>
252252
)}
253253
</EuiFlexItem>

redisinsight/ui/src/components/query-card/QueryCardHeader/styles.module.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ $marginIcon: 12px;
7373
}
7474

7575
.time {
76-
max-width: 115px;
76+
max-width: 117px;
7777
position: relative;
7878
height: 18px;
7979
}
@@ -86,13 +86,13 @@ $marginIcon: 12px;
8686
font: normal normal normal 12px/16px Graphik, sans-serif;
8787
letter-spacing: -0.12px;
8888
color: var(--euiColorMediumShade) !important;
89-
min-width: 109px;
89+
min-width: 126px;
9090
text-align: left;
9191
}
9292

9393
.summaryText {
9494
position: absolute;
95-
right: -120px;
95+
right: -142px;
9696
}
9797

9898
.extraInfo {

redisinsight/ui/src/pages/browser/components/hash-details/HashDetails.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,7 @@ const HashDetails = (props: Props) => {
347347
}}
348348
disabled={updateLoading}
349349
inputRef={textAreaRef}
350-
className={styles.textArea}
350+
className={cx(styles.textArea, { [styles.areaWarning]: disabled })}
351351
data-testid="hash-value-editor"
352352
/>
353353
</InlineItemEditor>

redisinsight/ui/src/pages/browser/components/hash-details/styles.module.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,13 @@
1818
margin: -8px -6px -8px -20px !important;
1919
height: calc(100% + 16px) !important;
2020
min-width: calc(100% + 120px) !important;
21+
22+
&:focus {
23+
background-image: none !important;
24+
}
25+
26+
&.areaWarning {
27+
border-color: var(--euiColorWarningLight) !important;
28+
}
2129
}
2230
}

redisinsight/ui/src/pages/browser/components/key-details-header/KeyDetailsHeader.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ const KeyDetailsHeader = ({
457457
inputRef={keyNameRef}
458458
className={cx(
459459
styles.keyInput,
460-
{ [styles.keyInputEditing]: keyIsEditing }
460+
{ [styles.keyInputEditing]: keyIsEditing, 'input-warning': !keyIsEditable }
461461
)}
462462
placeholder={AddCommonFieldsFormConfig?.keyName?.placeholder}
463463
value={key}

redisinsight/ui/src/pages/browser/components/list-details/ListDetails.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ const ListDetails = (props: Props) => {
295295
}}
296296
disabled={updateLoading}
297297
inputRef={textAreaRef}
298-
className={styles.textArea}
298+
className={cx(styles.textArea, { [styles.areaWarning]: disabled })}
299299
data-testid="element-value-editor"
300300
/>
301301
</InlineItemEditor>

redisinsight/ui/src/pages/browser/components/list-details/styles.module.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@
1818
margin: -8px -6px -8px -20px !important;
1919
height: calc(100% + 16px) !important;
2020
min-width: calc(100% + 106px) !important;
21+
22+
&:focus {
23+
background-image: none !important;
24+
}
25+
26+
&.areaWarning {
27+
border-color: var(--euiColorWarningLight) !important;
28+
}
2129
}
2230
}
2331

redisinsight/ui/src/styles/base/_helpers.scss

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,13 @@
9999
.color-green {
100100
color: var(--defaultGreenColor) !important;
101101
}
102+
103+
.input-warning {
104+
background-image: linear-gradient(
105+
to top,
106+
var(--euiColorWarningLight),
107+
var(--euiColorWarningLight) 2px,
108+
#0000 2px,
109+
#0000 100%
110+
) !important;
111+
}

tests/e2e/helpers/api/api-database.ts

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,19 @@ export async function addNewOSSClusterDatabaseApi(databaseParameters: OSSCluster
5454
/**
5555
* Add a Sentinel database via autodiscover through api
5656
* @param databaseParameters The database parameters
57+
* @param primaryGroupsNumber Number of added primary groups
5758
*/
58-
export async function discoverSentinelDatabaseApi(databaseParameters: SentinelParameters): Promise<void> {
59+
export async function discoverSentinelDatabaseApi(databaseParameters: SentinelParameters, primaryGroupsNumber?: number): Promise<void> {
60+
let masters = databaseParameters.masters;
61+
if (primaryGroupsNumber) {
62+
masters = databaseParameters.masters.slice(0, primaryGroupsNumber);
63+
}
5964
const response = await request(endpoint).post('/instance/sentinel-masters')
6065
.send({
6166
'host': databaseParameters.sentinelHost,
6267
'port': databaseParameters.sentinelPort,
6368
'password': databaseParameters.sentinelPassword,
64-
'masters': databaseParameters.masters
69+
'masters': masters
6570
})
6671
.set('Accept', 'application/json');
6772

@@ -95,6 +100,41 @@ export async function getDatabaseByName(databaseName?: string): Promise<string>
95100
return await response[0].id;
96101
}
97102

103+
/**
104+
* Get database through api using database connection type
105+
* @param connectionType The database connection type
106+
*/
107+
export async function getDatabaseByConnectionType(connectionType?: string): Promise<string> {
108+
if (!connectionType) {
109+
throw new Error('Error: Missing connectionType');
110+
}
111+
const allDataBases = await getAllDatabases();
112+
let response: object = {};
113+
response = await asyncFilter(allDataBases, async(item: databaseParameters) => {
114+
await doAsyncStuff();
115+
return await item.connectionType === connectionType;
116+
});
117+
return await response[0].id;
118+
}
119+
120+
/**
121+
* Delete all databases through api
122+
*/
123+
export async function deleteAllDatabasesApi(): Promise<void> {
124+
const allDatabases = await getAllDatabases();
125+
const databaseIds = [];
126+
for (let i = 0; i < allDatabases.length; i++) {
127+
const dbData = JSON.parse(JSON.stringify(allDatabases[i]));
128+
databaseIds.push(dbData.id);
129+
}
130+
if (databaseIds.length > 0) {
131+
await request(endpoint).delete('/instance')
132+
.send({ 'ids': databaseIds })
133+
.set('Accept', 'application/json')
134+
.expect(200);
135+
}
136+
}
137+
98138
/**
99139
* Delete Standalone database through api
100140
* @param databaseParameters The database parameters
@@ -120,14 +160,25 @@ export async function deleteOSSClusterDatabaseApi(databaseParameters: OSSCluster
120160
}
121161

122162
/**
123-
* Delete a Sentinel database through api
163+
* Delete all primary groups from Sentinel through api
124164
* @param databaseParameters The database parameters
125165
*/
126-
export async function deleteSentinelDatabaseApi(databaseParameters: SentinelParameters): Promise<void> {
127-
const databaseId = await getDatabaseByName(databaseParameters.name);
128-
const response = await request(endpoint).delete('/instance')
129-
.send({ 'ids': [`${databaseId}`] }).set('Accept', 'application/json');
166+
export async function deleteAllSentinelDatabasesApi(databaseParameters: SentinelParameters): Promise<void> {
167+
for (let i = 0; i < databaseParameters.name.length; i++) {
168+
const databaseId = await getDatabaseByName(databaseParameters.name[i]);
169+
const response = await request(endpoint).delete('/instance')
170+
.send({ 'ids': [`${databaseId}`] }).set('Accept', 'application/json');
171+
await t.expect(response.status).eql(200, 'Delete Sentinel database request failed');
172+
}
173+
}
130174

175+
/**
176+
* Delete all databases by connection type
177+
*/
178+
export async function deleteAllDatabasesByConnectionTypeApi(connectionType: string): Promise<void> {
179+
const databaseIds = await getDatabaseByConnectionType(connectionType);
180+
const response = await request(endpoint).delete('/instance')
181+
.send({ 'ids': [`${databaseIds}`] }).set('Accept', 'application/json');
131182
await t.expect(response.status).eql(200, 'Delete Sentinel database request failed');
132183
}
133184

0 commit comments

Comments
 (0)