Skip to content

Commit 698595d

Browse files
authored
Enable auth tests in TestKit backend (#773)
Kerberos auth should use the `ticket` field instead of the `credentials` field to transmit the auth token. Furthermore, extend the TestKit backend to utilize the different auth helper functions and enable feature flags to test them.
1 parent e3da4a3 commit 698595d

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

testkit-backend/src/request-handlers.js

+24-1
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,35 @@ export function NewDriver (context, data, { writeResponse }) {
1010
userAgent,
1111
resolverRegistered
1212
} = data
13+
let parsedAuthToken = authToken
14+
switch (authToken.scheme) {
15+
case 'basic':
16+
parsedAuthToken = neo4j.auth.basic(
17+
authToken.principal,
18+
authToken.credentials,
19+
authToken.realm
20+
)
21+
break
22+
case 'kerberos':
23+
parsedAuthToken = neo4j.auth.kerberos(authToken.credentials)
24+
break
25+
default:
26+
parsedAuthToken = neo4j.auth.custom(
27+
authToken.principal,
28+
authToken.credentials,
29+
authToken.realm,
30+
authToken.scheme,
31+
authToken.parameters
32+
)
33+
}
1334
const resolver = resolverRegistered
1435
? address =>
1536
new Promise((resolve, reject) => {
1637
const id = context.addResolverRequest(resolve, reject)
1738
writeResponse('ResolverResolutionRequired', { id, address })
1839
})
1940
: undefined
20-
const driver = neo4j.driver(uri, authToken, {
41+
const driver = neo4j.driver(uri, parsedAuthToken, {
2142
userAgent,
2243
resolver,
2344
useBigInt: true,
@@ -238,6 +259,8 @@ export function StartTest (_, { testName }, wire) {
238259
export function GetFeatures (_context, _params, wire) {
239260
wire.writeResponse('FeatureList', {
240261
features: [
262+
'Feature:Auth:Custom',
263+
'Feature:Auth:Kerberos',
241264
'AuthorizationExpiredTreatment',
242265
'ConfHint:connection.recv_timeout_seconds'
243266
]

0 commit comments

Comments
 (0)