Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
198 commits
Select commit Hold shift + click to select a range
2407e9a
Update package.json
egor-zalenski Aug 22, 2022
af0de1c
Merge pull request #1209 from RedisInsight/main
egor-zalenski Sep 27, 2022
4892261
Merge pull request #1211 from RedisInsight/main
AlenaSY Sep 28, 2022
33ca869
increase version
egor-zalenski Sep 28, 2022
b84df1e
Merge pull request #1218 from RedisInsight/main
egor-zalenski Sep 29, 2022
49efb28
Merge pull request #1215 from RedisInsight/release/2.10.0
egor-zalenski Sep 29, 2022
62dedeb
Merge branch 'main' into release/2.12.0
Oct 26, 2022
b8ffd52
Merge pull request #1331 from RedisInsight/main
AlenaSY Oct 26, 2022
de1847b
Merge pull request #1332 from RedisInsight/main
AlenaSY Oct 26, 2022
9471191
increase RI version
Oct 26, 2022
c74578c
Merge branch 'release/2.14.0' into feature/update-ri-version
AlenaSY Oct 26, 2022
67493db
Merge pull request #1334 from RedisInsight/feature/update-ri-version
AlenaSY Oct 26, 2022
5735ca6
Merge pull request #1336 from RedisInsight/main
egor-zalenski Oct 27, 2022
56a1bb0
Merge pull request #1337 from RedisInsight/release/2.12.0
egor-zalenski Oct 27, 2022
c7dde0f
Merge pull request #1343 from RedisInsight/main
egor-zalenski Oct 31, 2022
35f734d
Merge pull request #1344 from RedisInsight/release/2.12.0
egor-zalenski Oct 31, 2022
22c4fa1
#RI-3780 databases import. BE base implementation
Nov 8, 2022
f68f3eb
Merge branch 'feature/RI-3238/prepare_for_docker' into feature/RI-363…
Nov 8, 2022
97417a1
Change cluster connection + add data validation
Nov 9, 2022
9c7ce93
Merge branch 'feature/RI-3238/prepare_for_docker' into feature/RI-363…
rsergeenko Nov 9, 2022
3e168fe
finilize + Itests
Nov 10, 2022
ebde0a5
#RI-3779 - add import db connections
rsergeenko Nov 14, 2022
a3a2636
Merge pull request #1391 from RedisInsight/fe/feature/RI-3637_databas…
rsergeenko Nov 14, 2022
b4b6f64
Merge branch 'feature/RI-3238/prepare_for_docker' into feature/RI-363…
Nov 14, 2022
7bd548f
Merge branch 'feature/RI-3238/prepare_for_docker' into feature/RI-363…
Nov 14, 2022
ce231de
Fix validation + add telemetry
Nov 14, 2022
5eae362
Merge branch 'feature/RI-3238/prepare_for_docker' into feature/RI-363…
Nov 16, 2022
aec6614
#RI-3817 improve port validation + add UTests
Nov 16, 2022
9661ccb
fix max port validation
Nov 16, 2022
775325a
add tests for databases import
vlad-dargel Nov 16, 2022
a984c4d
Revert "add tests for databases import"
vlad-dargel Nov 16, 2022
dbe45df
upd
vlad-dargel Nov 16, 2022
a6a45d7
Merge branch 'feature/RI-3637_databases-import' into e2e/feature/RI-3…
vlad-dargel Nov 16, 2022
3fc1872
fix
vlad-dargel Nov 17, 2022
aa9bd15
add test for remove file
vlad-dargel Nov 17, 2022
000a632
#RI-3852 - update text
rsergeenko Nov 18, 2022
4be338b
fixes by comments
vlad-dargel Nov 18, 2022
294d730
Merge pull request #1405 from RedisInsight/e2e/feature/RI-3637_databa…
vlad-dargel Nov 21, 2022
588e10c
#RI-3804 - optimize LS instances data
rsergeenko Nov 21, 2022
e9d4b94
Merge branch 'main' into fe/feature/RI-3804_optimize-ls
rsergeenko Nov 22, 2022
961ce87
Merge pull request #1439 from RedisInsight/main
AlenaSY Nov 24, 2022
139065a
show "No Results Found" message for redisearch
Nov 24, 2022
6ac03a9
Merge pull request #1440 from RedisInsight/fe/bugfix/fix-not-found-me…
AlenaSY Nov 24, 2022
dea8ffa
fixes for flaky tests
vlad-dargel Nov 24, 2022
fddcf53
Merge pull request #1441 from RedisInsight/e2e/bugfix/fix-for-flaky-t…
vlad-dargel Nov 24, 2022
67fd844
Don't convert graph Ids to string.
GnaneshKunal Nov 27, 2022
3915d04
Merge pull request #1444 from RedisInsight/redisgraph-dont-convert-id…
GnaneshKunal Nov 27, 2022
8fa03e3
#RI-3842 - Selected key not displayed in key list when switching betw…
egor-zalenski Nov 28, 2022
b204d83
Merge pull request #1447 from RedisInsight/fe/bugfix/RI-3842_Wrong_se…
vlad-dargel Nov 28, 2022
0eb7a24
Add e2e test for Saved Context in Browser
Nov 28, 2022
9a2b9b6
remove console.log
Nov 28, 2022
9d216a5
Merge pull request #1449 from RedisInsight/main
egor-zalenski Nov 28, 2022
bbcaee8
Merge pull request #1448 from RedisInsight/e2e/feature/RI-3872_contex…
AlenaSY Nov 28, 2022
e2ace45
Merge pull request #1450 from RedisInsight/main
AlenaSY Nov 28, 2022
9ac8c98
fix pika db black screen
egor-zalenski Nov 28, 2022
9174dec
Merge pull request #1451 from RedisInsight/fe/bugfix/pika_db
AlenaSY Nov 28, 2022
0f4d700
Convert id to string before rendering node label
GnaneshKunal Nov 28, 2022
51cc79c
Merge pull request #1452 from RedisInsight/redisgraph-id-string-regre…
AlenaSY Nov 28, 2022
69bdc16
Merge pull request #1453 from RedisInsight/main
AlenaSY Nov 28, 2022
71efe71
#RI-3775 add dummy auth middleware + Session object + ClientMetadata …
Nov 28, 2022
538c396
Merge branch 'latest' into patch/2.14.0-resolve-conflicts
rsergeenko Nov 29, 2022
2aced2d
Merge pull request #1460 from RedisInsight/patch/2.14.0-resolve-confl…
rsergeenko Nov 29, 2022
74fb2eb
Merge pull request #1459 from RedisInsight/release/2.14.0
AlenaSY Nov 29, 2022
48ca7b4
Add verifyKeysIsNotDisplayedInTheList
nmammadli Nov 29, 2022
ba6f5cf
Add test for Verify that indexed keys from previous DB are NOT displayed
nmammadli Nov 29, 2022
316fb3a
Merge branch 'main' of https://github.com/nmammadli/RedisInsight into…
nmammadli Nov 29, 2022
16b9b6b
Delete t.debug()
nmammadli Nov 29, 2022
e861de3
After hook - delete keys and index
nmammadli Nov 29, 2022
9250f19
Code cleaning
nmammadli Nov 29, 2022
848d7d8
#RI-3775 rework ClientMetadata decorators, fix tests
Nov 29, 2022
bdefecb
#RI-3355 - Tree view navigation improvements
egor-zalenski Nov 30, 2022
27a6f53
Merge pull request #1425 from RedisInsight/fe/feature/RI-3804_optimiz…
vlad-dargel Nov 30, 2022
93c1c1b
Merge branch 'main' into fe/feature/RI-3355_Tree_view_improvments
egor-zalenski Nov 30, 2022
3434e23
Merge pull request #1464 from RedisInsight/fe/feature/RI-3355_Tree_vi…
vlad-dargel Nov 30, 2022
e377f8c
Merge pull request #1455 from RedisInsight/be/feature/RI-3775-dummy_a…
Dec 1, 2022
a024fce
#RI-3894 - [FE] Keys from previously selected folder are still displa…
egor-zalenski Dec 1, 2022
23f8d98
Merge pull request #1470 from RedisInsight/fe/feature/bugfix
egor-zalenski Dec 1, 2022
efbc120
#RI-3893 - Wrong key is displayed sometimes when switching between br…
egor-zalenski Dec 1, 2022
0e6d3a2
Merge pull request #1471 from RedisInsight/fe/feature/bugfix
egor-zalenski Dec 1, 2022
7387456
#RI-3401 - add unit tests
rsergeenko Dec 1, 2022
bb4272e
Merge pull request #1472 from RedisInsight/fe/feature/RI-3401_increas…
rsergeenko Dec 1, 2022
05b6dc7
#RI-3865 - renamed browser view
rsergeenko Dec 2, 2022
93bd6e1
#RI-3796 - fix bulk actions context
rsergeenko Dec 2, 2022
4f4b62b
Merge branch 'main' into feature/RI-3637_databases-import
rsergeenko Dec 2, 2022
d76fb0b
Add deleteKeyByNames to after hook
nmammadli Dec 5, 2022
e43ed05
delete .only
nmammadli Dec 5, 2022
296bd73
Re-orginize steps in test case and delete indents
nmammadli Dec 5, 2022
0f163e6
delete .only
nmammadli Dec 5, 2022
190a0d9
Merge pull request #1461 from RedisInsight/e2e/feature/RI-3863_indexC…
nmammadli Dec 5, 2022
443f524
Merge pull request #1469 from RedisInsight/feature/RI-3775-dummy-auth…
vlad-dargel Dec 5, 2022
f945ff1
#RI-3902 import result with statuses
Dec 5, 2022
84cea2b
#RI-3902 add transformers for host, port fields + add tests (resolve …
Dec 5, 2022
589e1f8
Merge pull request #1473 from RedisInsight/fe/feature/RI-3865_rename-…
vlad-dargel Dec 5, 2022
9c96148
Merge pull request #1475 from RedisInsight/fe/bugfix/RI-3796_fix-bulk…
vlad-dargel Dec 5, 2022
937e343
#RI-3219 - [BE] Indicate new connections
egor-zalenski Dec 6, 2022
1cce58a
#RI-3219 - Indicate new connections
egor-zalenski Dec 6, 2022
6272645
#RI-3219 - Integration tests
egor-zalenski Dec 6, 2022
5cb450c
#RI-3219 - Integration tests
egor-zalenski Dec 6, 2022
501bbe1
#RI-3219 - Integration tests
egor-zalenski Dec 6, 2022
0d3b83f
fix pr comments
egor-zalenski Dec 7, 2022
7792eea
fix pr comments
egor-zalenski Dec 7, 2022
882ce86
Merge pull request #1482 from RedisInsight/fe/feature/RI-3219_Indicat…
egor-zalenski Dec 7, 2022
4d3e4eb
#RI-3854 - add features highlighting, add highlighting for import dat…
rsergeenko Dec 7, 2022
990cb90
#RI-3854 - remove page from build_features config
rsergeenko Dec 7, 2022
e59eb82
Merge pull request #1481 from RedisInsight/be/feature/RI-3219_Indicat…
egor-zalenski Dec 7, 2022
c81758a
added createRandomIndexNamewithCLI, openTreeFolders
nmammadli Dec 7, 2022
c483807
Impelement feedback, cleaning code
nmammadli Dec 8, 2022
cb816e1
#RI-3854 - fix pr comments
rsergeenko Dec 8, 2022
b83fd5f
#RI-3902 rework errors to return
Dec 8, 2022
b774c0f
Merge pull request #1479 from RedisInsight/be/feature/RI-3902-import-…
Dec 8, 2022
0ecc946
add list view instead of browser in the advanced section on settings …
vlad-dargel Dec 8, 2022
d7e7024
Initial Commit
nmammadli Dec 8, 2022
a8fe335
Merge pull request #1494 from RedisInsight/fe/bugfix/rename-advanced-…
vlad-dargel Dec 9, 2022
f96392b
#RI-3728 - Base BE implementation. Import certs by plain values
Dec 12, 2022
85ae014
Merge pull request #1484 from RedisInsight/fe/feature/RI-3854_highlig…
vlad-dargel Dec 12, 2022
4702ba5
Clear code
nmammadli Dec 12, 2022
2bcba0e
Merge branch 'feature/RI-3355_Tree_view_improvments' of https://githu…
nmammadli Dec 12, 2022
732a717
#RI-3898 - Do not use JSON.DEBUG MEMORY when it is not allowed
egor-zalenski Dec 13, 2022
38b0512
Impelementation of last comments from review
nmammadli Dec 13, 2022
0a50a0a
Merge branch 'main' into feature/RI-3355_Tree_view_improvments
vlad-dargel Dec 13, 2022
b276e72
Merge branch 'feature/RI-3355_Tree_view_improvments' into e2e/feature…
vlad-dargel Dec 13, 2022
f3fe413
Implement feedback from comments
nmammadli Dec 13, 2022
f4c46ed
After eslint
nmammadli Dec 13, 2022
24831d9
Delete copy
nmammadli Dec 13, 2022
51fee49
Merge branch 'e2e/feature/RI-3892_treeViewImprovements' of https://gi…
nmammadli Dec 13, 2022
1ec6d33
Add comments from checklist
nmammadli Dec 13, 2022
7b89ce1
#RI-3903 - add imports results
rsergeenko Dec 13, 2022
0ce880f
update for re cloud
vlad-dargel Dec 13, 2022
e87480d
moved verifyDatabaseStatusIsVisible() from browser page object to my …
vlad-dargel Dec 13, 2022
94de3e9
deleted unused import
vlad-dargel Dec 13, 2022
280365b
Merge pull request #1495 from RedisInsight/e2e/feature/RI-3219_new_co…
nmammadli Dec 14, 2022
ae311f7
Merge pull request #1489 from RedisInsight/feature/RI-3219_New_connec…
nmammadli Dec 14, 2022
dbe0380
Comments from check list
nmammadli Dec 14, 2022
6897aa0
Merge branch 'main' into feature/RI-3637_databases-import
Dec 14, 2022
4258ede
resolve merge conflicts
Dec 14, 2022
0d1a439
Merge branch 'feature/RI-3637_databases-import' into feature/RI-3853-…
Dec 14, 2022
c09f6d9
resolve merge conflicts
Dec 14, 2022
65fbe73
resolve merge conflicts
Dec 14, 2022
6f8868f
temporary run all tests
Dec 14, 2022
7041463
Merge pull request #1488 from RedisInsight/e2e/feature/RI-3892_treeVi…
nmammadli Dec 14, 2022
e94f1d1
Merge pull request #1467 from RedisInsight/feature/RI-3355_Tree_view_…
nmammadli Dec 14, 2022
2e9856f
#RI-3903 - add tests, ui changes
rsergeenko Dec 14, 2022
ddb6ebd
#RI-3903 - fix tests
rsergeenko Dec 14, 2022
51cd240
Merge pull request #1500 from RedisInsight/fe/feature/RI-3903_db-impo…
rsergeenko Dec 14, 2022
b02beea
rollback CircleCI configs + fix PR comments + fix bug when unable to …
Dec 14, 2022
fdbce72
Merge pull request #1497 from RedisInsight/be/feature/RI-3728-import_…
Dec 14, 2022
3354934
Merge pull request #1492 from RedisInsight/feature/RI-3853-database_i…
Dec 14, 2022
8857266
Merge branch 'main' into feature/RI-3637_databases-import
Dec 14, 2022
73920f6
Merge branch 'feature/RI-3637_databases-import' into feature/RI-3728-…
Dec 14, 2022
9e3444d
resolve conflicts. again...
Dec 14, 2022
b108983
Merge pull request #1502 from RedisInsight/feature/RI-3728-import_cer…
Dec 14, 2022
336ee27
Merge pull request #1499 from RedisInsight/be/feature/RI-3898_Without…
nmammadli Dec 15, 2022
fdc4acc
#RI-3541 - add default values for fields, update host for autodiscovery
rsergeenko Dec 15, 2022
feebb52
#RI-3938 - fix modal width, add ":"
rsergeenko Dec 15, 2022
753342c
#RI-3938 - fix pr comments
rsergeenko Dec 15, 2022
78b36fc
Merge pull request #1507 from RedisInsight/fe/bugfix/RI-3938
rsergeenko Dec 15, 2022
7f36cda
#RI-3940 - When we edit db name, we are getting "new indicator"
egor-zalenski Dec 15, 2022
d0d6f47
Merge pull request #1508 from RedisInsight/be/bugfix/RI-3940_Indicato…
egor-zalenski Dec 15, 2022
6124354
#RI-3930 - fix text for scan
rsergeenko Dec 16, 2022
017af2c
add test file with certificates to import
vlad-dargel Dec 16, 2022
77bc5db
added tests for show process results for importeed databases
vlad-dargel Dec 16, 2022
25e1e92
all tests
Dec 19, 2022
565c501
fix failed test
Dec 19, 2022
9d79406
Merge pull request #1513 from RedisInsight/be/feature/3637-database-i…
Dec 19, 2022
8ec556d
#RI-3936 - build snapcraft in the circleci
egor-zalenski Dec 19, 2022
dd00d7a
#RI-3926 workaround for pika db when there is no keys displayed due t…
Dec 19, 2022
17025b9
#RI-3907 - close opened connection after analysis performed
Dec 19, 2022
2e41e8a
Merge pull request #1515 from RedisInsight/latest
Dec 19, 2022
1c07aac
Merge pull request #1514 from RedisInsight/be/bugfix/RI-3926-workarou…
Dec 19, 2022
bad4320
Merge branch 'main' into build/snap
egor-zalenski Dec 19, 2022
dc2e7a3
#RI-3937 - build flatpack in the circleci
egor-zalenski Dec 19, 2022
d1516af
Update package.json
egor-zalenski Dec 19, 2022
0477800
remove huge icon
egor-zalenski Dec 19, 2022
5df358b
add tests for prepopulated fields
vlad-dargel Dec 19, 2022
7bcd750
Merge pull request #1510 from RedisInsight/fe/bugfix/RI-3930
nmammadli Dec 19, 2022
68e7721
Merge pull request #1517 from RedisInsight/build/snap
egor-zalenski Dec 19, 2022
955bbf4
Merge remote-tracking branch 'origin/bugfix/prerelease-2.16.0' into b…
egor-zalenski Dec 19, 2022
0fe841a
Merge pull request #1519 from RedisInsight/build/flathub
egor-zalenski Dec 19, 2022
7e65095
Merge pull request #1518 from RedisInsight/e2e/feature/RI-3541_prepop…
vlad-dargel Dec 19, 2022
36b03fa
Merge pull request #1506 from RedisInsight/feature/RI-3541_prepopulat…
vlad-dargel Dec 19, 2022
bd606ed
Merge branch 'feature/RI-3637_databases-import' into e2e/feature/RI-3…
vlad-dargel Dec 19, 2022
09e98fe
updates for test-data folder structure
vlad-dargel Dec 19, 2022
da974af
Merge pull request #1511 from RedisInsight/e2e/feature/RI-3853_Show-p…
vlad-dargel Dec 19, 2022
1daa73d
send START_EVENT* for electron builds only
Dec 19, 2022
33a5553
added tests for certificates
vlad-dargel Dec 20, 2022
ad7cde6
tests for import sertificates
vlad-dargel Dec 20, 2022
3b2af69
pr fix
vlad-dargel Dec 20, 2022
b5b4045
add connection to sentinel
vlad-dargel Dec 20, 2022
cb30d5e
possible solution for editing databases
Dec 20, 2022
c7e5106
fix tests
Dec 20, 2022
12eb753
Add 'flushdb', change from big standalone to standalone in order to p…
nmammadli Dec 21, 2022
b88f0bb
delete .only
nmammadli Dec 21, 2022
c0195f4
Merge pull request #1524 from RedisInsight/e2e/bugfix/tree_view_impro…
nmammadli Dec 21, 2022
8b52a36
Merge pull request #1523 from RedisInsight/bugfix/RI-3954-unable_to_d…
vlad-dargel Dec 21, 2022
167e212
Merge pull request #1516 from RedisInsight/bugfix/prerelease-2.16.0
Dec 21, 2022
f43e062
Merge pull request #1522 from RedisInsight/e2e/feature/Import-certifi…
vlad-dargel Dec 21, 2022
ca2e4a4
Merge pull request #1377 from RedisInsight/feature/RI-3637_databases-…
vlad-dargel Dec 21, 2022
a9fd286
Merge branch 'main' into feature/merge-main-in-release-2.16.0
vlad-dargel Dec 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 9 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -511,7 +511,13 @@ jobs:
- run:
name: install dependencies
command: |
sudo apt-get update -y && sudo apt-get install -y rpm
sudo apt-get update -y && sudo apt-get install -y rpm flatpak flatpak-builder ca-certificates
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub --no-deps --arch x86_64 --assumeyes \
runtime/org.freedesktop.Sdk/x86_64/20.08 \
runtime/org.freedesktop.Platform/x86_64/20.08 \
org.electronjs.Electron2.BaseApp/x86_64/20.08

