iop/apps/portal/test/iop_wire/parser_map_test.dart

37 lines
1.4 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:iop_portal/iop_wire/parser_map.dart';
import 'package:iop_portal/gen/proto/iop/control.pb.dart';
void main() {
test('Parser map should contain PortalHelloRequest and PortalHelloResponse', () {
expect(portalParserMap.containsKey('iop.PortalHelloRequest'), isTrue);
expect(portalParserMap.containsKey('iop.PortalHelloResponse'), isTrue);
expect(portalParserMap.containsKey('PortalHelloRequest'), isTrue);
expect(portalParserMap.containsKey('PortalHelloResponse'), isTrue);
// Verify parser works
final req = PortalHelloRequest()
..clientId = 'test-client'
..clientVersion = '1.0.0';
final reqBytes = req.writeToBuffer();
final parserReq = portalParserMap['PortalHelloRequest'];
expect(parserReq, isNotNull);
final parsedReq = parserReq!(reqBytes) as PortalHelloRequest;
expect(parsedReq.clientId, equals('test-client'));
expect(parsedReq.clientVersion, equals('1.0.0'));
final res = PortalHelloResponse()
..ready = true
..protocol = 'proto'
..message = 'welcome';
final resBytes = res.writeToBuffer();
final parserRes = portalParserMap['PortalHelloResponse'];
expect(parserRes, isNotNull);
final parsedRes = parserRes!(resBytes) as PortalHelloResponse;
expect(parsedRes.ready, isTrue);
expect(parsedRes.protocol, equals('proto'));
expect(parsedRes.message, equals('welcome'));
});
}