Skip to content

Commit

Permalink
wip - #259 fix for test
Browse files Browse the repository at this point in the history
  • Loading branch information
tegefaulkes committed Mar 8, 2022
1 parent cabc368 commit c0f6c17
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 23 deletions.
13 changes: 8 additions & 5 deletions src/client/service/vaultsPermissionGet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ import type { VaultName } from '../../vaults/types';
import type * as grpc from '@grpc/grpc-js';
import type { VaultActions } from '../../vaults/types';
import type ACL from '../../acl/ACL';
import type { NodeId } from 'nodes/types';
import type { NodeId, NodeIdEncoded } from 'nodes/types';
import { IdInternal } from '@matrixai/id';
import { utils as grpcUtils } from '../../grpc';
import * as nodesPB from '../../proto/js/polykey/v1/nodes/nodes_pb';
import * as vaultsPB from '../../proto/js/polykey/v1/vaults/vaults_pb';
import * as validationUtils from '../../validation/utils';
import * as nodesUtils from '../../nodes/utils';

function vaultsPermissionGet({
authenticate,
Expand All @@ -34,7 +36,7 @@ function vaultsPermissionGet({

// Getting permissions
const rawPermissions = await acl.getVaultPerm(vaultId);
const permissionList: Record<NodeId, VaultActions> = {};
const permissionList: Record<NodeIdEncoded, VaultActions> = {};
// Getting the relevant information.
for (const nodeId in rawPermissions) {
permissionList[nodeId] = rawPermissions[nodeId].vaults[vaultId];
Expand All @@ -45,10 +47,11 @@ function vaultsPermissionGet({
const nodeMessage = new nodesPB.Node();

// Constructing the message.
for (const nodeId in permissionList) {
nodeMessage.setNodeId(nodeId);
for (const nodeIdString in permissionList) {
const nodeId = IdInternal.fromString<NodeId>(nodeIdString);
nodeMessage.setNodeId(nodesUtils.encodeNodeId(nodeId));
vaultPermissionsMessage.setNode(nodeMessage);
const actions = Object.keys(permissionList[nodeId]);
const actions = Object.keys(permissionList[nodeIdString]);
vaultPermissionsMessage.setVaultPermissionsList(actions);
await genWritable.next(vaultPermissionsMessage);
}
Expand Down
30 changes: 12 additions & 18 deletions tests/client/rpcVaults.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,6 @@ describe('Vaults client service', () => {
logger: logger.getChild('Remote Keynode 2'),
nodePath: path.join(dataDir, 'remoteKeynode2'),
});

const targetNodeId1 = remoteKeynode1.keyManager.getNodeId();
const targetNodeId2 = remoteKeynode2.keyManager.getNodeId();
const pkAgentNodeId = pkAgent.keyManager.getNodeId();
Expand All @@ -389,14 +388,11 @@ describe('Vaults client service', () => {
port: remoteKeynode2.revProxy.getIngressPort(),
});

await remoteKeynode1.nodeManager.setNode(
pkAgent.keyManager.getNodeId(),
{
host: pkAgent.revProxy.getIngressHost(),
port: pkAgent.revProxy.getIngressPort(),
},
);
await remoteKeynode2.nodeManager.setNode(targetNodeId2, {
await remoteKeynode1.nodeManager.setNode(pkAgentNodeId, {
host: pkAgent.revProxy.getIngressHost(),
port: pkAgent.revProxy.getIngressPort(),
});
await remoteKeynode2.nodeManager.setNode(pkAgentNodeId, {
host: pkAgent.revProxy.getIngressHost(),
port: pkAgent.revProxy.getIngressPort(),
});
Expand Down Expand Up @@ -444,10 +440,9 @@ describe('Vaults client service', () => {
);
const list: Record<string, unknown>[] = [];
for await (const permission of permissionsStream) {
expect(permission.getVaultPermissionsList()).toEqual([
'pull',
'clone',
]);
const permissionsList = permission.getVaultPermissionsList();
expect(permissionsList).toContain('pull');
expect(permissionsList).toContain('clone');
list.push(permission.toObject());
}
expect(list).toHaveLength(2);
Expand All @@ -458,13 +453,12 @@ describe('Vaults client service', () => {
callCredentials,
);
for await (const permission of permissionStream2) {
expect(permission.getVaultPermissionsList()).toEqual([
'pull',
'clone',
]);
const permissionsList = permission.getVaultPermissionsList();
expect(permissionsList).toContain('pull');
expect(permissionsList).toContain('clone');
const node = permission.getNode();
const nodeId = node?.getNodeId();
expect(nodeId).toEqual(targetNodeId1);
expect(nodeId).toEqual(nodesUtils.encodeNodeId(targetNodeId1));
}
} finally {
await remoteKeynode1?.stop();
Expand Down

0 comments on commit c0f6c17

Please sign in to comment.