iop/apps/client/test/iop_wire/parser_map_test.dart
toki 1fe368ad2c refactor: portal → client 앱 리팩토링 및 제어플랫폼 와이어 클라이언트 명명 변경
- apps/portal 디렉터리를 apps/client로 리팩터링
- ControlPlaneWireClient → WireClient 명명 변경
- 관련_proto import 정렬, struct protobuf 생성 제거
- README, docker-compose, 스크립트 등 일관성 개선
2026-05-28 20:24:45 +09:00

40 lines
1.5 KiB
Dart

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