Skip to content

Commit 29cdaf7

Browse files
authored
Merge pull request #3175 from buzzia2001/master
Test with ssh key
2 parents ce21943 + de3fed6 commit 29cdaf7

2 files changed

Lines changed: 25 additions & 4 deletions

File tree

src/api/tests/.env.sample

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,7 @@ VITE_DB_USER=
33
VITE_DB_PASS=
44
VITE_DB_PORT=22
55
VITE_TEMP_LIB=
6-
#VITE_CONNECTION_TIMEOUT=25000
6+
#VITE_CONNECTION_TIMEOUT=25000
7+
# SSH Key authentication (optional - leave VITE_DB_PASS empty if using key)
8+
#VITE_PRIVATE_KEY_PATH=~/.ssh/id_rsa
9+
#VITE_PASSPHRASE=

src/api/tests/connection.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ const testConfig = new JSONConfig();
1414

1515
export const CONNECTION_TIMEOUT = process.env.VITE_CONNECTION_TIMEOUT ? parseInt(process.env.VITE_CONNECTION_TIMEOUT) : 25000;
1616

17-
if (!process.env.VITE_SERVER || !process.env.VITE_DB_USER || !process.env.VITE_DB_PASS) {
17+
if (!process.env.VITE_SERVER || !process.env.VITE_DB_USER) {
1818
const messages = [
1919
``,
2020
`Please set the environment variables:`,
2121
`\tVITE_SERVER`,
2222
`\tVITE_DB_USER`,
23-
`\tVITE_DB_PASS`,
23+
`\tVITE_DB_PASS (or VITE_PRIVATE_KEY_PATH for SSH key authentication)`,
2424
`\tVITE_DB_PORT`,
2525
``,
2626
`If you're a developer, make a copy of .env.sample,`,
@@ -33,10 +33,28 @@ if (!process.env.VITE_SERVER || !process.env.VITE_DB_USER || !process.env.VITE_D
3333
process.exit(1);
3434
}
3535

36+
// Validate that either password or private key is provided
37+
if (!process.env.VITE_DB_PASS && !process.env.VITE_PRIVATE_KEY_PATH) {
38+
const messages = [
39+
``,
40+
`Authentication error: You must provide either:`,
41+
`\tVITE_DB_PASS (for password authentication)`,
42+
`\tOR`,
43+
`\tVITE_PRIVATE_KEY_PATH (for SSH key authentication)`,
44+
``,
45+
];
46+
47+
console.log(messages.join(`\n`));
48+
49+
process.exit(1);
50+
}
51+
3652
const ENV_CREDS = {
3753
host: process.env.VITE_SERVER,
3854
username: process.env.VITE_DB_USER,
3955
password: process.env.VITE_DB_PASS,
56+
privateKeyPath: process.env.VITE_PRIVATE_KEY_PATH,
57+
passphrase: process.env.VITE_PASSPHRASE,
4058
port: parseInt(process.env.VITE_DB_PORT || `22`),
4159
tempLibrary: process.env.VITE_TEMP_LIB || 'ILEDITOR'
4260
}
@@ -108,7 +126,7 @@ export async function newConnection(reloadSettings?: boolean) {
108126

109127
export async function disposeConnection(connection?: IBMi) {
110128
if (connection) {
111-
await connection.dispose();
129+
connection.disconnect();
112130
testStorage.save();
113131
testConfig.save();
114132
}

0 commit comments

Comments
 (0)