callback method Null safety

  1. @override
Future<Map<String, dynamic>> callback(
  1. Map<String, String> params,
  2. IntegrationTestResults testRunner
)
override

The callback function to response the driver side input.

Implementation

@override
Future<Map<String, dynamic>> callback(
    Map<String, String> params, IntegrationTestResults testRunner) async {
  final String command = params['command']!;
  Map<String, String> response;
  switch (command) {
    case 'request_data':
      final bool allTestsPassed = await testRunner.allTestsPassed.future;
      response = <String, String>{
        'message': allTestsPassed
            ? Response.allTestsPassed(data: testRunner.reportData).toJson()
            : Response.someTestsFailed(
                testRunner.failureMethodsDetails,
                data: testRunner.reportData,
              ).toJson(),
      };
      break;
    case 'get_health':
      response = <String, String>{'status': 'ok'};
      break;
    default:
      throw UnimplementedError('$command is not implemented');
  }
  return <String, dynamic>{
    'isError': false,
    'response': response,
  };
}