Skip to content

Commit 686a51e

Browse files
Merge pull request #2465 from RedisInsight/e2e/feature/RI-4632_cluster_triggered_functions_rev
E2e/feature/ri 4632 cluster triggered functions rev
2 parents 732e65e + 7cf1f93 commit 686a51e

File tree

4 files changed

+88
-2
lines changed

4 files changed

+88
-2
lines changed

tests/e2e/.desktop.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ OSS_STANDALONE_EMPTY_PORT=8105
2424
OSS_STANDALONE_REDISGEARS_HOST=localhost
2525
OSS_STANDALONE_REDISGEARS_PORT=8106
2626

27+
OSS_CLUSTER_REDISGEARS_2_HOST=localhost
28+
OSS_CLUSTER_REDISGEARS_2_PORT=8107
29+
2730
OSS_CLUSTER_HOST=localhost
2831
OSS_CLUSTER_PORT=8200
2932

tests/e2e/helpers/conf.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,9 @@ export const ossStandaloneRedisGears = {
144144
databaseUsername: process.env.OSS_STANDALONE_REDISGEARS_USERNAME,
145145
databasePassword: process.env.OSS_STANDALONE_REDISGEARS_PASSWORD
146146
};
147+
148+
export const ossClusterRedisGears = {
149+
ossClusterHost: process.env.OSS_CLUSTER_REDISGEARS_2_HOST || 'gears-cluster-2-0-node-1',
150+
ossClusterPort: process.env.OSS_CLUSTER_REDISGEARS_2_PORT || '6379',
151+
ossClusterDatabaseName: `${process.env.OSS_CLUSTER_REDISGEARS_2_NAME || 'test_cluster-gears-2.0'}-${uniqueId}`
152+
};

tests/e2e/rte.docker-compose.yml

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ services:
6868
image: redislabs/redismod
6969
ports:
7070
- 8102:6379
71-
71+
7272
oss-standalone-redisgears-2-0:
7373
image: redislabs/redisgears:edge
7474
ports:
@@ -160,6 +160,54 @@ services:
160160
default:
161161
ipv4_address: 172.31.100.223
162162

163+
# oss cluster with redisgears 2
164+
gears-cluster-2-0-creator:
165+
image: redis:latest
166+
entrypoint: ['/bin/sh', '-c', 'redis-cli --cluster create 172.31.100.191:6379 172.31.100.192:6379 172.31.100.193:6379 172.31.100.194:6379 172.31.100.195:6379 172.31.100.196:6379 --cluster-replicas 1 --cluster-yes && tail -f /dev/null']
167+
depends_on:
168+
- gears-cluster-2-0-node-1
169+
- gears-cluster-2-0-node-2
170+
- gears-cluster-2-0-node-3
171+
- gears-cluster-2-0-node-4
172+
- gears-cluster-2-0-node-5
173+
- gears-cluster-2-0-node-6
174+
gears-cluster-2-0-node-1:
175+
image: &gears-cluster-img redislabs/redisgears:edge
176+
command: &gears-cluster-cmd redis-server --protected-mode no --loadmodule /build/target/release/libredisgears.so v8-plugin-path /build/target/release/libredisgears_v8_plugin.so --cluster-enabled yes
177+
networks:
178+
default:
179+
ipv4_address: 172.31.100.191
180+
gears-cluster-2-0-node-2:
181+
image: *gears-cluster-img
182+
command: *gears-cluster-cmd
183+
networks:
184+
default:
185+
ipv4_address: 172.31.100.192
186+
gears-cluster-2-0-node-3:
187+
image: *gears-cluster-img
188+
command: *gears-cluster-cmd
189+
networks:
190+
default:
191+
ipv4_address: 172.31.100.193
192+
gears-cluster-2-0-node-4:
193+
image: *gears-cluster-img
194+
command: *gears-cluster-cmd
195+
networks:
196+
default:
197+
ipv4_address: 172.31.100.194
198+
gears-cluster-2-0-node-5:
199+
image: *gears-cluster-img
200+
command: *gears-cluster-cmd
201+
networks:
202+
default:
203+
ipv4_address: 172.31.100.195
204+
gears-cluster-2-0-node-6:
205+
image: *gears-cluster-img
206+
command: *gears-cluster-cmd
207+
networks:
208+
default:
209+
ipv4_address: 172.31.100.196
210+
163211
# redis enterprise
164212
redis-enterprise:
165213
build: ./rte/redis-enterprise

tests/e2e/tests/critical-path/triggers-and-functions/libraries.e2e.ts

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ import {
55
TriggersAndFunctionsFunctionsPage,
66
TriggersAndFunctionsLibrariesPage
77
} from '../../../pageObjects';
8-
import { commonUrl, ossStandaloneRedisGears } from '../../../helpers/conf';
8+
import {
9+
commonUrl,
10+
ossClusterRedisGears,
11+
ossStandaloneRedisGears
12+
} from '../../../helpers/conf';
913
import { rte } from '../../../helpers/constants';
1014
import { DatabaseAPIRequests } from '../../../helpers/api/api-database';
1115
import { Common } from '../../../helpers/common';
@@ -55,3 +59,28 @@ test('Verify that function can be invoked', async t => {
5559
await t.expect(await triggersAndFunctionsFunctionsPage.Cli.getExecutedCommandTextByIndex()).eql(expectedCommand);
5660
await t.click(triggersAndFunctionsFunctionsPage.Cli.cliCollapseButton);
5761
});
62+
test.before(async() => {
63+
await databaseHelper.acceptLicenseTermsAndAddOSSClusterDatabase(ossClusterRedisGears);
64+
}).after(async() => {
65+
await databaseAPIRequests.deleteOSSClusterDatabaseApi(ossClusterRedisGears);
66+
})('Verify that function can be invoked in cluster', async t => {
67+
const functionNameFromFile = 'function';
68+
const libNameFromFile = 'lib';
69+
const keyName = ['Hello'];
70+
const argumentsName = ['world', '!!!' ];
71+
const expectedCommand = `TFCALL "${libNameFromFile}.${functionNameFromFile}" "${keyName.length}" "${keyName}" "${argumentsName.join('" "')}"`;
72+
73+
await t.click(browserPage.NavigationPanel.triggeredFunctionsButton);
74+
await t.click(triggersAndFunctionsFunctionsPage.librariesLink);
75+
await t.click(triggersAndFunctionsLibrariesPage.addLibraryButton);
76+
await t.setFilesToUpload(triggersAndFunctionsLibrariesPage.uploadInput, [filePathes.invoke]);
77+
await t.click(triggersAndFunctionsLibrariesPage.addLibrarySubmitButton);
78+
await t.click(triggersAndFunctionsLibrariesPage.functionsLink);
79+
await t.click(triggersAndFunctionsFunctionsPage.getFunctionsNameSelector(functionNameFromFile));
80+
await t.click(triggersAndFunctionsFunctionsPage.invokeButton);
81+
await triggersAndFunctionsFunctionsPage.enterFunctionArguments(argumentsName);
82+
await triggersAndFunctionsFunctionsPage.enterFunctionKeyName(keyName);
83+
await t.click(triggersAndFunctionsFunctionsPage.runInCliButton);
84+
await t.expect(await triggersAndFunctionsFunctionsPage.Cli.getExecutedCommandTextByIndex()).eql(expectedCommand);
85+
await t.click(triggersAndFunctionsFunctionsPage.Cli.cliCollapseButton);
86+
});

0 commit comments

Comments
 (0)