Skip to content

Commit

Permalink
issue #159 single-sig delegate rotation
Browse files Browse the repository at this point in the history
  • Loading branch information
psteniusubi committed Dec 16, 2023
1 parent 2a95620 commit 67e86c7
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions examples/integration-scripts/singlesig-drt.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import {
CreateIdentiferArgs,
RotateIdentifierArgs,
SignifyClient,
} from 'signify-ts';
import {
getOrCreateClients,
getOrCreateContact,
getOrCreateIdentifier,
} from './utils/test-setup';
import { waitOperation } from './utils/test-util';

let client1: SignifyClient, client2: SignifyClient;
let name1_id: string, name1_oobi: string;
let contact1_id: string;

Check warning on line 15 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and macOS-latest

'contact1_id' is assigned a value but never used

Check warning on line 15 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and ubuntu-latest

'contact1_id' is assigned a value but never used

beforeAll(async () => {
[client1, client2] = await getOrCreateClients(2);
});
beforeAll(async () => {
[name1_id, name1_oobi] = await getOrCreateIdentifier(client1, 'name1');
});
beforeAll(async () => {
contact1_id = await getOrCreateContact(client2, 'contact1', name1_oobi);
});

describe('singlesig-drt', () => {
test('delegate1a', async () => {
// delegate creates identifier without witnesses
// TODO: should have witness config
let kargs: CreateIdentiferArgs = {

Check warning on line 31 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and macOS-latest

'kargs' is never reassigned. Use 'const' instead

Check warning on line 31 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and ubuntu-latest

'kargs' is never reassigned. Use 'const' instead
delpre: name1_id,
};
let result = await client2.identifiers().create('delegate1', kargs);

Check warning on line 34 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and macOS-latest

'result' is never reassigned. Use 'const' instead

Check warning on line 34 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and ubuntu-latest

'result' is never reassigned. Use 'const' instead
let op = await result.op();

Check warning on line 35 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and macOS-latest

'op' is never reassigned. Use 'const' instead

Check warning on line 35 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and ubuntu-latest

'op' is never reassigned. Use 'const' instead
let delegate1 = await client2.identifiers().get('delegate1');

Check warning on line 36 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and macOS-latest

'delegate1' is never reassigned. Use 'const' instead

Check warning on line 36 in examples/integration-scripts/singlesig-drt.test.ts

View workflow job for this annotation

GitHub Actions / Build, lint, and test on Node 18.12.1 and ubuntu-latest

'delegate1' is never reassigned. Use 'const' instead
expect(op.name).toEqual(`delegation.${delegate1.prefix}`);
});
test('delegator1', async () => {
// delegator approves delegate
let delegate1 = await client2.identifiers().get('delegate1');
let seal = {
i: delegate1.prefix,
s: 0,
d: delegate1.prefix,
};
let result = await client1.identifiers().interact('name1', seal);
let op = waitOperation(client1, await result.op());
});
test('delegate1b', async () => {
// delegate waits for completion
let delegate1 = await client2.identifiers().get('delegate1');
let op: any = { name: `delegation.${delegate1.prefix}` };
op = await waitOperation(client2, op);
expect(delegate1.prefix).toEqual(op.response.i);
});
// TODO: identifiers.rotate fails with 500 server error
test.failing('delegate1c', async () => {
// delegate rotates identifier
let kargs: RotateIdentifierArgs = {};
let result = await client2.identifiers().rotate('delegate1', kargs);
let op = await result.op();
let delegate1 = await client2.identifiers().get('delegate1');
expect(op.name).toEqual(`delegation.${delegate1.prefix}`);
op = await waitOperation(client2, op);
});
});

0 comments on commit 67e86c7

Please sign in to comment.