Skip to content

Commit 878a25b

Browse files
committed
added files
1 parent 549a042 commit 878a25b

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed
Lines changed: 8 additions & 0 deletions
Loading
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { map, isEqual } from 'lodash'
2+
import { Instance } from 'uiSrc/slices/interfaces'
3+
4+
export const REDISTACK_PORT = 6379
5+
export const REDISTACK_MODULES = ['ReJSON', 'graph', 'timeseries', 'search', 'bf'].sort()
6+
7+
const checkRediStack = (instances: Instance[]): Instance[] => {
8+
let isRediStack = false
9+
10+
let newInstances = instances.map((instance) => {
11+
isRediStack = instance.port === REDISTACK_PORT && isEqual(map(instance.modules, 'name').sort(), REDISTACK_MODULES)
12+
return {
13+
...instance,
14+
isRediStack
15+
}
16+
})
17+
18+
if (!isRediStack) {
19+
newInstances = newInstances.map((instance) => ({
20+
...instance,
21+
isRediStack: isEqual(map(instance.modules, 'name').sort(), REDISTACK_MODULES)
22+
}))
23+
}
24+
25+
console.log(instances, newInstances)
26+
27+
return newInstances
28+
}
29+
30+
export { checkRediStack }
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { checkRediStack, REDISTACK_MODULES, REDISTACK_PORT } from 'uiSrc/utils'
2+
3+
const unmapWithName = (arr: any[]) => arr.map((item) => ({ name: item }))
4+
5+
const REDISTACK_MODULE_DEFAULT = unmapWithName(REDISTACK_MODULES)
6+
7+
const getOutputCheckRediStackTests: any[] = [
8+
[[{ port: REDISTACK_PORT, modules: REDISTACK_MODULE_DEFAULT }],
9+
[{ port: REDISTACK_PORT, modules: REDISTACK_MODULE_DEFAULT, isRediStack: true }]],
10+
[[{ port: REDISTACK_PORT, modules: unmapWithName(['']) }], [{ port: REDISTACK_PORT, modules: unmapWithName(['']), isRediStack: false }]],
11+
[[{ port: REDISTACK_PORT, modules: unmapWithName(['search']) }], [{ port: REDISTACK_PORT, modules: unmapWithName(['search']), isRediStack: false }]],
12+
[[{ port: REDISTACK_PORT, modules: unmapWithName(['bf', 'search', 'timeseries']) }], [{ port: REDISTACK_PORT, modules: unmapWithName(['bf', 'search', 'timeseries']), isRediStack: false }]],
13+
[[{ port: 12000, modules: REDISTACK_MODULE_DEFAULT }],
14+
[{ port: 12000, modules: REDISTACK_MODULE_DEFAULT, isRediStack: true }]],
15+
[[{ port: 12000, modules: unmapWithName(['search']) }], [{ port: 12000, modules: unmapWithName(['search']), isRediStack: false }]],
16+
]
17+
18+
describe('checkRediStack', () => {
19+
it.each(getOutputCheckRediStackTests)('for input: %s (reply), should be output: %s',
20+
(reply, expected) => {
21+
const result = checkRediStack(reply)
22+
expect(result).toStrictEqual(expected)
23+
})
24+
})

0 commit comments

Comments
 (0)