Skip to content

Commit 35712f6

Browse files
committed
test: add test case w/ includePermissions=true
1 parent 6661fb0 commit 35712f6

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

src/users/integration.test.ts

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import weaviate, { ApiKey } from '..';
1+
import weaviate, { ApiKey, Role } from '..';
22
import { requireAtLeast } from '../../test/version.js';
33
import { WeaviateUserTypeDB } from '../v2';
44
import { UserDB } from './types.js';
@@ -136,10 +136,29 @@ requireAtLeast(
136136
expect(admin.users[kind].getAssignedRoles('role-rick')).resolves.toEqual({});
137137
});
138138

139+
it('should be able to fetch assigned roles with all permissions', async () => {
140+
const admin = await makeClient('admin-key');
141+
142+
await admin.roles.delete('test');
143+
await admin.roles.create('test', [
144+
{ collection: 'Things', actions: ['manage_backups'] },
145+
{ collection: 'Things', tenant: 'data-tenant', actions: ['create_data'] },
146+
{ collection: 'Things', verbosity: 'minimal', actions: ['read_nodes'] },
147+
]);
148+
await admin.users.db.create('permission-peter');
149+
await admin.users.db.assignRoles('test', 'permission-peter');
150+
151+
const roles = await admin.users.db.getAssignedRoles('permission-peter', { includePermissions: true });
152+
expect(roles['test'].backupsPermissions).toHaveLength(1);
153+
expect(roles['test'].dataPermissions).toHaveLength(1);
154+
expect(roles['test'].nodesPermissions).toHaveLength(1);
155+
156+
});
157+
139158
afterAll(() =>
140159
makeClient('admin-key').then(async (c) => {
141160
await Promise.all(
142-
['jim', 'pam', 'dwight', 'dynamic-dave', 'api-ashley', 'role-rick'].map((n) => c.users.db.delete(n))
161+
['jim', 'pam', 'dwight', 'dynamic-dave', 'api-ashley', 'role-rick', 'permission-peter'].map((n) => c.users.db.delete(n))
143162
);
144163
})
145164
);

0 commit comments

Comments
 (0)