Skip to content

Commit

Permalink
Merge pull request #641 from atsign-foundation/627-at_activate-adding…
Browse files Browse the repository at this point in the history
…-option-to-un-revokeenable-revoked-atkeys

fix: Add unrevoke operation to enroll verb
  • Loading branch information
sitaram-kalluri authored Sep 3, 2024
2 parents 63f1fc7 + 3aa1633 commit a597fb9
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 5 deletions.
3 changes: 2 additions & 1 deletion packages/at_commons/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
## 4.1.0
- feat: Add "unrevoke" operation to the enroll verb to restore revoked APKAM keys
## 4.0.11
- chore: deprecate MessageTypeEnum.text
- fix: remove deprecated annotation from Metadata.pubKeyCS

## 4.0.10
- fix: Add a "force" variable to enroll_verb_builder to propagate enroll:revoke:force value
- fix: Deprecate apkam in PkamAuthMode enum
Expand Down
11 changes: 10 additions & 1 deletion packages/at_commons/lib/src/verb/operation_enum.dart
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,16 @@ enum MessageTypeEnum {
String getMessageType(MessageTypeEnum? messageTypeEnum) =>
'$messageTypeEnum'.split('.').last;

enum EnrollOperationEnum { request, approve, deny, revoke, list, update, fetch }
enum EnrollOperationEnum {
request,
approve,
deny,
revoke,
list,
update,
fetch,
unrevoke
}

String getEnrollOperation(EnrollOperationEnum? enrollOperationEnum) =>
'$enrollOperationEnum'.split('.').last;
2 changes: 1 addition & 1 deletion packages/at_commons/lib/src/verb/syntax.dart
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ class VerbSyntax {
static const notifyRemove = r'notify:remove:(?<id>[\w\d\-\_]+)';
static const enroll =
// The non-capturing group (?::)? matches ":" if the operation is request|approve|deny|revoke
r'^enroll:(?<operation>(?:(request|approve|deny|revoke|update|list|fetch)))(:(?<force>force))?(?::)?((?<enrollParams>.+)|(<=list:)<enrollParams>.?)?$';
r'^enroll:(?<operation>(?:(request|approve|deny|revoke|update|list|fetch|unrevoke)))(:(?<force>force))?(?::)?((?<enrollParams>.+)|(<=list:)<enrollParams>.?)?$';
static const otp =
r'^otp:(?<operation>get|put)(:(?<otp>(?<=put:)\w{6,}))?(:(?:ttl:(?<ttl>\d+)))?$';
static const keys = r'^keys:((?<operation>put|get|delete):?)'
Expand Down
4 changes: 2 additions & 2 deletions packages/at_commons/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: at_commons
description: A library of Dart and Flutter utility classes that are used across other components of the atPlatform.
version: 4.0.11
version: 4.1.0
repository: https://github.com/atsign-foundation/at_libraries
homepage: https://atsign.dev

Expand All @@ -16,5 +16,5 @@ dev_dependencies:
build_runner: ^2.3.3
json_serializable: ^6.6.0
lints: ^2.0.0
test: ^1.21.4
test: ^1.25.8
test_process: ^2.0.2
10 changes: 10 additions & 0 deletions packages/at_commons/test/enroll_params_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,16 @@ void main() {
expect(enrollmentParams['operation'], 'fetch');
expect(enrollmentParams['enrollParams'], '{"enrollmentId":"123"}');
});

test('A test to verify enroll unrevoke params', () {
String command = 'enroll:unrevoke:{"enrollmentId":"123"}';
expect(RegExp(VerbSyntax.enroll).hasMatch(command), true);

Map<dynamic, dynamic> enrollmentParams =
getVerbParams(VerbSyntax.enroll, command);
expect(enrollmentParams['operation'], 'unrevoke');
expect(enrollmentParams['enrollParams'], '{"enrollmentId":"123"}');
});
});

group('A group of tests to verify toJson and fromJson in EnrollParams', () {
Expand Down
8 changes: 8 additions & 0 deletions packages/at_commons/test/enroll_verb_builder_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -90,5 +90,13 @@ void main() {

expect(command, 'enroll:fetch:{"enrollmentId":"123"}\n');
});

test('A test to validate the enroll unrevoke command', () {
EnrollVerbBuilder enrollVerbBuilder = EnrollVerbBuilder()
..operation = EnrollOperationEnum.unrevoke
..enrollmentId = '123';
expect(enrollVerbBuilder.buildCommand(),
'enroll:unrevoke:{"enrollmentId":"123"}\n');
});
});
}

0 comments on commit a597fb9

Please sign in to comment.