Skip to content

Commit 6d53567

Browse files
committed
✅ Integrate tests as much as possible
1 parent 9f24519 commit 6d53567

File tree

11 files changed

+59
-89
lines changed

11 files changed

+59
-89
lines changed
Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1+
import './test_utils.dart';
12
import 'agent/agent.dart' as agent;
23
import 'authentication/authentication.dart' as auth;
34
import 'candid/idl.dart' as candid;
45
import 'identity/identity.dart' as identity;
56
import 'principal/index.dart' as principal;
6-
import 'test_utils.dart';
77
import 'utils/utils_test.dart' as utils;
8-
import 'wallet/pem.dart' as pem;
9-
import 'wallet/signer.dart' as signer;
8+
import 'wallet/index.dart' as wallet;
109

1110
void main() async {
1211
ffiInit();
@@ -16,6 +15,5 @@ void main() async {
1615
identity.main();
1716
principal.main();
1817
utils.main();
19-
signer.main();
20-
pem.main();
18+
wallet.main();
2119
}

packages/agent_dart_base/test/authentication/authentication.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ import 'dart:typed_data';
33
import 'package:agent_dart_base/agent_dart_base.dart';
44
import 'package:test/test.dart';
55

6+
import '../test_utils.dart';
7+
68
Future<SignIdentity> createIdentity(int seed) async {
79
final seed1 = List.filled(32, 0);
810
seed1[0] = seed;
911
return Ed25519KeyIdentity.generate(Uint8List.fromList(seed1));
1012
}
1113

1214
void main() {
15+
ffiInit();
1316
authenticationTest();
1417
}
1518

packages/agent_dart_base/test/candid/idl.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import 'package:agent_dart_base/agent_dart_base.dart';
44
import 'package:test/test.dart';
55

66
import '../test_utils.dart';
7-
// ignore: library_prefixes
87

98
void main() {
9+
ffiInit();
1010
idlTest();
1111
}
1212

packages/agent_dart_base/test/identity/delegation.dart

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,20 @@ import 'dart:typed_data';
44
import 'package:agent_dart_base/agent_dart_base.dart';
55
import 'package:test/test.dart';
66

7-
Future<SignIdentity> createIdentity(int seed) {
8-
final s = Uint8List.fromList([seed, ...List.filled(31, 0)]);
9-
return Ed25519KeyIdentity.generate(s);
10-
}
11-
12-
// BinaryBlob h(String text) {
13-
// return blobFromHex(text.codeUnits.);
14-
// }
157
void main() {
168
delegationTest();
179
}
1810

11+
Future<SignIdentity> _createIdentity(int seed) {
12+
final s = Uint8List.fromList([seed, ...List.filled(31, 0)]);
13+
return Ed25519KeyIdentity.generate(s);
14+
}
15+
1916
void delegationTest() {
2017
test('delegation signs with proper keys (3)', () async {
21-
final root = await createIdentity(2);
22-
final middle = await createIdentity(1);
23-
final bottom = await createIdentity(0);
18+
final root = await _createIdentity(2);
19+
final middle = await _createIdentity(1);
20+
final bottom = await _createIdentity(0);
2421

2522
final rootToMiddle = await DelegationChain.create(
2623
root,
@@ -66,9 +63,9 @@ void delegationTest() {
6663
expect(middleToBottom.toJson(), result);
6764
});
6865
test('DelegationChain can be serialized to and from JSON', () async {
69-
final root = await createIdentity(2);
70-
final middle = await createIdentity(1);
71-
final bottom = await createIdentity(0);
66+
final root = await _createIdentity(2);
67+
final middle = await _createIdentity(1);
68+
final bottom = await _createIdentity(0);
7269

7370
final rootToMiddle = await DelegationChain.create(
7471
root,
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
1+
import '../test_utils.dart';
12
import 'delegation.dart' as delegation;
23
import 'ed25519.dart' as ed25519;
4+
import 'p256.dart' as p256;
5+
import 'schnorr.dart' as schnorr;
36
import 'secp256k1.dart' as secp256k1;
47

58
void main() {
9+
ffiInit();
610
delegation.main();
711
ed25519.main();
12+
p256.main();
13+
schnorr.main();
814
secp256k1.main();
915
}

packages/agent_dart_base/test/identity/p256.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import 'package:test/test.dart';
33
import '../test_utils.dart';
44

55
void main() {
6-
ffiInit();
7-
// matchFFI();
86
p256Test();
97
}
108

packages/agent_dart_base/test/identity/schnorr.dart

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@ import 'dart:typed_data';
22

33
import 'package:agent_dart_base/agent_dart_base.dart';
44
import 'package:test/test.dart';
5-
import '../test_utils.dart';
65

76
void main() {
8-
ffiInit();
9-
// matchFFI();
107
schnorrTest();
118
}
129

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1+
import '../test_utils.dart';
12
import 'principal.dart' as principal;
23
import 'utils/base32.dart' as base32;
3-
// ignore: library_prefixes
4-
import 'utils/get_crc.dart' as getCrc;
4+
import 'utils/get_crc.dart' as get_crc;
55

66
void main() {
7-
base32.main();
8-
getCrc.main();
7+
ffiInit();
98
principal.main();
9+
base32.main();
10+
get_crc.main();
1011
}

packages/agent_dart_base/test/test_utils.dart

Lines changed: 17 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,23 @@ import 'dart:ffi';
33
import 'package:agent_dart_ffi/agent_dart_ffi.dart';
44
import 'package:test/test.dart';
55

6+
Future<void> ffiInit() async {
7+
// ignore: invalid_use_of_internal_member
8+
if (AgentDart.instance.initialized) {
9+
return;
10+
}
11+
final [os, arch] = Abi.current().toString().split('_');
12+
final libName = switch ((os, arch)) {
13+
('macos', _) || ('linux', 'arm64') => 'libagent_dart.dylib',
14+
('linux', _) => 'libagent_dart.so',
15+
('windows', _) => 'agent_dart.dll',
16+
_ => throw UnsupportedError('$os $arch is not a supported platform.'),
17+
};
18+
return AgentDart.init(
19+
externalLibrary: ExternalLibrary.open('../../target/debug/$libName'),
20+
);
21+
}
22+
623
const isAssertionError = TypeMatcher<AssertionError>();
724

825
Matcher assertionThrowsContains(String str) {
@@ -25,63 +42,3 @@ class ErrorMessageMatcher<T extends Error> extends TypeMatcher<T> {
2542
bool matches(Object? item, Map matchState) =>
2643
item is T && (_message == null || (item as dynamic).message == _message);
2744
}
28-
29-
Future<void> ffiInit() {
30-
final [os, arch] = Abi.current().toString().split('_');
31-
final libName = switch ((os, arch)) {
32-
('macos', _) || ('linux', 'arm64') => 'libagent_dart.dylib',
33-
('linux', _) => 'libagent_dart.so',
34-
('windows', _) => 'agent_dart.dll',
35-
_ => throw UnsupportedError('$os $arch is not a supported platform.'),
36-
};
37-
return AgentDart.init(
38-
externalLibrary: ExternalLibrary.open('../../target/debug/$libName'),
39-
);
40-
}
41-
42-
// void matchFFI() {
43-
// final architech = Abi.current().toString();
44-
// final arr = architech.split('_');
45-
// final os = arr[0];
46-
// final arc = arr[1];
47-
// const dyLib = 'libagent_dart.dylib';
48-
// const dySo = 'libagent_dart.so';
49-
// const dyDll = 'agent_dart.dll';
50-
// final String lib;
51-
// switch (os) {
52-
// case 'macos':
53-
// {
54-
// if (arc == 'arm64') {
55-
// lib = '../../platform-build/dylib/aarch64-apple-darwin/$dyLib';
56-
// break;
57-
// } else {
58-
// lib = '../../platform-build/dylib/x86_64-apple-darwin/$dyLib';
59-
// break;
60-
// }
61-
// }
62-
// case 'linux':
63-
// {
64-
// if (arc == 'arm64') {
65-
// lib = '../../platform-build/dylib/aarch64-unknown-linux-gnu/$dyLib';
66-
// break;
67-
// } else {
68-
// lib = '../../platform-build/dylib/x86_64-unknown-linux-gnu/$dySo';
69-
// break;
70-
// }
71-
// }
72-
// case 'windows':
73-
// {
74-
// if (arc == 'arm64') {
75-
// lib = '../../platform-build/dylib/aarch64-pc-windows-msvc/$dyDll';
76-
// break;
77-
// } else {
78-
// lib = '../../platform-build/dylib/x86_64-pc-windows-msvc/$dyDll';
79-
// break;
80-
// }
81-
// }
82-
// default:
83-
// throw 'Unsupported OS: $os';
84-
// }
85-
// print(lib);
86-
// AgentDartFFI.setImpl(AgentDartImpl(DynamicLibrary.open(lib)));
87-
// }

packages/agent_dart_base/test/utils/utils_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import 'package:agent_dart_base/agent_dart_base.dart';
22
import 'package:test/test.dart';
33

4+
import '../test_utils.dart';
45
import 'is.dart' as is_test;
56

67
void main() {
8+
ffiInit();
79
is_test.main();
810

911
test('Hex string to u8', () {
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import '../test_utils.dart';
2+
import 'aes.dart' as aes;
3+
import 'pem.dart' as pem;
4+
import 'signer.dart' as signer;
5+
6+
void main() {
7+
ffiInit();
8+
aes.main();
9+
pem.main();
10+
signer.main();
11+
}

0 commit comments

Comments
 (0)