Skip to content

Commit f95d70d

Browse files
reggeenrGitHub Enterprise
authored andcommitted
fix(tests): fixed broken integration tests (#33)
* fix(tests): fixed broken integration tests * fix(tests): adjusted travis npm script
1 parent a8cd650 commit f95d70d

File tree

5 files changed

+55
-99
lines changed

5 files changed

+55
-99
lines changed

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,9 @@ secrets.tar
8888

8989
# ignore the generated integration test files, as they cannot be used without manual editing
9090
test/integration/code-engine.v1.test.js
91-
test/integration/code-engine.v2.test.js
91+
test/integration/code-engine.v2.test.js
92+
93+
94+
# ignore the generated SSH and TLS keys and certs
95+
test/integration/domain*
96+
test/integration/sshkey*

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
"jest": "jest",
2323
"test": "npm run build && npm run lint && jest test/",
2424
"test-unit": "npm run build && jest test/unit/",
25-
"test-integration": "jest --testPathIgnorePatterns '^(.*/code-engine.v2.test.js)$' --runInBand test/integration/",
25+
"test-integration": "./test/integration/prepare-integration-tests.sh && jest --testPathIgnorePatterns '^(.*/code-engine.v2.test.js)$' --runInBand test/integration/",
2626
"test-examples": "npm run build && jest examples/",
2727
"test-travis": "jest --runInBand --testNamePattern='^((?!@slow).)*$' test/",
2828
"test-unit-travis": "jest --runInBand test/unit/",
29-
"test-integration-travis": "jest --testPathIgnorePatterns '^(.*/code-engine.v2.test.js)$' --runInBand test/integration",
29+
"test-integration-travis": "./test/integration/prepare-integration-tests.sh && jest --testPathIgnorePatterns '^(.*/code-engine.v2.test.js)$' --runInBand test/integration",
3030
"check-packages": "installed-check -e -d -v",
3131
"all": "npm run test-unit && npm run lint"
3232
},
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Create two new self-signed certificates using openssl
2+
# The certs are used to verify TLS secret creations and updates
3+
echo "Creating dummy certificates to verify TLS secrets ..."
4+
openssl req -newkey ed25519 -nodes -keyout ./test/integration/domain.key -out ./test/integration/domain.csr -config ./test/integration/sample_cert.conf
5+
openssl x509 -signkey test/integration/domain.key -in test/integration/domain.csr -req -days 365 -out test/integration/domain.crt
6+
echo "Creating dummy certificates to verify TLS secrets [done]"
7+
echo ""
8+
9+
# Create two private EC keys using openssl
10+
# The SSH keys are used to verify SSH secret creations and updates
11+
echo "Creating dummy SSH keys to verify SSH secrets ..."
12+
openssl ecparam -name prime256v1 -genkey -noout -out ./test/integration/sshkey.pem
13+
echo "Creating dummy certificates to verify SSH secrets [done]"
14+
echo ""

test/integration/sample_cert.conf

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
##################################################
2+
# Licensed Materials - Property of IBM
3+
# IBM Cloud Code Engine, 5900-AB0
4+
# © Copyright IBM Corp. 2020, 2022
5+
# US Government Users Restricted Rights - Use, duplication or
6+
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
7+
##################################################
8+
9+
[req]
10+
distinguished_name = req_distinguished_name
11+
req_extensions = v3_req
12+
prompt = no
13+
14+
[req_distinguished_name]
15+
C = DE
16+
ST = Foo Lane
17+
L = Berlin
18+
O = Foo
19+
OU = Bar
20+
CN = some.foo.local
21+
22+
[v3_req]
23+
subjectAltName = @alt_names
24+
25+
[alt_names]
26+
DNS.1 = some.foo.local

test/integration/v2.test.js

Lines changed: 7 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
/* eslint-disable no-await-in-loop */
2020

2121
const { readExternalSources } = require('ibm-cloud-sdk-core');
22+
const fs = require('fs');
2223
const CodeEngineV2 = require('../../dist/code-engine/v2');
2324
const authHelper = require('../resources/auth-helper.js');
2425