yarn --cwd redisinsight/api/ install
yarn install
yarn build:statics
Expand Down Expand Up @@ -554,6 +560,8 @@ jobs:
- release/RedisInsight*.deb
- release/RedisInsight*.rpm
- release/RedisInsight*.AppImage
- release/RedisInsight*.flatpak
- release/RedisInsight*.snap
- release/*-linux.yml
- release/redisstack
macosx:
Expand Down
51 changes: 51 additions & 0 deletions electron-builder.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,17 @@
"target": "deb",
"arch": ["x64"]
},
{
"target": "flatpak",
"arch": ["x64"]
},
{
"target": "rpm",
"arch": ["x64"]
},
{
"target": "snap",
"arch": ["x64"]
}
],
"synopsis": "Redis GUI by Redis Ltd.",
Expand All @@ -78,6 +86,49 @@
"Comment": "Redis GUI by Redis Ltd"
}
},
"snap": {
"plugs": [
"default",
"password-manager-service"
],
"confinement": "strict",
"stagePackages": ["default"]
},
"flatpak": {
"runtimeVersion": "20.08",
"modules": [
{
"name": "libsecret",
"buildsystem": "meson",
"config-opts": [
"-Dmanpage=false",
"-Dvapi=false",
"-Dgtk_doc=false",
"-Dintrospection=false"
],
"cleanup": ["/bin", "/include", "/lib/pkgconfig", "/share/man"],
"sources": [
{
"type": "archive",
"url": "https://download.gnome.org/sources/libsecret/0.20/libsecret-0.20.5.tar.xz",
"sha256": "3fb3ce340fcd7db54d87c893e69bfc2b1f6e4d4b279065ffe66dac9f0fd12b4d"
}
]
}
],
"finishArgs": [
"--share=ipc",
"--share=network",
"--filesystem=home",
"--device=dri",
"--talk-name=org.freedesktop.secrets",
"--talk-name=org.freedesktop.Notifications",
"--talk-name=org.freedesktop.Flatpak",
"--socket=fallback-x11",
"--socket=wayland",
"--socket=x11"
]
},
"directories": {
"app": "redisinsight",
"buildResources": "resources",
Expand Down
8 changes: 4 additions & 4 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ module.exports = {
],
coverageThreshold: {
global: {
statements: 70,
branches: 50,
functions: 60,
lines: 72,
statements: 77,
branches: 55,
functions: 65,
lines: 75,
},
// './redisinsight/ui/src/slices/**/*.ts': {
// statements: 90,
Expand Down
48 changes: 46 additions & 2 deletions redisinsight/__mocks__/monacoMock.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,49 @@
import * as React from 'react';
import React, { useEffect } from 'react';

