Commit 0b5072c2 authored by Devon Carew's avatar Devon Carew

fix check to ignore bots (#4034)

parent 376cb2eb
...@@ -12,22 +12,20 @@ import 'base/utils.dart'; ...@@ -12,22 +12,20 @@ import 'base/utils.dart';
import 'globals.dart'; import 'globals.dart';
import 'version.dart'; import 'version.dart';
// TODO(devoncarew): We'll need to do some work on the user agent in order to
// correctly track usage by operating system (dart-lang/usage/issues/70).
// TODO(devoncarew): We'll want to find a way to send (sanitized) command parameters. // TODO(devoncarew): We'll want to find a way to send (sanitized) command parameters.
const String _kFlutterUA = 'UA-67589403-5'; const String _kFlutterUA = 'UA-67589403-5';
class Usage { class Usage {
Usage() { /// Create a new Usage instance; [versionOverride] is used for testing.
String version = FlutterVersion.getVersionString(whitelistBranchName: true); Usage({ String settingsName: 'flutter', String versionOverride }) {
_analytics = new AnalyticsIO(_kFlutterUA, 'flutter', version); String version = versionOverride ?? FlutterVersion.getVersionString(whitelistBranchName: true);
_analytics = new AnalyticsIO(_kFlutterUA, settingsName, version);
bool runningOnCI = false; bool runningOnCI = false;
// Many CI systems don't do a full git checkout. // Many CI systems don't do a full git checkout.
if (version.startsWith('unknown/')) if (version.endsWith('/unknown'))
runningOnCI = true; runningOnCI = true;
// Check for common CI systems. // Check for common CI systems.
......
...@@ -78,4 +78,16 @@ void main() { ...@@ -78,4 +78,16 @@ void main() {
Usage: new Usage() Usage: new Usage()
}); });
}); });
group('analytics bots', () {
testUsingContext('don\'t send on bots', () async {
int count = 0;
flutterUsage.onSend.listen((Map<String, dynamic> data) => count++);
await createTestCommandRunner().run(<String>['--version']);
expect(count, 0);
}, overrides: <Type, dynamic>{
Usage: new Usage(settingsName: 'flutter_bot_test', versionOverride: 'dev/unknown')
});
});
} }
...@@ -6,6 +6,9 @@ import 'package:args/command_runner.dart'; ...@@ -6,6 +6,9 @@ import 'package:args/command_runner.dart';
import 'package:flutter_tools/src/runner/flutter_command.dart'; import 'package:flutter_tools/src/runner/flutter_command.dart';
import 'package:flutter_tools/src/runner/flutter_command_runner.dart'; import 'package:flutter_tools/src/runner/flutter_command_runner.dart';
CommandRunner createTestCommandRunner(FlutterCommand command) { CommandRunner createTestCommandRunner([FlutterCommand command]) {
return new FlutterCommandRunner()..addCommand(command); FlutterCommandRunner runner = new FlutterCommandRunner();
if (command != null)
runner.addCommand(command);
return runner;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment