blob: 6d0f8e5479a79ac37c70c11720e04535da151894 [file] [log] [blame]
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:observatory_2/service_io.dart';
import 'package:test/test.dart';
import 'test_helper.dart';
var tests = <VMTest>[
(VM vm) async {
final defaultClientName = 'client1';
final clientName = 'agent-007';
var result = await vm.invokeRpcNoUpgrade('getClientName', {});
expect(result['type'], 'ClientName');
expect(result['name'], defaultClientName);
// Set the name for this client.
result = await vm.invokeRpcNoUpgrade(
'setClientName',
{
'name': clientName,
},
);
expect(result['type'], 'Success');
// Check it was set properly.
result = await vm.invokeRpcNoUpgrade('getClientName', {});
expect(result['type'], 'ClientName');
expect(result['name'], clientName);
// Check clearing works properly.
result = await vm.invokeRpcNoUpgrade(
'setClientName',
{
'name': '',
},
);
expect(result['type'], 'Success');
result = await vm.invokeRpcNoUpgrade('getClientName', {});
expect(result['type'], 'ClientName');
expect(result['name'], defaultClientName);
},
// Try to set an invalid agent name for this client.
(VM vm) async {
try {
await vm.invokeRpcNoUpgrade(
'setClientName',
{
'name': 42,
},
);
fail('Successfully set invalid client name');
} on ServerRpcException catch (e) {/* expected */}
},
// Missing parameters.
(VM vm) async {
try {
await vm.invokeRpcNoUpgrade('setClientName', {});
fail('Successfully set name with no type');
} on ServerRpcException catch (e) {/* expected */}
},
];
main(args) async => runVMTests(
args,
tests,
enableService: false,
);