@@ -1010,7 +1011,7 @@ describe('CodeEngineV2_integration', () => {
10101011
projectId: e2eTestProjectId,
10111012
format: 'ssh_auth',
10121013
name: 'my-ssh-secret',
1013-
data: { 'ssh_key': '---BEGIN PRIVATE KEY------END PRIVATE KEY---' },
1014+
data: { 'ssh_key': fs.readFileSync('test/integration/sshkey.pem', 'utf8') },
10141015
};
10151016

10161017
const res = await codeEngineService.createSecret(params);
@@ -1037,7 +1038,7 @@ describe('CodeEngineV2_integration', () => {
10371038
name: 'my-ssh-secret',
10381039
ifMatch: '*',
10391040
data: {
1040-
'ssh_key': '---BEGIN PRIVATE KEY------END PRIVATE KEY---',
1041+
'ssh_key': fs.readFileSync('test/integration/sshkey.pem', 'utf8'),
10411042
'known_hosts': 'github.com',
10421043
},
10431044
format: 'ssh_auth',
@@ -1055,53 +1056,8 @@ describe('CodeEngineV2_integration', () => {
10551056
format: 'tls',
10561057
name: 'my-tls-secret',
10571058
data: {
1058-
'tls_key':
1059-
'-----BEGIN PRIVATE KEY-----\n' +
1060-
'MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCr+Qx5OrAHLWwm' +
1061-
'\nmstn7aEo317g/Lxv/Dmb/N/lanbGZfaVlnE1JrASNnEjps5CrVBLkjctbRYuAWOb' +
1062-
'\nvX4OKIGbSmT2JDu3gieg1v2gg0iuMmfqh9pgP8szlfB8lG7/rZ5m4ApEEB8iszIe' +
1063-
'\n+BrPsmlBBqd+tuJ3+t/BY9a7PjphkaMCbGlvoaDZEjT6KqubAMmZqkkYFT8mYx+A' +
1064-
'\nkwImgqVR5zMs4R2XSEl0QGLsFjnDtWLDvrHGdeGE0hnqTS5OusJ8bmNLJDOvSJSd' +
1065-
'\nZSWPtyahNQT4wAnp3RKxd3D2pdChqmxGdIs+eeNwzoXD42M2VEE/MgPLu7hPuPmC' +
1066-
'\nnN6AsET9AgMBAAECggEAc9d1cYv42zzbpz2KWt2VO6ULkl5syLqMS+kRIMaQb6Br' +
1067-
'\nc+Q9KeJ/pCUMHUnVktCQT/eUN4NN93t0D4qbiQn8FBEO5UcO+tQvwYZQnnkQ0lad' +
1068-
'\n7TvJ/B+8z2jm7+REyPG4y++KusJpVsSCtJ3H4bR6dhT3asHi15Mkem64TLTkOqf2' +
1069-
'\n5lWg5BUi3ZR5qFjriZdb7N3A+/Cb1fwOObCwNjRUJX6FAPpCdwEr+L9/o6bod+1N' +
1070-
'\nUArBYlSP8yMNyct3WzkPSpFnZxaYapjl0Nm9ipOfR5b9CHThoHg007WxdDF+6a/e' +
1071-
'\nSEJOZ0jRHwSctLhjSuL8/EOIuQGSHsyOK4SOmeHRgQKBgQDYlrafbArou+pStqIU' +
1072-
'\nZCmV51UqSfqZAAJ+YzV9rqhsM97yQKQYEESeIbgAnWCGlAbY7XrysIA/aOdglOuF' +
1073-
'\no60oRqlnkYZJT8SXjvnwmyxor67f3G0jbVuoefYL1G1EPdcL9l2K0xehOa2huYm0' +
1074-
'\n8lvlI8PPKKJkmu22r/TNyp6VEQKBgQDLRAHsDjNdwyMKVGe2G6ZmnyDWhGzVOOZf' +
1075-
'\n+Ixfmt0BK5AnmJBeABM6WRC/6EM0eX31lcev7sJMpWF4Iw0Op+tW2gmtfphi3j/l' +
1076-
'\nG7B3lU4V/M6jw0CrASy1RGY257ou3o+/yS4N6/lafZw/V8KDjgJngCeyRhgFf+Rj' +
1077-
'\nVNC3FIsBLQKBgERN43ILZLVY7eD/78V2gRbhSZ54jitKMX8iUnA8cKkPArRrZlSg' +
1078-
'\nbMNh5uFqwFIwxKgM3MVEnG1i6/Utgck3gRg+kJY08qCUI2+Yi4IxraOmJAQ9Q730' +
1079-
'\ncv+C1vGMIJlw1yzSmVV6lO0nf3aNSLxj4k81JD9klTIdGfKPMyjjSXfBAoGBALhl' +
1080-
'\nWI0JkOWlSZtsWK1mxfzgrMyOU6DWvn8fnlB4z7bpCxwwlf8AeHD9LWm6zYTEFlV8' +
1081-
'\n7CsZIOChQxvWSFkcUi13HUJrztgaIMK57Mt/AdiGf/sl/Ptk1GcYxtVWQJuWQbfN' +
1082-
'\nTN9KS+oge2cnOQlZAatdIiXi2pXaoJjP74u2sid9AoGAFuustiKF2vffjhyEg+HL' +
1083-
'\nU57p6LG7y6x02COLDhKTX4c/bEa6MX4f91ZKXy2S47tCgLSf4SYd49k1H0wQEDkl' +
1084-
'\nYs+pznN30O/Jxu063JfvFbLZxJkeayLpQL12w+NQUDwsF6MGvIYTnUefhkfb3LWC' +
1085-
'\njBKCTCcw9u4SVX1jK4f2/OU=' +
1086-
'\n-----END PRIVATE KEY-----',
1087-
'tls_cert':
1088-
'-----BEGIN CERTIFICATE-----' +
1089-
'\nMIICqDCCAZACCQDB2CY2jE7CCjANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtm' +
1090-
'\nb28uYmFyLmNvbTAeFw0yMzA2MjkyMDM5MzhaFw0yNDA2MjgyMDM5MzhaMBYxFDAS' +
1091-
'\nBgNVBAMMC2Zvby5iYXIuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC' +
1092-
'\nAQEAq/kMeTqwBy1sJprLZ+2hKN9e4Py8b/w5m/zf5Wp2xmX2lZZxNSawEjZxI6bO' +
1093-
'\nQq1QS5I3LW0WLgFjm71+DiiBm0pk9iQ7t4InoNb9oINIrjJn6ofaYD/LM5XwfJRu' +
1094-
'\n/62eZuAKRBAfIrMyHvgaz7JpQQanfrbid/rfwWPWuz46YZGjAmxpb6Gg2RI0+iqr' +
1095-
'\nmwDJmapJGBU/JmMfgJMCJoKlUeczLOEdl0hJdEBi7BY5w7Viw76xxnXhhNIZ6k0u' +
1096-
'\nTrrCfG5jSyQzr0iUnWUlj7cmoTUE+MAJ6d0SsXdw9qXQoapsRnSLPnnjcM6Fw+Nj' +
1097-
'\nNlRBPzIDy7u4T7j5gpzegLBE/QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCXRwhk' +
1098-
'\nwjvOzKh5R+QKHGjtcjutSkwZbMj5+5enN/8IwX2BbX0i/aALxEPcZExMK5aIS5rm' +
1099-
'\n+kUkDyZkYVaMQQoTGNHSnnET8WJf8zGqd/GdiVxZRVXjOnQ5tEezdwFm0a3TEEKw' +
1100-
'\n/2HG9chz24ywhbIZZMEFmse7LLrcy5XSUQzOTMWBKZ8fTEXBYaEVhD/9b4SPuLpw' +
1101-
'\ni4vDZPt+e+p96NcGNf0b932aod+X34dARUd55UM9PY4i4Z7UzzV7zK+U6tHjzzmg' +
1102-
'\nrv+JA2kDt3mwQXn7bfgRxLcpBZFpUHjLRe+MGlQJM2xFYAXop9ZzF1go58ErHbsT' +
1103-
'\nCyXJ56cw0ffDrXSn' +
1104-
'\n-----END CERTIFICATE-----',
1059+
'tls_key': fs.readFileSync('test/integration/domain.key', 'utf8'),
1060+
'tls_cert': fs.readFileSync('test/integration/domain.crt', 'utf8'),
11051061
},
11061062
};
11071063

@@ -1129,53 +1085,8 @@ describe('CodeEngineV2_integration', () => {
11291085
name: 'my-tls-secret',
11301086
ifMatch: '*',
11311087
data: {
1132-
'tls_key':
1133-
'-----BEGIN PRIVATE KEY-----' +
1134-
'\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDGfJO9qkAlq8Vy' +
1135-
'\nKNyJEAwJ+VGurknonWKL+/B/8uS45qDYHP9McyokfHR6GEeL3p/vk4zf+QI/+5Dn' +
1136-
'\n0IK6jyiLzl4x0FlEVbEesLubi/6B8r6I+pYfWlOX+ShJkryuZcMjuEtvP6sli+Wj' +
1137-
'\nr5yILu8YHgAVVdvLs7XJmlDPv/kmq9R66Nsl02PgLazJfztijcdBGkQAPxClwwkJ' +
1138-
'\nzVCWE/G7fS0iYUb76ScHrxLwN7Bh+wTOIMHk6qqK2UA45a8MmyGOkD4SoB4K3z3y' +
1139-
'\nGNTQrxQbj+wCyK9kY2/sTs++kcsiwTfTx+17UYO05S0+ExqIWrD6bJpnYmWART/2' +
1140-
'\niBvcAfLvAgMBAAECggEBAKzVj6SJGmBzKXQVxquHEKSiuBC+bVcjrMsuL6aKb8Xd' +
1141-
'\n9VMaNOhyI9EvmhEzESHnUidAuVvSLbZfLTfeZedjfy/2HCmOPhz17UxHIqX4ij7H' +
1142-
'\njEgkxBI7Ci18ZStjne7SZ9CzyuPtce842VbmNQyUqde7T+FEKSdArlwFhrbQeHjF' +
1143-
'\ngJQrsroY8d0h9Xt6UlfVzX/CeNWP98YJLJ7my9WYRhZlcBE5qwyaMRIY2UKcjgpx' +
1144-
'\nXaViny79P5GwiaVGgOUYZ32bA+GHf7u5WP7lCiqT32SgTZzQ9dov9KN+QSkui7qO' +
1145-
'\nj0tC0c7OI59zatPAbp+t1LDjsgTjkuoReHes4nhupvECgYEA5b+S9uLtTn3XxLMf' +
1146-
'\nR00anvek8EUbTA/TRrJWUhCgvyVCafpyx0BqJC9eR5LnmD3f3yFXDvD5DF201zTn' +
1147-
'\n1Py+sk6oUfuPLXz8P76L5Wpz8ryRjR4LfLu0CTGMuUMDfE3NRHQJHNKnkrPwu0mX' +
1148-
'\njwbZrI08Xs8yjyx4gapdwE1cEvkCgYEA3SqPHW1AjCdnhSpnzf9QwxX0hzUKvUBK' +
1149-
'\neuuhKvmwh/AnE2y4b/6VH7TRj+fUvbaSFl63tTKXvUA2J7gHvz8o3j24EYAibwe/' +
1150-
'\nTvcloLjNxHOEq42vwB9zoZZ1UjvNhRo7lB6626/ffQRHXeSfoyMr2GTFYdpCAZds' +
1151-
'\nf8/fHA14RycCgYASzd9FfcVWi05Btzd0KodnQ3WohL97NkBgpPATv3CotG//JJSI' +
1152-
'\nYmlNlOLukMOL3mSYaq4pduerb3ABvT7MW/NvvKhiLWjGnFg5D2t7136t+2keV7sw' +
1153-
'\n9lwB9KBD+YwrfGK0m5qzVTqJ81hcu+U/u5vNV7H9QJAuz8D9O+h4eNx0YQKBgQC+' +
1154-
'\naa3dv/oasLJHzEKi8HYv/+8PmXMtjPSS79tKjL6XywNZjfkdMypgqeTi6M4Yp98O' +
1155-
'\ns22m63AI2AfIGoFQ/qfI74pSRudegGUNL2uN/I3r3SkUKmBuIKYFMOzBaAuB1RwG' +
1156-
'\nYo6uJbVchRqMlBF8+wL8w4XMwYSiqiQXxnhoRpCPcQKBgE2UoeHxvydgQjcfx7/M' +
1157-
'\n8BmmLqohWUF6tU62TVBMhYeO77H5Qkn/y0K6UPvar7x0lNAz2ljiUtYvvHc3S9Mc' +
1158-
'\nwSQ7GGIZu4ro/tLfi1xVfeQH5Ibm/pdk+1BZfcGeYAHC9Gr+LAT0iJRu8nFyWroB' +
1159-
'\nq/Tq26sIqxRotUdtRDJ6D6jf' +
1160-
'\n-----END PRIVATE KEY-----',
1161-
'tls_cert':
1162-
'-----BEGIN CERTIFICATE-----' +
1163-
'\nMIICqDCCAZACCQDB2CY2jE7CCjANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtm' +
1164-
'\nb28uYmFyLmNvbTAeFw0yMzA2MjkyMDM5MzhaFw0yNDA2MjgyMDM5MzhaMBYxFDAS' +
1165-
'\nBgNVBAMMC2Zvby5iYXIuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC' +
1166-
'\nAQEAq/kMeTqwBy1sJprLZ+2hKN9e4Py8b/w5m/zf5Wp2xmX2lZZxNSawEjZxI6bO' +
1167-
'\nQq1QS5I3LW0WLgFjm71+DiiBm0pk9iQ7t4InoNb9oINIrjJn6ofaYD/LM5XwfJRu' +
1168-
'\n/62eZuAKRBAfIrMyHvgaz7JpQQanfrbid/rfwWPWuz46YZGjAmxpb6Gg2RI0+iqr' +
1169-
'\nmwDJmapJGBU/JmMfgJMCJoKlUeczLOEdl0hJdEBi7BY5w7Viw76xxnXhhNIZ6k0u' +
1170-
'\nTrrCfG5jSyQzr0iUnWUlj7cmoTUE+MAJ6d0SsXdw9qXQoapsRnSLPnnjcM6Fw+Nj' +
1171-
'\nNlRBPzIDy7u4T7j5gpzegLBE/QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCXRwhk' +
1172-
'\nwjvOzKh5R+QKHGjtcjutSkwZbMj5+5enN/8IwX2BbX0i/aALxEPcZExMK5aIS5rm' +
1173-
'\n+kUkDyZkYVaMQQoTGNHSnnET8WJf8zGqd/GdiVxZRVXjOnQ5tEezdwFm0a3TEEKw' +
1174-
'\n/2HG9chz24ywhbIZZMEFmse7LLrcy5XSUQzOTMWBKZ8fTEXBYaEVhD/9b4SPuLpw' +
1175-
'\ni4vDZPt+e+p96NcGNf0b932aod+X34dARUd55UM9PY4i4Z7UzzV7zK+U6tHjzzmg' +
1176-
'\nrv+JA2kDt3mwQXn7bfgRxLcpBZFpUHjLRe+MGlQJM2xFYAXop9ZzF1go58ErHbsT' +
1177-
'\nCyXJ56cw0ffDrXSn' +
1178-
'\n-----END CERTIFICATE-----',
1088+
'tls_key': fs.readFileSync('test/integration/domain.key', 'utf8'),
1089+
'tls_cert': fs.readFileSync('test/integration/domain.crt', 'utf8'),
11791090
},
11801091
format: 'tls',
11811092
};

0 commit comments

Comments
 (0)