export default function MonacoEditor(props) {
return <div {...props} data-testid="monaco"/>;
useEffect(() => {
props.editorDidMount && props.editorDidMount(
// editor
{
addCommand: jest.fn(),
getContribution: jest.fn(),
onKeyDown: jest.fn(),
onMouseDown: jest.fn(),
addAction: jest.fn(),
getAction: jest.fn(),
deltaDecorations: jest.fn(),
createContextKey: jest.fn(),
focus: jest.fn(),
onDidChangeCursorPosition: jest.fn(),
executeEdits: jest.fn()
},
// monaco
{
Range: jest.fn().mockImplementation(() => { return {} }),
languages: {
getLanguages: jest.fn(),
register: jest.fn(),
registerCompletionItemProvider: jest.fn().mockReturnValue({
dispose: jest.fn()
}),
registerSignatureHelpProvider: jest.fn().mockReturnValue({
dispose: jest.fn()
}),
setLanguageConfiguration: jest.fn(),
setMonarchTokensProvider: jest.fn(),
},
KeyMod: {},
KeyCode: {}
})
}, [])
return <input {...props} data-testid="monaco"/>;
}

export const languages = {
CompletionItemKind: {
Function: 1
},
CompletionItemInsertTextRule: {
InsertAsSnippet: 4
}
}
1 change: 1 addition & 0 deletions redisinsight/api/config/default.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ export default {
appVersion: process.env.APP_VERSION || '2.0.0',
requestTimeout: parseInt(process.env.REQUEST_TIMEOUT, 10) || 10000,
excludeRoutes: [],
excludeAuthRoutes: [],
},
sockets: {
cors: process.env.SOCKETS_CORS ? process.env.SOCKETS_CORS === 'true' : false,
Expand Down
1 change: 1 addition & 0 deletions redisinsight/api/config/stack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ export default {
excludeRoutes: [
'redis-enterprise/*',
'redis-sentinel/*',
{ path: 'databases/import' },
{ path: 'databases', method: RequestMethod.POST },
{ path: 'databases', method: RequestMethod.DELETE },
{ path: 'databases/:id', method: RequestMethod.DELETE },
Expand Down
20 changes: 20 additions & 0 deletions redisinsight/api/migration/1670252337342-database-new.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { MigrationInterface, QueryRunner } from "typeorm";

export class databaseNew1670252337342 implements MigrationInterface {
name = 'databaseNew1670252337342'

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`CREATE TABLE "temporary_database_instance" ("id" varchar PRIMARY KEY NOT NULL, "host" varchar NOT NULL, "port" integer NOT NULL, "name" varchar NOT NULL, "username" varchar, "password" varchar, "tls" boolean, "verifyServerCert" boolean, "lastConnection" datetime, "caCertId" varchar, "clientCertId" varchar, "connectionType" varchar NOT NULL DEFAULT ('STANDALONE'), "nodes" varchar DEFAULT ('[]'), "nameFromProvider" varchar, "sentinelMasterName" varchar, "sentinelMasterUsername" varchar, "sentinelMasterPassword" varchar, "provider" varchar DEFAULT ('UNKNOWN'), "modules" varchar NOT NULL DEFAULT ('[]'), "db" integer, "encryption" varchar, "tlsServername" varchar, "new" boolean, CONSTRAINT "FK_3b9b625266c00feb2d66a9f36e4" FOREIGN KEY ("clientCertId") REFERENCES "client_certificate" ("id") ON DELETE SET NULL ON UPDATE NO ACTION, CONSTRAINT "FK_d1bc747b5938e22b4b708d8e9a5" FOREIGN KEY ("caCertId") REFERENCES "ca_certificate" ("id") ON DELETE SET NULL ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "temporary_database_instance"("id", "host", "port", "name", "username", "password", "tls", "verifyServerCert", "lastConnection", "caCertId", "clientCertId", "connectionType", "nodes", "nameFromProvider", "sentinelMasterName", "sentinelMasterUsername", "sentinelMasterPassword", "provider", "modules", "db", "encryption", "tlsServername") SELECT "id", "host", "port", "name", "username", "password", "tls", "verifyServerCert", "lastConnection", "caCertId", "clientCertId", "connectionType", "nodes", "nameFromProvider", "sentinelMasterName", "sentinelMasterUsername", "sentinelMasterPassword", "provider", "modules", "db", "encryption", "tlsServername" FROM "database_instance"`);
await queryRunner.query(`DROP TABLE "database_instance"`);
await queryRunner.query(`ALTER TABLE "temporary_database_instance" RENAME TO "database_instance"`);
}

public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "database_instance" RENAME TO "temporary_database_instance"`);
await queryRunner.query(`CREATE TABLE "database_instance" ("id" varchar PRIMARY KEY NOT NULL, "host" varchar NOT NULL, "port" integer NOT NULL, "name" varchar NOT NULL, "username" varchar, "password" varchar, "tls" boolean, "verifyServerCert" boolean, "lastConnection" datetime, "caCertId" varchar, "clientCertId" varchar, "connectionType" varchar NOT NULL DEFAULT ('STANDALONE'), "nodes" varchar DEFAULT ('[]'), "nameFromProvider" varchar, "sentinelMasterName" varchar, "sentinelMasterUsername" varchar, "sentinelMasterPassword" varchar, "provider" varchar DEFAULT ('UNKNOWN'), "modules" varchar NOT NULL DEFAULT ('[]'), "db" integer, "encryption" varchar, "tlsServername" varchar, CONSTRAINT "FK_3b9b625266c00feb2d66a9f36e4" FOREIGN KEY ("clientCertId") REFERENCES "client_certificate" ("id") ON DELETE SET NULL ON UPDATE NO ACTION, CONSTRAINT "FK_d1bc747b5938e22b4b708d8e9a5" FOREIGN KEY ("caCertId") REFERENCES "ca_certificate" ("id") ON DELETE SET NULL ON UPDATE NO ACTION)`);
await queryRunner.query(`INSERT INTO "database_instance"("id", "host", "port", "name", "username", "password", "tls", "verifyServerCert", "lastConnection", "caCertId", "clientCertId", "connectionType", "nodes", "nameFromProvider", "sentinelMasterName", "sentinelMasterUsername", "sentinelMasterPassword", "provider", "modules", "db", "encryption", "tlsServername") SELECT "id", "host", "port", "name", "username", "password", "tls", "verifyServerCert", "lastConnection", "caCertId", "clientCertId", "connectionType", "nodes", "nameFromProvider", "sentinelMasterName", "sentinelMasterUsername", "sentinelMasterPassword", "provider", "modules", "db", "encryption", "tlsServername" FROM "temporary_database_instance"`);
await queryRunner.query(`DROP TABLE "temporary_database_instance"`);
}

}
2 changes: 2 additions & 0 deletions redisinsight/api/migration/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { databaseAnalysis1664785208236 } from './1664785208236-database-analysis
import { databaseAnalysisExpirationGroups1664886479051 } from './1664886479051-database-analysis-expiration-groups';
import { workbenchExecutionTime1667368983699 } from './1667368983699-workbench-execution-time';
import { database1667477693934 } from './1667477693934-database';
import { databaseNew1670252337342 } from './1670252337342-database-new';

export default [
initialMigration1614164490968,
Expand All @@ -46,4 +47,5 @@ export default [
databaseAnalysisExpirationGroups1664886479051,
workbenchExecutionTime1667368983699,
database1667477693934,
databaseNew1670252337342,
];
35 changes: 35 additions & 0 deletions redisinsight/api/src/__mocks__/common.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
import { ClientContext, ClientMetadata, Session } from 'src/common/models';
import { mockDatabase } from 'src/__mocks__/databases';
import { v4 as uuidv4 } from 'uuid';

export type MockType<T> = {
[P in keyof T]: jest.Mock<any>;
};
Expand Down Expand Up @@ -28,6 +32,7 @@ export const mockQueryBuilderExecute = jest.fn();
export const mockCreateQueryBuilder = jest.fn(() => ({
// where: jest.fn().mockReturnThis(),
where: mockQueryBuilderWhere,
orWhere: mockQueryBuilderWhere,
update: jest.fn().mockReturnThis(),
select: jest.fn().mockReturnThis(),
set: jest.fn().mockReturnThis(),
Expand Down Expand Up @@ -57,3 +62,33 @@ export const mockRepository = jest.fn(() => ({
remove: jest.fn(),
createQueryBuilder: mockCreateQueryBuilder,
}));

export const mockSession: Session = {
userId: uuidv4(),
sessionId: uuidv4(),
};

export const mockCliClientMetadata: ClientMetadata = {
session: mockSession,
databaseId: mockDatabase.id,
context: ClientContext.CLI,
uniqueId: uuidv4(),
};

export const mockWorkbenchClientMetadata: ClientMetadata = {
session: mockSession,
databaseId: mockDatabase.id,
context: ClientContext.Workbench,
};

export const mockBrowserClientMetadata: ClientMetadata = {
session: mockSession,
databaseId: mockDatabase.id,
context: ClientContext.Browser,
};

export const mockCommonClientMetadata: ClientMetadata = {
session: mockSession,
databaseId: mockDatabase.id,
context: ClientContext.Common,
};
89 changes: 89 additions & 0 deletions redisinsight/api/src/__mocks__/database-import.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
import { DatabaseImportResponse, DatabaseImportStatus } from 'src/modules/database-import/dto/database-import.response';
import { BadRequestException, ForbiddenException } from '@nestjs/common';
import { mockDatabase, mockSentinelDatabaseWithTlsAuth } from 'src/__mocks__/databases';
import { ValidationException } from 'src/common/exceptions';
import { mockCaCertificate, mockClientCertificate } from 'src/__mocks__/certificates';
import {
InvalidCaCertificateBodyException, InvalidCertificateNameException,
} from 'src/modules/database-import/exceptions';

export const mockDatabasesToImportArray = new Array(10).fill(mockSentinelDatabaseWithTlsAuth);

export const mockDatabaseImportFile = {
originalname: 'filename.json',
mimetype: 'application/json',
size: 1,
buffer: Buffer.from(JSON.stringify(mockDatabasesToImportArray)),
};

export const mockDatabaseImportResultSuccess = {
index: 0,
status: DatabaseImportStatus.Success,
host: mockDatabase.host,
port: mockDatabase.port,
};

export const mockDatabaseImportResultFail = {
index: 0,
status: DatabaseImportStatus.Fail,
host: mockDatabase.host,
port: mockDatabase.port,
errors: [new BadRequestException()],
};

export const mockDatabaseImportResultPartial = {
index: 0,
status: DatabaseImportStatus.Partial,
host: mockDatabase.host,
port: mockDatabase.port,
errors: [new InvalidCaCertificateBodyException()],
};

export const mockDatabaseImportResponse = Object.assign(new DatabaseImportResponse(), {
total: 10,
success: (new Array(5).fill(mockDatabaseImportResultSuccess)).map((v, index) => ({
...v,
index: index + 5,
})),
partial: [
[new InvalidCaCertificateBodyException(), new InvalidCertificateNameException()],
[new InvalidCertificateNameException()],
].map((errors, index) => ({
...mockDatabaseImportResultPartial,
index: index + 3,
errors,
})),
fail: [
new ValidationException('Bad request'),
new BadRequestException(),
new ForbiddenException(),
].map((error, index) => ({
...mockDatabaseImportResultFail,
index,
errors: [error],
})),
});

export const mockDatabaseImportPartialAnalyticsPayload = {
partially: mockDatabaseImportResponse.partial.length,
errors: ['InvalidCaCertificateBodyException', 'InvalidCertificateNameException'],
};

export const mockDatabaseImportFailedAnalyticsPayload = {
failed: mockDatabaseImportResponse.fail.length,
errors: ['ValidationException', 'BadRequestException', 'ForbiddenException'],
};

export const mockDatabaseImportSucceededAnalyticsPayload = {
succeed: mockDatabaseImportResponse.success.length,
};

export const mockDatabaseImportAnalytics = jest.fn(() => ({
sendImportResults: jest.fn(),
sendImportFailed: jest.fn(),
}));

export const mockCertificateImportService = jest.fn(() => ({
processCaCertificate: jest.fn().mockResolvedValue(mockCaCertificate),
processClientCertificate: jest.fn().mockResolvedValue(mockClientCertificate),
}));
12 changes: 9 additions & 3 deletions redisinsight/api/src/__mocks__/databases.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@ import { mockIORedisClient } from 'src/__mocks__/redis';
import { mockSentinelMasterDto } from 'src/__mocks__/redis-sentinel';
import { pick } from 'lodash';
import { RedisDatabaseInfoResponse } from 'src/modules/database/dto/redis-info.dto';
import { ClientMetadata } from 'src/modules/redis/models/client-metadata';
import { AppTool } from 'src/models';
import { DatabaseOverview } from 'src/modules/database/models/database-overview';
import { ClientContext, ClientMetadata } from 'src/common/models';

export const mockDatabaseId = 'a77b23c1-7816-4ea4-b61f-d37795a0f805-db-id';

Expand All @@ -27,6 +26,7 @@ export const mockDatabase = Object.assign(new Database(), {
host: '127.0.100.1',
port: 6379,
connectionType: ConnectionType.STANDALONE,
new: false,
});

export const mockDatabaseEntity = Object.assign(new DatabaseEntity(), {
Expand Down Expand Up @@ -115,9 +115,15 @@ export const mockClusterDatabaseWithTlsAuthEntity = Object.assign(new DatabaseEn
nodes: JSON.stringify(mockClusterNodes),
});

export const mockNewDatabase = Object.assign(new Database(), {
...mockDatabase,
new: true,
});

export const mockClientMetadata: ClientMetadata = {
session: undefined,
databaseId: mockDatabase.id,
namespace: AppTool.Common,
context: ClientContext.Common,
};

export const mockDatabaseOverview: DatabaseOverview = {
Expand Down
1 change: 1 addition & 0 deletions redisinsight/api/src/__mocks__/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ export * from './redis';
export * from './server';
export * from './redis-enterprise';
export * from './redis-sentinel';
export * from './database-import';
Loading