Skip to content

Commit 300c014

Browse files
committed
refactor: remove dead TLS code in applySecurityAuthentication, drop nock dependency, migrate cache_test to MockAgent
1 parent 2597986 commit 300c014

4 files changed

Lines changed: 42 additions & 143 deletions

File tree

package-lock.json

Lines changed: 0 additions & 97 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
"eslint-plugin-erasable-syntax-only": "^0.4.0",
8282
"husky": "^9.0.6",
8383
"mock-fs": "^5.2.0",
84-
"nock": "^14.0.5",
8584
"prettier": "^3.0.0",
8685
"pretty-quick": "^4.0.0",
8786
"ts-mockito": "^2.3.1",

src/cache_test.ts

Lines changed: 42 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { KubeConfig } from './config.js';
88
import { Cluster, Context, User } from './config_types.js';
99
import { ListPromise } from './informer.js';
1010

11-
import nock from 'nock';
11+
import { MockAgent, setGlobalDispatcher, getGlobalDispatcher } from 'undici';
1212
import { Watch } from './watch.js';
1313

1414
const server = 'https://foo.company.com';
@@ -1474,51 +1474,56 @@ describe('ListWatchCache', () => {
14741474

14751475
const informer = new ListWatch(path, watch, listFn, false, APP_LABEL_SELECTOR);
14761476

1477-
const scope = nock(fakeConfig.clusters[0].server);
1478-
const s = scope
1479-
.get(path)
1480-
.query({
1481-
watch: true,
1482-
resourceVersion: '12345',
1483-
labelSelector: APP_LABEL_SELECTOR,
1484-
})
1485-
.reply(
1477+
const originalDispatcher = getGlobalDispatcher();
1478+
const mockAgent = new MockAgent();
1479+
setGlobalDispatcher(mockAgent);
1480+
mockAgent.disableNetConnect();
1481+
1482+
try {
1483+
const pool = mockAgent.get(fakeConfig.clusters[0].server);
1484+
pool.intercept({
1485+
path: `${path}?watch=true&resourceVersion=12345&labelSelector=app%3Dfoo`,
1486+
method: 'GET',
1487+
}).reply(
14861488
200,
1487-
() =>
1488-
JSON.stringify({
1489-
type: 'ADDED',
1490-
object: {
1491-
metadata: {
1492-
name: 'name3',
1493-
labels: {
1494-
app: 'foo3',
1495-
},
1496-
} as V1ObjectMeta,
1497-
},
1498-
}) + '\n',
1489+
JSON.stringify({
1490+
type: 'ADDED',
1491+
object: {
1492+
metadata: {
1493+
name: 'name3',
1494+
labels: {
1495+
app: 'foo3',
1496+
},
1497+
} as V1ObjectMeta,
1498+
},
1499+
}) + '\n',
14991500
);
15001501

1501-
await informer.start();
1502+
await informer.start();
15021503

1503-
let doneResolve: any;
1504-
const donePromise = new Promise((resolve) => {
1505-
doneResolve = resolve;
1506-
});
1504+
let doneResolve: any;
1505+
const donePromise = new Promise((resolve) => {
1506+
doneResolve = resolve;
1507+
});
15071508

1508-
informer.on('add', doneResolve);
1509+
informer.on('add', doneResolve);
15091510

1510-
const value = await donePromise;
1511+
const value = await donePromise;
15111512

1512-
deepStrictEqual(value, {
1513-
metadata: {
1514-
labels: {
1515-
app: 'foo3',
1513+
deepStrictEqual(value, {
1514+
metadata: {
1515+
labels: {
1516+
app: 'foo3',
1517+
},
1518+
name: 'name3',
15161519
},
1517-
name: 'name3',
1518-
},
1519-
});
1520+
});
15201521

1521-
s.done();
1522+
mockAgent.assertNoPendingInterceptors();
1523+
} finally {
1524+
await mockAgent.close();
1525+
setGlobalDispatcher(originalDispatcher);
1526+
}
15221527
});
15231528
});
15241529

src/config.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -284,14 +284,6 @@ export class KubeConfig implements SecurityAuthentication {
284284

285285
await this.applyOptions(httpsOptions);
286286

287-
if (cluster && cluster.skipTLSVerify) {
288-
agentOptions.rejectUnauthorized = false;
289-
}
290-
291-
if (cluster && cluster.tlsServerName) {
292-
agentOptions.servername = cluster.tlsServerName;
293-
}
294-
295287
if (user && user.username) {
296288
const auth = Buffer.from(`${user.username}:${user.password}`).toString('base64');
297289
context.setHeaderParam('Authorization', `Basic ${auth}`);

0 commit comments

Comments
 (0)