Skip to content

Commit db9591c

Browse files
authored
delete Usage in doctor tests (#162646)
Tiny delete op. Toward flutter/flutter#150575 <details> <summary> Pre-launch checklist </summary> - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. </details> <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
1 parent 53a2171 commit db9591c

File tree

1 file changed

+24
-97
lines changed

1 file changed

+24
-97
lines changed

packages/flutter_tools/test/commands.shard/hermetic/doctor_test.dart

Lines changed: 24 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import 'package:flutter_tools/src/device.dart';
2121
import 'package:flutter_tools/src/doctor.dart';
2222
import 'package:flutter_tools/src/doctor_validator.dart';
2323
import 'package:flutter_tools/src/globals.dart' as globals;
24-
import 'package:flutter_tools/src/reporting/reporting.dart';
2524
import 'package:flutter_tools/src/version.dart';
2625
import 'package:flutter_tools/src/vscode/vscode.dart';
2726
import 'package:flutter_tools/src/vscode/vscode_validator.dart';
@@ -205,85 +204,6 @@ void main() {
205204
);
206205
});
207206

208-
group('doctor usage params', () {
209-
late TestUsage testUsage;
210-
211-
setUp(() {
212-
testUsage = TestUsage();
213-
});
214-
215-
testUsingContext(
216-
'contains installed',
217-
() async {
218-
final Doctor doctor = Doctor(logger: logger, clock: const SystemClock());
219-
await doctor.diagnose(verbose: false);
220-
221-
expect(testUsage.events.length, 3);
222-
expect(
223-
testUsage.events,
224-
contains(const TestUsageEvent('doctor-result', 'PassingValidator', label: 'installed')),
225-
);
226-
},
227-
overrides: <Type, Generator>{
228-
DoctorValidatorsProvider: () => FakeDoctorValidatorsProvider(),
229-
Usage: () => testUsage,
230-
},
231-
);
232-
233-
testUsingContext('contains installed and partial', () async {
234-
await FakePassingDoctor(logger).diagnose(verbose: false);
235-
236-
expect(
237-
testUsage.events,
238-
unorderedEquals(<TestUsageEvent>[
239-
const TestUsageEvent('doctor-result', 'PassingValidator', label: 'installed'),
240-
const TestUsageEvent('doctor-result', 'PassingValidator', label: 'installed'),
241-
const TestUsageEvent('doctor-result', 'PartialValidatorWithHintsOnly', label: 'partial'),
242-
const TestUsageEvent('doctor-result', 'PartialValidatorWithErrors', label: 'partial'),
243-
]),
244-
);
245-
}, overrides: <Type, Generator>{Usage: () => testUsage});
246-
247-
testUsingContext('contains installed, missing and partial', () async {
248-
await FakeDoctor(logger).diagnose(verbose: false);
249-
250-
expect(
251-
testUsage.events,
252-
unorderedEquals(<TestUsageEvent>[
253-
const TestUsageEvent('doctor-result', 'PassingValidator', label: 'installed'),
254-
const TestUsageEvent('doctor-result', 'MissingValidator', label: 'missing'),
255-
const TestUsageEvent('doctor-result', 'NotAvailableValidator', label: 'notAvailable'),
256-
const TestUsageEvent('doctor-result', 'PartialValidatorWithHintsOnly', label: 'partial'),
257-
const TestUsageEvent('doctor-result', 'PartialValidatorWithErrors', label: 'partial'),
258-
]),
259-
);
260-
}, overrides: <Type, Generator>{Usage: () => testUsage});
261-
262-
testUsingContext(
263-
'events for grouped validators are properly decomposed',
264-
() async {
265-
await FakeGroupedDoctor(logger).diagnose(verbose: false);
266-
267-
expect(
268-
testUsage.events,
269-
unorderedEquals(<TestUsageEvent>[
270-
const TestUsageEvent('doctor-result', 'PassingGroupedValidator', label: 'installed'),
271-
const TestUsageEvent('doctor-result', 'PassingGroupedValidator', label: 'installed'),
272-
const TestUsageEvent('doctor-result', 'PassingGroupedValidator', label: 'installed'),
273-
const TestUsageEvent('doctor-result', 'MissingGroupedValidator', label: 'missing'),
274-
]),
275-
);
276-
},
277-
overrides: <Type, Generator>{Usage: () => testUsage},
278-
);
279-
280-
testUsingContext('sending events can be skipped', () async {
281-
await FakePassingDoctor(logger).diagnose(verbose: false, sendEvent: false);
282-
283-
expect(testUsage.events, isEmpty);
284-
}, overrides: <Type, Generator>{Usage: () => testUsage});
285-
});
286-
287207
group('doctor with fake validators', () {
288208
testUsingContext(
289209
'validate non-verbose output format for run without issues',
@@ -516,18 +436,24 @@ void main() {
516436
});
517437

518438
group('doctor diagnosis wrapper', () {
519-
late TestUsage testUsage;
439+
late FakeAnalytics analytics;
520440
late BufferLogger logger;
521441

522442
setUp(() {
523-
testUsage = TestUsage();
443+
analytics = getInitializedFakeAnalyticsInstance(
444+
fs: fs,
445+
fakeFlutterVersion: FakeFlutterVersion(),
446+
);
524447
logger = BufferLogger.test();
525448
});
526449

527450
testUsingContext(
528451
'PII separated, events only sent once',
529452
() async {
530-
final Doctor fakeDoctor = FakePiiDoctor(logger);
453+
final DateTime fakeDate = DateTime(1995, 3, 3);
454+
final SystemClock systemClock = SystemClock.fixed(fakeDate);
455+
456+
final Doctor fakeDoctor = FakePiiDoctor(logger, clock: systemClock);
531457
final DoctorText doctorText = DoctorText(logger, doctor: fakeDoctor);
532458
const String expectedPiiText =
533459
'[✓] PII Validator [0ms]\n'
@@ -549,24 +475,25 @@ void main() {
549475
expect(await doctorText.piiStrippedText, expectedPiiStrippedText);
550476

551477
// Only one event sent.
552-
expect(testUsage.events, <TestUsageEvent>[
553-
const TestUsageEvent('doctor-result', 'PiiValidator', label: 'installed'),
478+
expect(analytics.sentEvents, <Event>[
479+
Event.doctorValidatorResult(
480+
validatorName: 'PII Validator',
481+
result: 'installed',
482+
partOfGroupedValidator: false,
483+
doctorInvocationId: systemClock.now().millisecondsSinceEpoch,
484+
),
554485
]);
555486
},
556-
overrides: <Type, Generator>{AnsiTerminal: () => FakeTerminal(), Usage: () => testUsage},
487+
overrides: <Type, Generator>{AnsiTerminal: () => FakeTerminal(), Analytics: () => analytics},
557488
);
558489

559-
testUsingContext(
560-
'without PII has same text and PII-stripped text',
561-
() async {
562-
final Doctor fakeDoctor = FakePassingDoctor(logger);
563-
final DoctorText doctorText = DoctorText(logger, doctor: fakeDoctor);
564-
final String piiText = await doctorText.text;
565-
expect(piiText, isNotEmpty);
566-
expect(piiText, await doctorText.piiStrippedText);
567-
},
568-
overrides: <Type, Generator>{Usage: () => testUsage},
569-
);
490+
testUsingContext('without PII has same text and PII-stripped text', () async {
491+
final Doctor fakeDoctor = FakePassingDoctor(logger);
492+
final DoctorText doctorText = DoctorText(logger, doctor: fakeDoctor);
493+
final String piiText = await doctorText.text;
494+
expect(piiText, isNotEmpty);
495+
expect(piiText, await doctorText.piiStrippedText);
496+
});
570497
});
571498

572499
testUsingContext(

0 commit comments

Comments
 (0)