WIP: Update generateGithubToken method to have a readwritelock so that only one token is generated during simultaneous calls
diff --git a/app_dart/bin/server.dart b/app_dart/bin/server.dart
index 0d10fec..aba7ac5 100644
--- a/app_dart/bin/server.dart
+++ b/app_dart/bin/server.dart
@@ -8,6 +8,7 @@
 import 'package:appengine/appengine.dart';
 import 'package:cocoon_service/cocoon_service.dart';
 import 'package:gcloud/db.dart';
+import 'package:mutex/mutex.dart';
 
 /// For local development, you might want to set this to true.
 const String _kCocoonUseInMemoryCache = 'COCOON_USE_IN_MEMORY_CACHE';
@@ -18,8 +19,9 @@
 
     final bool inMemoryCache = Platform.environment[_kCocoonUseInMemoryCache] == 'true';
     final CacheService cache = CacheService(inMemory: inMemoryCache);
+    final ReadWriteMutex readWriteMutex = ReadWriteMutex();
 
-    final Config config = Config(dbService, cache);
+    final Config config = Config(dbService, cache, readWriteMutex);
     final AuthenticationProvider authProvider = AuthenticationProvider(config: config);
     final AuthenticationProvider swarmingAuthProvider = SwarmingAuthenticationProvider(config: config);
     final BuildBucketClient buildBucketClient = BuildBucketClient(
diff --git a/app_dart/lib/src/service/config.dart b/app_dart/lib/src/service/config.dart
index 5b1a89f..2a77d09 100644
--- a/app_dart/lib/src/service/config.dart
+++ b/app_dart/lib/src/service/config.dart
@@ -15,6 +15,7 @@
 import 'package:graphql/client.dart';
 import 'package:http/http.dart' as http;
 import 'package:meta/meta.dart';
+import 'package:mutex/mutex.dart';
 import 'package:retry/retry.dart';
 
 import '../../cocoon_service.dart';
@@ -30,12 +31,14 @@
 const String kDefaultBranchName = 'master';
 
 class Config {
-  Config(this._db, this._cache);
+  Config(this._db, this._cache, this._mutex);
 
   final DatastoreDB _db;
 
   final CacheService _cache;
 
+  final ReadWriteMutex _mutex;
+
   /// List of Github presubmit supported repos.
   ///
   /// This adds support for the `waiting for tree to go green label` to the repo.
@@ -325,15 +328,23 @@
   }
 
   Future<String> generateGithubToken(gh.RepositorySlug slug) async {
-    // GitHub's secondary rate limits are run into very frequently when making auth tokens.
-    final Uint8List? cacheValue = await _cache.getOrCreate(
-      configCacheName,
-      'githubToken-${slug.fullName}',
-      createFn: () => _generateGithubToken(slug),
-      // Tokens are minted for 10 minutes
-      ttl: const Duration(minutes: 8),
-    );
-
+    Uint8List? cacheValue;
+    // This is a read-write lock that prevents multiple Github tokens from
+    // being generated simultaneously, which would cause a rate limit.
+    await _mutex.acquireWrite();
+    try {
+      // GitHub's secondary rate limits are run into very frequently when making auth tokens.
+      cacheValue = await _cache.getOrCreate(
+        configCacheName,
+        'githubToken-${slug.fullName}',
+        createFn: () => _generateGithubToken(slug),
+        // Tokens are minted for 10 minutes
+        ttl: const Duration(minutes: 8),
+      );
+    }
+    finally {
+      _mutex.release();
+    }
     return String.fromCharCodes(cacheValue!);
   }
 
diff --git a/app_dart/pubspec.lock b/app_dart/pubspec.lock
index 9de9a13..8e134f5 100644
--- a/app_dart/pubspec.lock
+++ b/app_dart/pubspec.lock
@@ -497,6 +497,14 @@
       url: "https://pub.dev"
     source: hosted
     version: "5.3.2"
+  mutex:
+    dependency: "direct main"
+    description:
+      name: mutex
+      sha256: "03116a4e46282a671b46c12de649d72c0ed18188ffe12a8d0fc63e83f4ad88f4"
+      url: "https://pub.dev"
+    source: hosted
+    version: "3.0.1"
   neat_cache:
     dependency: "direct main"
     description:
diff --git a/app_dart/pubspec.yaml b/app_dart/pubspec.yaml
index dcd383e..a6eecbf 100644
--- a/app_dart/pubspec.yaml
+++ b/app_dart/pubspec.yaml
@@ -31,6 +31,7 @@
   logging: ^1.1.0
   meta: ^1.8.0
   mime: ^1.0.2
+  mutex: ^3.0.1
   neat_cache: ^2.0.2
   path: ^1.8.2
   process: ^4.2.4
diff --git a/app_dart/test/service/config_test.dart b/app_dart/test/service/config_test.dart
index c653139..0e0c425 100644
--- a/app_dart/test/service/config_test.dart
+++ b/app_dart/test/service/config_test.dart
@@ -6,19 +6,29 @@
 
 import 'package:cocoon_service/cocoon_service.dart';
 import 'package:github/github.dart';
+import 'package:mockito/mockito.dart';
+import 'package:mutex/mutex.dart';
 import 'package:test/test.dart';
 
 import '../src/datastore/fake_datastore.dart';
+import '../src/utilities/mocks.mocks.dart';
 
 void main() {
   group('Config', () {
     FakeDatastoreDB datastore;
     late CacheService cacheService;
     late Config config;
+    late ReadWriteMutex readWriteMutex;
+    late MockReadWriteMutex mockReadWriteMutex;
     setUp(() {
       datastore = FakeDatastoreDB();
       cacheService = CacheService(inMemory: true);
-      config = Config(datastore, cacheService);
+      readWriteMutex = ReadWriteMutex();
+      mockReadWriteMutex = MockReadWriteMutex();
+      config = Config(datastore, cacheService, mockReadWriteMutex);
+
+      when(mockReadWriteMutex.acquireWrite()).thenAnswer((realInvocation) => readWriteMutex.acquireWrite());
+      when(mockReadWriteMutex.release()).thenAnswer((realInvocation) => readWriteMutex.release());
     });
     test('githubAppInstallations when builder config does not exist', () async {
       const String configValue = '{"godofredoc/cocoon":{"installation_id":"123"}}';
@@ -46,6 +56,30 @@
       expect(githubToken, 'githubToken');
     });
 
+    test('generateGithubToken only tries to generate a github token one at a time', () async {
+      const String configValue = 'githubToken';
+      final Uint8List cachedValue = Uint8List.fromList(configValue.codeUnits);
+      await cacheService.set(
+        Config.configCacheName,
+        'githubToken-${Config.flutterSlug}',
+        cachedValue,
+      );
+
+      final futures = <Future<String>>[];
+      futures.add(config.generateGithubToken(Config.flutterSlug));
+      futures.add(config.generateGithubToken(Config.flutterSlug));
+
+      await Future.wait(futures);
+      verifyInOrder(
+        [
+          mockReadWriteMutex.acquireWrite(),
+          mockReadWriteMutex.release(),
+          mockReadWriteMutex.acquireWrite(),
+          mockReadWriteMutex.release()
+        ]
+      );
+    });
+
     test('Returns the right flutter gold alert', () {
       expect(
         config.flutterGoldAlertConstant(RepositorySlug.full('flutter/flutter')),
diff --git a/app_dart/test/src/utilities/mocks.dart b/app_dart/test/src/utilities/mocks.dart
index 87c0686..b1a6b8e 100644
--- a/app_dart/test/src/utilities/mocks.dart
+++ b/app_dart/test/src/utilities/mocks.dart
@@ -22,6 +22,7 @@
 import 'package:http/http.dart' as http;
 import 'package:http/testing.dart';
 import 'package:mockito/annotations.dart';
+import 'package:mutex/mutex.dart';
 import 'package:neat_cache/neat_cache.dart';
 import 'package:process/process.dart';
 
@@ -76,6 +77,7 @@
     LuciBuildService,
     ProcessManager,
     PullRequestsService,
+    ReadWriteMutex,
     RepositoriesService,
     TabledataResource,
     UsersService,
diff --git a/app_dart/test/src/utilities/mocks.mocks.dart b/app_dart/test/src/utilities/mocks.mocks.dart
index 0e33d34..d04c488 100644
--- a/app_dart/test/src/utilities/mocks.mocks.dart
+++ b/app_dart/test/src/utilities/mocks.mocks.dart
@@ -38,12 +38,13 @@
 import 'package:graphql/src/graphql_client.dart' as _i14;
 import 'package:http/http.dart' as _i2;
 import 'package:mockito/mockito.dart' as _i1;
+import 'package:mutex/mutex.dart' as _i39;
 import 'package:neat_cache/neat_cache.dart' as _i20;
 import 'package:process/src/interface/process_manager.dart' as _i38;
 import 'package:retry/retry.dart' as _i8;
 
 import '../../service/cache_service_test.dart' as _i26;
-import 'mocks.dart' as _i39;
+import 'mocks.dart' as _i40;
 
 // ignore_for_file: type=lint
 // ignore_for_file: avoid_redundant_argument_values
@@ -86,7 +87,8 @@
         );
 }
 
-class _FakeAccessClientProvider_3 extends _i1.SmartFake implements _i5.AccessClientProvider {
+class _FakeAccessClientProvider_3 extends _i1.SmartFake
+    implements _i5.AccessClientProvider {
   _FakeAccessClientProvider_3(
     Object parent,
     Invocation parentInvocation,
@@ -96,7 +98,8 @@
         );
 }
 
-class _FakeTabledataResource_4 extends _i1.SmartFake implements _i6.TabledataResource {
+class _FakeTabledataResource_4 extends _i1.SmartFake
+    implements _i6.TabledataResource {
   _FakeTabledataResource_4(
     Object parent,
     Invocation parentInvocation,
@@ -146,7 +149,8 @@
         );
 }
 
-class _FakeSearchBuildsResponse_9 extends _i1.SmartFake implements _i9.SearchBuildsResponse {
+class _FakeSearchBuildsResponse_9 extends _i1.SmartFake
+    implements _i9.SearchBuildsResponse {
   _FakeSearchBuildsResponse_9(
     Object parent,
     Invocation parentInvocation,
@@ -166,7 +170,8 @@
         );
 }
 
-class _FakeListBuildersResponse_11 extends _i1.SmartFake implements _i9.ListBuildersResponse {
+class _FakeListBuildersResponse_11 extends _i1.SmartFake
+    implements _i9.ListBuildersResponse {
   _FakeListBuildersResponse_11(
     Object parent,
     Invocation parentInvocation,
@@ -226,7 +231,8 @@
         );
 }
 
-class _FakeGithubChecksUtil_17 extends _i1.SmartFake implements _i11.GithubChecksUtil {
+class _FakeGithubChecksUtil_17 extends _i1.SmartFake
+    implements _i11.GithubChecksUtil {
   _FakeGithubChecksUtil_17(
     Object parent,
     Invocation parentInvocation,
@@ -236,7 +242,8 @@
         );
 }
 
-class _FakeCheckRunConclusion_18 extends _i1.SmartFake implements _i10.CheckRunConclusion {
+class _FakeCheckRunConclusion_18 extends _i1.SmartFake
+    implements _i10.CheckRunConclusion {
   _FakeCheckRunConclusion_18(
     Object parent,
     Invocation parentInvocation,
@@ -246,7 +253,8 @@
         );
 }
 
-class _FakeCheckRunStatus_19 extends _i1.SmartFake implements _i10.CheckRunStatus {
+class _FakeCheckRunStatus_19 extends _i1.SmartFake
+    implements _i10.CheckRunStatus {
   _FakeCheckRunStatus_19(
     Object parent,
     Invocation parentInvocation,
@@ -346,7 +354,8 @@
         );
 }
 
-class _FakeDefaultPolicies_29 extends _i1.SmartFake implements _i12.DefaultPolicies {
+class _FakeDefaultPolicies_29 extends _i1.SmartFake
+    implements _i12.DefaultPolicies {
   _FakeDefaultPolicies_29(
     Object parent,
     Invocation parentInvocation,
@@ -386,7 +395,8 @@
         );
 }
 
-class _FakeGraphQLClient_33 extends _i1.SmartFake implements _i14.GraphQLClient {
+class _FakeGraphQLClient_33 extends _i1.SmartFake
+    implements _i14.GraphQLClient {
   _FakeGraphQLClient_33(
     Object parent,
     Invocation parentInvocation,
@@ -396,7 +406,8 @@
         );
 }
 
-class _FakeObservableQuery_34<TParsed> extends _i1.SmartFake implements _i12.ObservableQuery<TParsed> {
+class _FakeObservableQuery_34<TParsed> extends _i1.SmartFake
+    implements _i12.ObservableQuery<TParsed> {
   _FakeObservableQuery_34(
     Object parent,
     Invocation parentInvocation,
@@ -406,7 +417,8 @@
         );
 }
 
-class _FakeQueryResult_35<TParsed extends Object?> extends _i1.SmartFake implements _i12.QueryResult<TParsed> {
+class _FakeQueryResult_35<TParsed extends Object?> extends _i1.SmartFake
+    implements _i12.QueryResult<TParsed> {
   _FakeQueryResult_35(
     Object parent,
     Invocation parentInvocation,
@@ -426,7 +438,8 @@
         );
 }
 
-class _FakeHttpClientRequest_37 extends _i1.SmartFake implements _i15.HttpClientRequest {
+class _FakeHttpClientRequest_37 extends _i1.SmartFake
+    implements _i15.HttpClientRequest {
   _FakeHttpClientRequest_37(
     Object parent,
     Invocation parentInvocation,
@@ -456,7 +469,8 @@
         );
 }
 
-class _FakeHttpClientResponse_40 extends _i1.SmartFake implements _i15.HttpClientResponse {
+class _FakeHttpClientResponse_40 extends _i1.SmartFake
+    implements _i15.HttpClientResponse {
   _FakeHttpClientResponse_40(
     Object parent,
     Invocation parentInvocation,
@@ -486,7 +500,8 @@
         );
 }
 
-class _FakeStreamSubscription_43<T> extends _i1.SmartFake implements _i17.StreamSubscription<T> {
+class _FakeStreamSubscription_43<T> extends _i1.SmartFake
+    implements _i17.StreamSubscription<T> {
   _FakeStreamSubscription_43(
     Object parent,
     Invocation parentInvocation,
@@ -496,7 +511,8 @@
         );
 }
 
-class _FakeJobCancelResponse_44 extends _i1.SmartFake implements _i6.JobCancelResponse {
+class _FakeJobCancelResponse_44 extends _i1.SmartFake
+    implements _i6.JobCancelResponse {
   _FakeJobCancelResponse_44(
     Object parent,
     Invocation parentInvocation,
@@ -516,7 +532,8 @@
         );
 }
 
-class _FakeGetQueryResultsResponse_46 extends _i1.SmartFake implements _i6.GetQueryResultsResponse {
+class _FakeGetQueryResultsResponse_46 extends _i1.SmartFake
+    implements _i6.GetQueryResultsResponse {
   _FakeGetQueryResultsResponse_46(
     Object parent,
     Invocation parentInvocation,
@@ -546,7 +563,8 @@
         );
 }
 
-class _FakeBuildBucketClient_49 extends _i1.SmartFake implements _i18.BuildBucketClient {
+class _FakeBuildBucketClient_49 extends _i1.SmartFake
+    implements _i18.BuildBucketClient {
   _FakeBuildBucketClient_49(
     Object parent,
     Invocation parentInvocation,
@@ -576,7 +594,8 @@
         );
 }
 
-class _FakeProcessResult_52 extends _i1.SmartFake implements _i15.ProcessResult {
+class _FakeProcessResult_52 extends _i1.SmartFake
+    implements _i15.ProcessResult {
   _FakeProcessResult_52(
     Object parent,
     Invocation parentInvocation,
@@ -586,7 +605,8 @@
         );
 }
 
-class _FakePullRequestMerge_53 extends _i1.SmartFake implements _i10.PullRequestMerge {
+class _FakePullRequestMerge_53 extends _i1.SmartFake
+    implements _i10.PullRequestMerge {
   _FakePullRequestMerge_53(
     Object parent,
     Invocation parentInvocation,
@@ -596,7 +616,8 @@
         );
 }
 
-class _FakePullRequestComment_54 extends _i1.SmartFake implements _i10.PullRequestComment {
+class _FakePullRequestComment_54 extends _i1.SmartFake
+    implements _i10.PullRequestComment {
   _FakePullRequestComment_54(
     Object parent,
     Invocation parentInvocation,
@@ -606,7 +627,8 @@
         );
 }
 
-class _FakePullRequestReview_55 extends _i1.SmartFake implements _i10.PullRequestReview {
+class _FakePullRequestReview_55 extends _i1.SmartFake
+    implements _i10.PullRequestReview {
   _FakePullRequestReview_55(
     Object parent,
     Invocation parentInvocation,
@@ -626,7 +648,8 @@
         );
 }
 
-class _FakeLicenseDetails_57 extends _i1.SmartFake implements _i10.LicenseDetails {
+class _FakeLicenseDetails_57 extends _i1.SmartFake
+    implements _i10.LicenseDetails {
   _FakeLicenseDetails_57(
     Object parent,
     Invocation parentInvocation,
@@ -636,7 +659,8 @@
         );
 }
 
-class _FakeLanguageBreakdown_58 extends _i1.SmartFake implements _i10.LanguageBreakdown {
+class _FakeLanguageBreakdown_58 extends _i1.SmartFake
+    implements _i10.LanguageBreakdown {
   _FakeLanguageBreakdown_58(
     Object parent,
     Invocation parentInvocation,
@@ -656,7 +680,8 @@
         );
 }
 
-class _FakeCommitComment_60 extends _i1.SmartFake implements _i10.CommitComment {
+class _FakeCommitComment_60 extends _i1.SmartFake
+    implements _i10.CommitComment {
   _FakeCommitComment_60(
     Object parent,
     Invocation parentInvocation,
@@ -666,7 +691,8 @@
         );
 }
 
-class _FakeRepositoryCommit_61 extends _i1.SmartFake implements _i10.RepositoryCommit {
+class _FakeRepositoryCommit_61 extends _i1.SmartFake
+    implements _i10.RepositoryCommit {
   _FakeRepositoryCommit_61(
     Object parent,
     Invocation parentInvocation,
@@ -676,7 +702,8 @@
         );
 }
 
-class _FakeGitHubComparison_62 extends _i1.SmartFake implements _i10.GitHubComparison {
+class _FakeGitHubComparison_62 extends _i1.SmartFake
+    implements _i10.GitHubComparison {
   _FakeGitHubComparison_62(
     Object parent,
     Invocation parentInvocation,
@@ -696,7 +723,8 @@
         );
 }
 
-class _FakeRepositoryContents_64 extends _i1.SmartFake implements _i10.RepositoryContents {
+class _FakeRepositoryContents_64 extends _i1.SmartFake
+    implements _i10.RepositoryContents {
   _FakeRepositoryContents_64(
     Object parent,
     Invocation parentInvocation,
@@ -706,7 +734,8 @@
         );
 }
 
-class _FakeContentCreation_65 extends _i1.SmartFake implements _i10.ContentCreation {
+class _FakeContentCreation_65 extends _i1.SmartFake
+    implements _i10.ContentCreation {
   _FakeContentCreation_65(
     Object parent,
     Invocation parentInvocation,
@@ -736,7 +765,8 @@
         );
 }
 
-class _FakeRepositoryPages_68 extends _i1.SmartFake implements _i10.RepositoryPages {
+class _FakeRepositoryPages_68 extends _i1.SmartFake
+    implements _i10.RepositoryPages {
   _FakeRepositoryPages_68(
     Object parent,
     Invocation parentInvocation,
@@ -776,7 +806,8 @@
         );
 }
 
-class _FakeContributorParticipation_72 extends _i1.SmartFake implements _i10.ContributorParticipation {
+class _FakeContributorParticipation_72 extends _i1.SmartFake
+    implements _i10.ContributorParticipation {
   _FakeContributorParticipation_72(
     Object parent,
     Invocation parentInvocation,
@@ -786,7 +817,8 @@
         );
 }
 
-class _FakeRepositoryStatus_73 extends _i1.SmartFake implements _i10.RepositoryStatus {
+class _FakeRepositoryStatus_73 extends _i1.SmartFake
+    implements _i10.RepositoryStatus {
   _FakeRepositoryStatus_73(
     Object parent,
     Invocation parentInvocation,
@@ -796,7 +828,8 @@
         );
 }
 
-class _FakeCombinedRepositoryStatus_74 extends _i1.SmartFake implements _i10.CombinedRepositoryStatus {
+class _FakeCombinedRepositoryStatus_74 extends _i1.SmartFake
+    implements _i10.CombinedRepositoryStatus {
   _FakeCombinedRepositoryStatus_74(
     Object parent,
     Invocation parentInvocation,
@@ -816,7 +849,8 @@
         );
 }
 
-class _FakeTableDataInsertAllResponse_76 extends _i1.SmartFake implements _i6.TableDataInsertAllResponse {
+class _FakeTableDataInsertAllResponse_76 extends _i1.SmartFake
+    implements _i6.TableDataInsertAllResponse {
   _FakeTableDataInsertAllResponse_76(
     Object parent,
     Invocation parentInvocation,
@@ -876,7 +910,8 @@
         );
 }
 
-class _FakeActivityService_82 extends _i1.SmartFake implements _i10.ActivityService {
+class _FakeActivityService_82 extends _i1.SmartFake
+    implements _i10.ActivityService {
   _FakeActivityService_82(
     Object parent,
     Invocation parentInvocation,
@@ -886,7 +921,8 @@
         );
 }
 
-class _FakeAuthorizationsService_83 extends _i1.SmartFake implements _i10.AuthorizationsService {
+class _FakeAuthorizationsService_83 extends _i1.SmartFake
+    implements _i10.AuthorizationsService {
   _FakeAuthorizationsService_83(
     Object parent,
     Invocation parentInvocation,
@@ -916,7 +952,8 @@
         );
 }
 
-class _FakeIssuesService_86 extends _i1.SmartFake implements _i10.IssuesService {
+class _FakeIssuesService_86 extends _i1.SmartFake
+    implements _i10.IssuesService {
   _FakeIssuesService_86(
     Object parent,
     Invocation parentInvocation,
@@ -936,7 +973,8 @@
         );
 }
 
-class _FakeOrganizationsService_88 extends _i1.SmartFake implements _i10.OrganizationsService {
+class _FakeOrganizationsService_88 extends _i1.SmartFake
+    implements _i10.OrganizationsService {
   _FakeOrganizationsService_88(
     Object parent,
     Invocation parentInvocation,
@@ -946,7 +984,8 @@
         );
 }
 
-class _FakePullRequestsService_89 extends _i1.SmartFake implements _i10.PullRequestsService {
+class _FakePullRequestsService_89 extends _i1.SmartFake
+    implements _i10.PullRequestsService {
   _FakePullRequestsService_89(
     Object parent,
     Invocation parentInvocation,
@@ -956,7 +995,8 @@
         );
 }
 
-class _FakeRepositoriesService_90 extends _i1.SmartFake implements _i10.RepositoriesService {
+class _FakeRepositoriesService_90 extends _i1.SmartFake
+    implements _i10.RepositoriesService {
   _FakeRepositoriesService_90(
     Object parent,
     Invocation parentInvocation,
@@ -966,7 +1006,8 @@
         );
 }
 
-class _FakeSearchService_91 extends _i1.SmartFake implements _i10.SearchService {
+class _FakeSearchService_91 extends _i1.SmartFake
+    implements _i10.SearchService {
   _FakeSearchService_91(
     Object parent,
     Invocation parentInvocation,
@@ -976,7 +1017,8 @@
         );
 }
 
-class _FakeUrlShortenerService_92 extends _i1.SmartFake implements _i10.UrlShortenerService {
+class _FakeUrlShortenerService_92 extends _i1.SmartFake
+    implements _i10.UrlShortenerService {
   _FakeUrlShortenerService_92(
     Object parent,
     Invocation parentInvocation,
@@ -996,7 +1038,8 @@
         );
 }
 
-class _FakeChecksService_94 extends _i1.SmartFake implements _i10.ChecksService {
+class _FakeChecksService_94 extends _i1.SmartFake
+    implements _i10.ChecksService {
   _FakeChecksService_94(
     Object parent,
     Invocation parentInvocation,
@@ -1019,14 +1062,17 @@
 /// A class which mocks [AccessClientProvider].
 ///
 /// See the documentation for Mockito's code generation for more information.
-class MockAccessClientProvider extends _i1.Mock implements _i5.AccessClientProvider {
+class MockAccessClientProvider extends _i1.Mock
+    implements _i5.AccessClientProvider {
   MockAccessClientProvider() {
     _i1.throwOnMissingStub(this);
   }
 
   @override
   _i17.Future<_i2.Client> createAccessClient(
-          {List<String>? scopes = const [r'https://www.googleapis.com/auth/cloud-platform']}) =>
+          {List<String>? scopes = const [
+            r'https://www.googleapis.com/auth/cloud-platform'
+          ]}) =>
       (super.noSuchMethod(
         Invocation.method(
           #createAccessClient,
@@ -1047,7 +1093,8 @@
 /// A class which mocks [AccessTokenService].
 ///
 /// See the documentation for Mockito's code generation for more information.
-class MockAccessTokenService extends _i1.Mock implements _i21.AccessTokenService {
+class MockAccessTokenService extends _i1.Mock
+    implements _i21.AccessTokenService {
   MockAccessTokenService() {
     _i1.throwOnMissingStub(this);
   }
@@ -1098,7 +1145,8 @@
           #defaultTabledata,
           [],
         ),
-        returnValue: _i17.Future<_i6.TabledataResource>.value(_FakeTabledataResource_4(
+        returnValue:
+            _i17.Future<_i6.TabledataResource>.value(_FakeTabledataResource_4(
           this,
           Invocation.method(
             #defaultTabledata,
@@ -1135,7 +1183,8 @@
             #bucket: bucket,
           },
         ),
-        returnValue: _i17.Future<List<_i22.BuilderStatistic>>.value(<_i22.BuilderStatistic>[]),
+        returnValue: _i17.Future<List<_i22.BuilderStatistic>>.value(
+            <_i22.BuilderStatistic>[]),
       ) as _i17.Future<List<_i22.BuilderStatistic>>);
   @override
   _i17.Future<List<_i22.BuilderRecord>> listRecentBuildRecordsForBuilder(
@@ -1152,7 +1201,8 @@
             #limit: limit,
           },
         ),
-        returnValue: _i17.Future<List<_i22.BuilderRecord>>.value(<_i22.BuilderRecord>[]),
+        returnValue:
+            _i17.Future<List<_i22.BuilderRecord>>.value(<_i22.BuilderRecord>[]),
       ) as _i17.Future<List<_i22.BuilderRecord>>);
 }
 
@@ -1189,7 +1239,8 @@
         ),
       ) as _i8.RetryOptions);
   @override
-  _i17.Future<void> handleCreateRequest(_i24.CreateEvent? createEvent) => (super.noSuchMethod(
+  _i17.Future<void> handleCreateRequest(_i24.CreateEvent? createEvent) =>
+      (super.noSuchMethod(
         Invocation.method(
           #handleCreateRequest,
           [createEvent],
@@ -1220,7 +1271,8 @@
             #slug: slug,
           },
         ),
-        returnValue: _i17.Future<List<Map<String, String>>>.value(<Map<String, String>>[]),
+        returnValue: _i17.Future<List<Map<String, String>>>.value(
+            <Map<String, String>>[]),
       ) as _i17.Future<List<Map<String, String>>>);
 }
 
@@ -1254,7 +1306,8 @@
   @override
   _i17.Future<_i9.Build> scheduleBuild(
     _i9.ScheduleBuildRequest? request, {
-    String? buildBucketUri = r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
+    String? buildBucketUri =
+        r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
   }) =>
       (super.noSuchMethod(
         Invocation.method(
@@ -1274,7 +1327,8 @@
   @override
   _i17.Future<_i9.SearchBuildsResponse> searchBuilds(
     _i9.SearchBuildsRequest? request, {
-    String? buildBucketUri = r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
+    String? buildBucketUri =
+        r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
   }) =>
       (super.noSuchMethod(
         Invocation.method(
@@ -1282,7 +1336,8 @@
           [request],
           {#buildBucketUri: buildBucketUri},
         ),
-        returnValue: _i17.Future<_i9.SearchBuildsResponse>.value(_FakeSearchBuildsResponse_9(
+        returnValue: _i17.Future<_i9.SearchBuildsResponse>.value(
+            _FakeSearchBuildsResponse_9(
           this,
           Invocation.method(
             #searchBuilds,
@@ -1294,7 +1349,8 @@
   @override
   _i17.Future<_i9.BatchResponse> batch(
     _i9.BatchRequest? request, {
-    String? buildBucketUri = r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
+    String? buildBucketUri =
+        r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
   }) =>
       (super.noSuchMethod(
         Invocation.method(
@@ -1314,7 +1370,8 @@
   @override
   _i17.Future<_i9.Build> cancelBuild(
     _i9.CancelBuildRequest? request, {
-    String? buildBucketUri = r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
+    String? buildBucketUri =
+        r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
   }) =>
       (super.noSuchMethod(
         Invocation.method(
@@ -1334,7 +1391,8 @@
   @override
   _i17.Future<_i9.Build> getBuild(
     _i9.GetBuildRequest? request, {
-    String? buildBucketUri = r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
+    String? buildBucketUri =
+        r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builds',
   }) =>
       (super.noSuchMethod(
         Invocation.method(
@@ -1354,7 +1412,8 @@
   @override
   _i17.Future<_i9.ListBuildersResponse> listBuilders(
     _i9.ListBuildersRequest? request, {
-    String? buildBucketUri = r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builders',
+    String? buildBucketUri =
+        r'https://cr-buildbucket.appspot.com/prpc/buildbucket.v2.Builders',
   }) =>
       (super.noSuchMethod(
         Invocation.method(
@@ -1362,7 +1421,8 @@
           [request],
           {#buildBucketUri: buildBucketUri},
         ),
-        returnValue: _i17.Future<_i9.ListBuildersResponse>.value(_FakeListBuildersResponse_11(
+        returnValue: _i17.Future<_i9.ListBuildersResponse>.value(
+            _FakeListBuildersResponse_11(
           this,
           Invocation.method(
             #listBuilders,
@@ -1659,7 +1719,8 @@
         )),
       ) as _i17.Future<_i10.Issue>);
   @override
-  _i17.Stream<_i10.User> listAssignees(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.User> listAssignees(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listAssignees,
           [slug],
@@ -1697,7 +1758,9 @@
         returnValue: _i17.Stream<_i10.IssueComment>.empty(),
       ) as _i17.Stream<_i10.IssueComment>);
   @override
-  _i17.Stream<_i10.IssueComment> listCommentsByRepo(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.IssueComment> listCommentsByRepo(
+          _i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listCommentsByRepo,
           [slug],
@@ -1798,7 +1861,8 @@
         returnValue: _i17.Future<bool>.value(false),
       ) as _i17.Future<bool>);
   @override
-  _i17.Stream<_i10.IssueLabel> listLabels(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.IssueLabel> listLabels(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listLabels,
           [slug],
@@ -1928,7 +1992,8 @@
             labels,
           ],
         ),
-        returnValue: _i17.Future<List<_i10.IssueLabel>>.value(<_i10.IssueLabel>[]),
+        returnValue:
+            _i17.Future<List<_i10.IssueLabel>>.value(<_i10.IssueLabel>[]),
       ) as _i17.Future<List<_i10.IssueLabel>>);
   @override
   _i17.Future<List<_i10.IssueLabel>> replaceLabelsForIssue(
@@ -1945,7 +2010,8 @@
             labels,
           ],
         ),
-        returnValue: _i17.Future<List<_i10.IssueLabel>>.value(<_i10.IssueLabel>[]),
+        returnValue:
+            _i17.Future<List<_i10.IssueLabel>>.value(<_i10.IssueLabel>[]),
       ) as _i17.Future<List<_i10.IssueLabel>>);
   @override
   _i17.Future<bool> removeLabelForIssue(
@@ -1980,7 +2046,8 @@
         returnValue: _i17.Future<bool>.value(false),
       ) as _i17.Future<bool>);
   @override
-  _i17.Stream<_i10.Milestone> listMilestones(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.Milestone> listMilestones(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listMilestones,
           [slug],
@@ -2031,7 +2098,8 @@
 /// A class which mocks [GithubChecksService].
 ///
 /// See the documentation for Mockito's code generation for more information.
-class MockGithubChecksService extends _i1.Mock implements _i28.GithubChecksService {
+class MockGithubChecksService extends _i1.Mock
+    implements _i28.GithubChecksService {
   MockGithubChecksService() {
     _i1.throwOnMissingStub(this);
   }
@@ -2061,7 +2129,8 @@
         ),
       ) as _i11.GithubChecksUtil);
   @override
-  set githubChecksUtil(_i11.GithubChecksUtil? _githubChecksUtil) => super.noSuchMethod(
+  set githubChecksUtil(_i11.GithubChecksUtil? _githubChecksUtil) =>
+      super.noSuchMethod(
         Invocation.setter(
           #githubChecksUtil,
           _githubChecksUtil,
@@ -2112,7 +2181,8 @@
         returnValue: '',
       ) as String);
   @override
-  _i10.CheckRunConclusion conclusionForResult(_i30.Result? result) => (super.noSuchMethod(
+  _i10.CheckRunConclusion conclusionForResult(_i30.Result? result) =>
+      (super.noSuchMethod(
         Invocation.method(
           #conclusionForResult,
           [result],
@@ -2126,7 +2196,8 @@
         ),
       ) as _i10.CheckRunConclusion);
   @override
-  _i10.CheckRunStatus statusForResult(_i30.Status? status) => (super.noSuchMethod(
+  _i10.CheckRunStatus statusForResult(_i30.Status? status) =>
+      (super.noSuchMethod(
         Invocation.method(
           #statusForResult,
           [status],
@@ -2162,7 +2233,8 @@
             checkSuiteEvent,
           ],
         ),
-        returnValue: _i17.Future<Map<String, _i10.CheckRun>>.value(<String, _i10.CheckRun>{}),
+        returnValue: _i17.Future<Map<String, _i10.CheckRun>>.value(
+            <String, _i10.CheckRun>{}),
       ) as _i17.Future<Map<String, _i10.CheckRun>>);
   @override
   _i17.Future<_i10.CheckSuite> getCheckSuite(
@@ -2312,7 +2384,8 @@
             lastCommitTimestampMills,
           ],
         ),
-        returnValue: _i17.Future<List<_i10.RepositoryCommit>>.value(<_i10.RepositoryCommit>[]),
+        returnValue: _i17.Future<List<_i10.RepositoryCommit>>.value(
+            <_i10.RepositoryCommit>[]),
       ) as _i17.Future<List<_i10.RepositoryCommit>>);
   @override
   _i17.Future<List<_i10.PullRequest>> listPullRequests(
@@ -2327,7 +2400,8 @@
             branch,
           ],
         ),
-        returnValue: _i17.Future<List<_i10.PullRequest>>.value(<_i10.PullRequest>[]),
+        returnValue:
+            _i17.Future<List<_i10.PullRequest>>.value(<_i10.PullRequest>[]),
       ) as _i17.Future<List<_i10.PullRequest>>);
   @override
   _i17.Future<_i10.PullRequest> createPullRequest(
@@ -2493,10 +2567,12 @@
             #labels: labels,
           },
         ),
-        returnValue: _i17.Future<List<_i10.IssueLabel>>.value(<_i10.IssueLabel>[]),
+        returnValue:
+            _i17.Future<List<_i10.IssueLabel>>.value(<_i10.IssueLabel>[]),
       ) as _i17.Future<List<_i10.IssueLabel>>);
   @override
-  _i17.Future<List<String>> listFiles(_i10.PullRequest? pullRequest) => (super.noSuchMethod(
+  _i17.Future<List<String>> listFiles(_i10.PullRequest? pullRequest) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listFiles,
           [pullRequest],
@@ -2899,7 +2975,8 @@
         ),
       ) as _i12.DefaultPolicies);
   @override
-  set defaultPolicies(_i12.DefaultPolicies? _defaultPolicies) => super.noSuchMethod(
+  set defaultPolicies(_i12.DefaultPolicies? _defaultPolicies) =>
+      super.noSuchMethod(
         Invocation.setter(
           #defaultPolicies,
           _defaultPolicies,
@@ -2971,7 +3048,9 @@
         ),
       ) as _i14.GraphQLClient);
   @override
-  _i12.ObservableQuery<TParsed> watchQuery<TParsed>(_i12.WatchQueryOptions<TParsed>? options) => (super.noSuchMethod(
+  _i12.ObservableQuery<TParsed> watchQuery<TParsed>(
+          _i12.WatchQueryOptions<TParsed>? options) =>
+      (super.noSuchMethod(
         Invocation.method(
           #watchQuery,
           [options],
@@ -2985,7 +3064,9 @@
         ),
       ) as _i12.ObservableQuery<TParsed>);
   @override
-  _i12.ObservableQuery<TParsed> watchMutation<TParsed>(_i12.WatchQueryOptions<TParsed>? options) => (super.noSuchMethod(
+  _i12.ObservableQuery<TParsed> watchMutation<TParsed>(
+          _i12.WatchQueryOptions<TParsed>? options) =>
+      (super.noSuchMethod(
         Invocation.method(
           #watchMutation,
           [options],
@@ -2999,12 +3080,15 @@
         ),
       ) as _i12.ObservableQuery<TParsed>);
   @override
-  _i17.Future<_i12.QueryResult<TParsed>> query<TParsed>(_i12.QueryOptions<TParsed>? options) => (super.noSuchMethod(
+  _i17.Future<_i12.QueryResult<TParsed>> query<TParsed>(
+          _i12.QueryOptions<TParsed>? options) =>
+      (super.noSuchMethod(
         Invocation.method(
           #query,
           [options],
         ),
-        returnValue: _i17.Future<_i12.QueryResult<TParsed>>.value(_FakeQueryResult_35<TParsed>(
+        returnValue: _i17.Future<_i12.QueryResult<TParsed>>.value(
+            _FakeQueryResult_35<TParsed>(
           this,
           Invocation.method(
             #query,
@@ -3013,12 +3097,15 @@
         )),
       ) as _i17.Future<_i12.QueryResult<TParsed>>);
   @override
-  _i17.Future<_i12.QueryResult<TParsed>> mutate<TParsed>(_i12.MutationOptions<TParsed>? options) => (super.noSuchMethod(
+  _i17.Future<_i12.QueryResult<TParsed>> mutate<TParsed>(
+          _i12.MutationOptions<TParsed>? options) =>
+      (super.noSuchMethod(
         Invocation.method(
           #mutate,
           [options],
         ),
-        returnValue: _i17.Future<_i12.QueryResult<TParsed>>.value(_FakeQueryResult_35<TParsed>(
+        returnValue: _i17.Future<_i12.QueryResult<TParsed>>.value(
+            _FakeQueryResult_35<TParsed>(
           this,
           Invocation.method(
             #mutate,
@@ -3027,7 +3114,8 @@
         )),
       ) as _i17.Future<_i12.QueryResult<TParsed>>);
   @override
-  _i17.Stream<_i12.QueryResult<TParsed>> subscribe<TParsed>(_i12.SubscriptionOptions<TParsed>? options) =>
+  _i17.Stream<_i12.QueryResult<TParsed>> subscribe<TParsed>(
+          _i12.SubscriptionOptions<TParsed>? options) =>
       (super.noSuchMethod(
         Invocation.method(
           #subscribe,
@@ -3050,7 +3138,8 @@
             #previousResult: previousResult,
           },
         ),
-        returnValue: _i17.Future<_i12.QueryResult<TParsed>>.value(_FakeQueryResult_35<TParsed>(
+        returnValue: _i17.Future<_i12.QueryResult<TParsed>>.value(
+            _FakeQueryResult_35<TParsed>(
           this,
           Invocation.method(
             #fetchMore,
@@ -3117,7 +3206,8 @@
         returnValueForMissingStub: null,
       );
   @override
-  _i17.Future<List<_i12.QueryResult<Object?>?>>? resetStore({bool? refetchQueries = true}) =>
+  _i17.Future<List<_i12.QueryResult<Object?>?>>? resetStore(
+          {bool? refetchQueries = true}) =>
       (super.noSuchMethod(Invocation.method(
         #resetStore,
         [],
@@ -3280,7 +3370,8 @@
             path,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #open,
@@ -3306,7 +3397,8 @@
             url,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #openUrl,
@@ -3332,7 +3424,8 @@
             path,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #get,
@@ -3350,7 +3443,8 @@
           #getUrl,
           [url],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #getUrl,
@@ -3373,7 +3467,8 @@
             path,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #post,
@@ -3391,7 +3486,8 @@
           #postUrl,
           [url],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #postUrl,
@@ -3414,7 +3510,8 @@
             path,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #put,
@@ -3432,7 +3529,8 @@
           #putUrl,
           [url],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #putUrl,
@@ -3455,7 +3553,8 @@
             path,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #delete,
@@ -3468,12 +3567,14 @@
         )),
       ) as _i17.Future<_i15.HttpClientRequest>);
   @override
-  _i17.Future<_i15.HttpClientRequest> deleteUrl(Uri? url) => (super.noSuchMethod(
+  _i17.Future<_i15.HttpClientRequest> deleteUrl(Uri? url) =>
+      (super.noSuchMethod(
         Invocation.method(
           #deleteUrl,
           [url],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #deleteUrl,
@@ -3496,7 +3597,8 @@
             path,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #patch,
@@ -3514,7 +3616,8 @@
           #patchUrl,
           [url],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #patchUrl,
@@ -3537,7 +3640,8 @@
             path,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #head,
@@ -3555,7 +3659,8 @@
           #headUrl,
           [url],
         ),
-        returnValue: _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
+        returnValue:
+            _i17.Future<_i15.HttpClientRequest>.value(_FakeHttpClientRequest_37(
           this,
           Invocation.method(
             #headUrl,
@@ -3712,7 +3817,8 @@
   @override
   _i17.Future<_i15.HttpClientResponse> get done => (super.noSuchMethod(
         Invocation.getter(#done),
-        returnValue: _i17.Future<_i15.HttpClientResponse>.value(_FakeHttpClientResponse_40(
+        returnValue: _i17.Future<_i15.HttpClientResponse>.value(
+            _FakeHttpClientResponse_40(
           this,
           Invocation.getter(#done),
         )),
@@ -3739,7 +3845,8 @@
           #close,
           [],
         ),
-        returnValue: _i17.Future<_i15.HttpClientResponse>.value(_FakeHttpClientResponse_40(
+        returnValue: _i17.Future<_i15.HttpClientResponse>.value(
+            _FakeHttpClientResponse_40(
           this,
           Invocation.method(
             #close,
@@ -3825,7 +3932,8 @@
         returnValueForMissingStub: null,
       );
   @override
-  _i17.Future<dynamic> addStream(_i17.Stream<List<int>>? stream) => (super.noSuchMethod(
+  _i17.Future<dynamic> addStream(_i17.Stream<List<int>>? stream) =>
+      (super.noSuchMethod(
         Invocation.method(
           #addStream,
           [stream],
@@ -3845,7 +3953,8 @@
 /// A class which mocks [HttpClientResponse].
 ///
 /// See the documentation for Mockito's code generation for more information.
-class MockHttpClientResponse extends _i1.Mock implements _i15.HttpClientResponse {
+class MockHttpClientResponse extends _i1.Mock
+    implements _i15.HttpClientResponse {
   MockHttpClientResponse() {
     _i1.throwOnMissingStub(this);
   }
@@ -3866,7 +3975,8 @@
         returnValue: 0,
       ) as int);
   @override
-  _i15.HttpClientResponseCompressionState get compressionState => (super.noSuchMethod(
+  _i15.HttpClientResponseCompressionState get compressionState =>
+      (super.noSuchMethod(
         Invocation.getter(#compressionState),
         returnValue: _i15.HttpClientResponseCompressionState.notCompressed,
       ) as _i15.HttpClientResponseCompressionState);
@@ -3943,7 +4053,8 @@
             followLoops,
           ],
         ),
-        returnValue: _i17.Future<_i15.HttpClientResponse>.value(_FakeHttpClientResponse_40(
+        returnValue: _i17.Future<_i15.HttpClientResponse>.value(
+            _FakeHttpClientResponse_40(
           this,
           Invocation.method(
             #redirect,
@@ -4016,7 +4127,8 @@
         ),
       ) as _i17.StreamSubscription<List<int>>);
   @override
-  _i17.Stream<List<int>> where(bool Function(List<int>)? test) => (super.noSuchMethod(
+  _i17.Stream<List<int>> where(bool Function(List<int>)? test) =>
+      (super.noSuchMethod(
         Invocation.method(
           #where,
           [test],
@@ -4032,7 +4144,8 @@
         returnValue: _i17.Stream<S>.empty(),
       ) as _i17.Stream<S>);
   @override
-  _i17.Stream<E> asyncMap<E>(_i17.FutureOr<E> Function(List<int>)? convert) => (super.noSuchMethod(
+  _i17.Stream<E> asyncMap<E>(_i17.FutureOr<E> Function(List<int>)? convert) =>
+      (super.noSuchMethod(
         Invocation.method(
           #asyncMap,
           [convert],
@@ -4040,7 +4153,8 @@
         returnValue: _i17.Stream<E>.empty(),
       ) as _i17.Stream<E>);
   @override
-  _i17.Stream<E> asyncExpand<E>(_i17.Stream<E>? Function(List<int>)? convert) => (super.noSuchMethod(
+  _i17.Stream<E> asyncExpand<E>(_i17.Stream<E>? Function(List<int>)? convert) =>
+      (super.noSuchMethod(
         Invocation.method(
           #asyncExpand,
           [convert],
@@ -4061,7 +4175,8 @@
         returnValue: _i17.Stream<List<int>>.empty(),
       ) as _i17.Stream<List<int>>);
   @override
-  _i17.Stream<S> expand<S>(Iterable<S> Function(List<int>)? convert) => (super.noSuchMethod(
+  _i17.Stream<S> expand<S>(Iterable<S> Function(List<int>)? convert) =>
+      (super.noSuchMethod(
         Invocation.method(
           #expand,
           [convert],
@@ -4069,7 +4184,8 @@
         returnValue: _i17.Stream<S>.empty(),
       ) as _i17.Stream<S>);
   @override
-  _i17.Future<dynamic> pipe(_i17.StreamConsumer<List<int>>? streamConsumer) => (super.noSuchMethod(
+  _i17.Future<dynamic> pipe(_i17.StreamConsumer<List<int>>? streamConsumer) =>
+      (super.noSuchMethod(
         Invocation.method(
           #pipe,
           [streamConsumer],
@@ -4077,7 +4193,9 @@
         returnValue: _i17.Future<dynamic>.value(),
       ) as _i17.Future<dynamic>);
   @override
-  _i17.Stream<S> transform<S>(_i17.StreamTransformer<List<int>, S>? streamTransformer) => (super.noSuchMethod(
+  _i17.Stream<S> transform<S>(
+          _i17.StreamTransformer<List<int>, S>? streamTransformer) =>
+      (super.noSuchMethod(
         Invocation.method(
           #transform,
           [streamTransformer],
@@ -4134,7 +4252,8 @@
         returnValue: _i17.Future<bool>.value(false),
       ) as _i17.Future<bool>);
   @override
-  _i17.Future<dynamic> forEach(void Function(List<int>)? action) => (super.noSuchMethod(
+  _i17.Future<dynamic> forEach(void Function(List<int>)? action) =>
+      (super.noSuchMethod(
         Invocation.method(
           #forEach,
           [action],
@@ -4142,7 +4261,8 @@
         returnValue: _i17.Future<dynamic>.value(),
       ) as _i17.Future<dynamic>);
   @override
-  _i17.Future<bool> every(bool Function(List<int>)? test) => (super.noSuchMethod(
+  _i17.Future<bool> every(bool Function(List<int>)? test) =>
+      (super.noSuchMethod(
         Invocation.method(
           #every,
           [test],
@@ -4198,7 +4318,8 @@
         returnValue: _i17.Stream<List<int>>.empty(),
       ) as _i17.Stream<List<int>>);
   @override
-  _i17.Stream<List<int>> takeWhile(bool Function(List<int>)? test) => (super.noSuchMethod(
+  _i17.Stream<List<int>> takeWhile(bool Function(List<int>)? test) =>
+      (super.noSuchMethod(
         Invocation.method(
           #takeWhile,
           [test],
@@ -4214,7 +4335,8 @@
         returnValue: _i17.Stream<List<int>>.empty(),
       ) as _i17.Stream<List<int>>);
   @override
-  _i17.Stream<List<int>> skipWhile(bool Function(List<int>)? test) => (super.noSuchMethod(
+  _i17.Stream<List<int>> skipWhile(bool Function(List<int>)? test) =>
+      (super.noSuchMethod(
         Invocation.method(
           #skipWhile,
           [test],
@@ -4324,7 +4446,8 @@
             #$fields: $fields,
           },
         ),
-        returnValue: _i17.Future<_i6.JobCancelResponse>.value(_FakeJobCancelResponse_44(
+        returnValue:
+            _i17.Future<_i6.JobCancelResponse>.value(_FakeJobCancelResponse_44(
           this,
           Invocation.method(
             #cancel,
@@ -4422,7 +4545,8 @@
             #$fields: $fields,
           },
         ),
-        returnValue: _i17.Future<_i6.GetQueryResultsResponse>.value(_FakeGetQueryResultsResponse_46(
+        returnValue: _i17.Future<_i6.GetQueryResultsResponse>.value(
+            _FakeGetQueryResultsResponse_46(
           this,
           Invocation.method(
             #getQueryResults,
@@ -4572,7 +4696,8 @@
         ),
       ) as _i18.BuildBucketClient);
   @override
-  set buildBucketClient(_i18.BuildBucketClient? _buildBucketClient) => super.noSuchMethod(
+  set buildBucketClient(_i18.BuildBucketClient? _buildBucketClient) =>
+      super.noSuchMethod(
         Invocation.setter(
           #buildBucketClient,
           _buildBucketClient,
@@ -4604,7 +4729,8 @@
         ),
       ) as _i11.GithubChecksUtil);
   @override
-  set githubChecksUtil(_i11.GithubChecksUtil? _githubChecksUtil) => super.noSuchMethod(
+  set githubChecksUtil(_i11.GithubChecksUtil? _githubChecksUtil) =>
+      super.noSuchMethod(
         Invocation.setter(
           #githubChecksUtil,
           _githubChecksUtil,
@@ -4648,7 +4774,8 @@
             max,
           ],
         ),
-        returnValue: _i17.Future<List<List<_i9.Request>>>.value(<List<_i9.Request>>[]),
+        returnValue:
+            _i17.Future<List<List<_i9.Request>>>.value(<List<_i9.Request>>[]),
       ) as _i17.Future<List<List<_i9.Request>>>);
   @override
   _i17.Future<Iterable<_i9.Build>> getTryBuilds(
@@ -4706,12 +4833,15 @@
         returnValue: _i17.Future<Iterable<_i9.Build>>.value(<_i9.Build>[]),
       ) as _i17.Future<Iterable<_i9.Build>>);
   @override
-  _i17.Future<Map<String?, _i9.Build?>> tryBuildsForPullRequest(_i10.PullRequest? pullRequest) => (super.noSuchMethod(
+  _i17.Future<Map<String?, _i9.Build?>> tryBuildsForPullRequest(
+          _i10.PullRequest? pullRequest) =>
+      (super.noSuchMethod(
         Invocation.method(
           #tryBuildsForPullRequest,
           [pullRequest],
         ),
-        returnValue: _i17.Future<Map<String?, _i9.Build?>>.value(<String?, _i9.Build?>{}),
+        returnValue: _i17.Future<Map<String?, _i9.Build?>>.value(
+            <String?, _i9.Build?>{}),
       ) as _i17.Future<Map<String?, _i9.Build?>>);
   @override
   _i17.Future<List<_i32.Target>> scheduleTryBuilds({
@@ -4792,7 +4922,9 @@
         )),
       ) as _i17.Future<_i9.Build>);
   @override
-  _i17.Future<_i9.Build> rescheduleUsingCheckRunEvent(_i33.CheckRunEvent? checkRunEvent) => (super.noSuchMethod(
+  _i17.Future<_i9.Build> rescheduleUsingCheckRunEvent(
+          _i33.CheckRunEvent? checkRunEvent) =>
+      (super.noSuchMethod(
         Invocation.method(
           #rescheduleUsingCheckRunEvent,
           [checkRunEvent],
@@ -4969,7 +5101,8 @@
             #stderrEncoding: stderrEncoding,
           },
         ),
-        returnValue: _i17.Future<_i15.ProcessResult>.value(_FakeProcessResult_52(
+        returnValue:
+            _i17.Future<_i15.ProcessResult>.value(_FakeProcessResult_52(
           this,
           Invocation.method(
             #run,
@@ -5057,7 +5190,8 @@
 /// A class which mocks [PullRequestsService].
 ///
 /// See the documentation for Mockito's code generation for more information.
-class MockPullRequestsService extends _i1.Mock implements _i10.PullRequestsService {
+class MockPullRequestsService extends _i1.Mock
+    implements _i10.PullRequestsService {
   MockPullRequestsService() {
     _i1.throwOnMissingStub(this);
   }
@@ -5264,7 +5398,8 @@
             #requestSha: requestSha,
           },
         ),
-        returnValue: _i17.Future<_i10.PullRequestMerge>.value(_FakePullRequestMerge_53(
+        returnValue:
+            _i17.Future<_i10.PullRequestMerge>.value(_FakePullRequestMerge_53(
           this,
           Invocation.method(
             #merge,
@@ -5296,7 +5431,9 @@
         returnValue: _i17.Stream<_i10.PullRequestComment>.empty(),
       ) as _i17.Stream<_i10.PullRequestComment>);
   @override
-  _i17.Stream<_i10.PullRequestComment> listComments(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.PullRequestComment> listComments(
+          _i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listComments,
           [slug],
@@ -5318,7 +5455,8 @@
             comment,
           ],
         ),
-        returnValue: _i17.Future<_i10.PullRequestComment>.value(_FakePullRequestComment_54(
+        returnValue: _i17.Future<_i10.PullRequestComment>.value(
+            _FakePullRequestComment_54(
           this,
           Invocation.method(
             #createComment,
@@ -5343,7 +5481,8 @@
             review,
           ],
         ),
-        returnValue: _i17.Future<_i10.PullRequestReview>.value(_FakePullRequestReview_55(
+        returnValue:
+            _i17.Future<_i10.PullRequestReview>.value(_FakePullRequestReview_55(
           this,
           Invocation.method(
             #createReview,
@@ -5356,10 +5495,78 @@
       ) as _i17.Future<_i10.PullRequestReview>);
 }
 
+/// A class which mocks [ReadWriteMutex].
+///
+/// See the documentation for Mockito's code generation for more information.
+class MockReadWriteMutex extends _i1.Mock implements _i39.ReadWriteMutex {
+  MockReadWriteMutex() {
+    _i1.throwOnMissingStub(this);
+  }
+
+  @override
+  bool get isLocked => (super.noSuchMethod(
+        Invocation.getter(#isLocked),
+        returnValue: false,
+      ) as bool);
+  @override
+  bool get isWriteLocked => (super.noSuchMethod(
+        Invocation.getter(#isWriteLocked),
+        returnValue: false,
+      ) as bool);
+  @override
+  bool get isReadLocked => (super.noSuchMethod(
+        Invocation.getter(#isReadLocked),
+        returnValue: false,
+      ) as bool);
+  @override
+  _i17.Future<dynamic> acquireRead() => (super.noSuchMethod(
+        Invocation.method(
+          #acquireRead,
+          [],
+        ),
+        returnValue: _i17.Future<dynamic>.value(),
+      ) as _i17.Future<dynamic>);
+  @override
+  _i17.Future<dynamic> acquireWrite() => (super.noSuchMethod(
+        Invocation.method(
+          #acquireWrite,
+          [],
+        ),
+        returnValue: _i17.Future<dynamic>.value(),
+      ) as _i17.Future<dynamic>);
+  @override
+  void release() => super.noSuchMethod(
+        Invocation.method(
+          #release,
+          [],
+        ),
+        returnValueForMissingStub: null,
+      );
+  @override
+  _i17.Future<T> protectRead<T>(_i17.Future<T> Function()? criticalSection) =>
+      (super.noSuchMethod(
+        Invocation.method(
+          #protectRead,
+          [criticalSection],
+        ),
+        returnValue: _i17.Future<T>.value(null),
+      ) as _i17.Future<T>);
+  @override
+  _i17.Future<T> protectWrite<T>(_i17.Future<T> Function()? criticalSection) =>
+      (super.noSuchMethod(
+        Invocation.method(
+          #protectWrite,
+          [criticalSection],
+        ),
+        returnValue: _i17.Future<T>.value(null),
+      ) as _i17.Future<T>);
+}
+
 /// A class which mocks [RepositoriesService].
 ///
 /// See the documentation for Mockito's code generation for more information.
-class MockRepositoriesService extends _i1.Mock implements _i10.RepositoriesService {
+class MockRepositoriesService extends _i1.Mock
+    implements _i10.RepositoriesService {
   MockRepositoriesService() {
     _i1.throwOnMissingStub(this);
   }
@@ -5459,12 +5666,14 @@
         )),
       ) as _i17.Future<_i10.Repository>);
   @override
-  _i17.Future<_i10.LicenseDetails> getLicense(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<_i10.LicenseDetails> getLicense(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #getLicense,
           [slug],
         ),
-        returnValue: _i17.Future<_i10.LicenseDetails>.value(_FakeLicenseDetails_57(
+        returnValue:
+            _i17.Future<_i10.LicenseDetails>.value(_FakeLicenseDetails_57(
           this,
           Invocation.method(
             #getLicense,
@@ -5473,7 +5682,8 @@
         )),
       ) as _i17.Future<_i10.LicenseDetails>);
   @override
-  _i17.Future<_i10.Repository> getRepository(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<_i10.Repository> getRepository(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #getRepository,
           [slug],
@@ -5487,7 +5697,9 @@
         )),
       ) as _i17.Future<_i10.Repository>);
   @override
-  _i17.Stream<_i10.Repository> getRepositories(List<_i10.RepositorySlug>? slugs) => (super.noSuchMethod(
+  _i17.Stream<_i10.Repository> getRepositories(
+          List<_i10.RepositorySlug>? slugs) =>
+      (super.noSuchMethod(
         Invocation.method(
           #getRepositories,
           [slugs],
@@ -5537,7 +5749,8 @@
         )),
       ) as _i17.Future<_i10.Repository>);
   @override
-  _i17.Future<bool> deleteRepository(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<bool> deleteRepository(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #deleteRepository,
           [slug],
@@ -5558,7 +5771,8 @@
         returnValue: _i17.Stream<_i10.Contributor>.empty(),
       ) as _i17.Stream<_i10.Contributor>);
   @override
-  _i17.Stream<_i10.Team> listTeams(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.Team> listTeams(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listTeams,
           [slug],
@@ -5566,12 +5780,15 @@
         returnValue: _i17.Stream<_i10.Team>.empty(),
       ) as _i17.Stream<_i10.Team>);
   @override
-  _i17.Future<_i10.LanguageBreakdown> listLanguages(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<_i10.LanguageBreakdown> listLanguages(
+          _i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listLanguages,
           [slug],
         ),
-        returnValue: _i17.Future<_i10.LanguageBreakdown>.value(_FakeLanguageBreakdown_58(
+        returnValue:
+            _i17.Future<_i10.LanguageBreakdown>.value(_FakeLanguageBreakdown_58(
           this,
           Invocation.method(
             #listLanguages,
@@ -5599,7 +5816,8 @@
         returnValue: _i17.Stream<_i10.Tag>.empty(),
       ) as _i17.Stream<_i10.Tag>);
   @override
-  _i17.Stream<_i10.Branch> listBranches(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.Branch> listBranches(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listBranches,
           [slug],
@@ -5631,7 +5849,8 @@
         )),
       ) as _i17.Future<_i10.Branch>);
   @override
-  _i17.Stream<_i10.Collaborator> listCollaborators(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.Collaborator> listCollaborators(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listCollaborators,
           [slug],
@@ -5699,7 +5918,9 @@
         returnValue: _i17.Stream<_i10.CommitComment>.empty(),
       ) as _i17.Stream<_i10.CommitComment>);
   @override
-  _i17.Stream<_i10.CommitComment> listCommitComments(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.CommitComment> listCommitComments(
+          _i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listCommitComments,
           [slug],
@@ -5729,7 +5950,8 @@
             #line: line,
           },
         ),
-        returnValue: _i17.Future<_i10.CommitComment>.value(_FakeCommitComment_60(
+        returnValue:
+            _i17.Future<_i10.CommitComment>.value(_FakeCommitComment_60(
           this,
           Invocation.method(
             #createCommitComment,
@@ -5757,7 +5979,8 @@
           [slug],
           {#id: id},
         ),
-        returnValue: _i17.Future<_i10.CommitComment>.value(_FakeCommitComment_60(
+        returnValue:
+            _i17.Future<_i10.CommitComment>.value(_FakeCommitComment_60(
           this,
           Invocation.method(
             #getCommitComment,
@@ -5781,7 +6004,8 @@
             #body: body,
           },
         ),
-        returnValue: _i17.Future<_i10.CommitComment>.value(_FakeCommitComment_60(
+        returnValue:
+            _i17.Future<_i10.CommitComment>.value(_FakeCommitComment_60(
           this,
           Invocation.method(
             #updateCommitComment,
@@ -5807,7 +6031,8 @@
         returnValue: _i17.Future<bool>.value(false),
       ) as _i17.Future<bool>);
   @override
-  _i17.Stream<_i10.RepositoryCommit> listCommits(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.RepositoryCommit> listCommits(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listCommits,
           [slug],
@@ -5827,7 +6052,8 @@
             sha,
           ],
         ),
-        returnValue: _i17.Future<_i10.RepositoryCommit>.value(_FakeRepositoryCommit_61(
+        returnValue:
+            _i17.Future<_i10.RepositoryCommit>.value(_FakeRepositoryCommit_61(
           this,
           Invocation.method(
             #getCommit,
@@ -5868,7 +6094,8 @@
             refHead,
           ],
         ),
-        returnValue: _i17.Future<_i10.GitHubComparison>.value(_FakeGitHubComparison_62(
+        returnValue:
+            _i17.Future<_i10.GitHubComparison>.value(_FakeGitHubComparison_62(
           this,
           Invocation.method(
             #compareCommits,
@@ -5915,7 +6142,8 @@
           ],
           {#ref: ref},
         ),
-        returnValue: _i17.Future<_i10.RepositoryContents>.value(_FakeRepositoryContents_64(
+        returnValue: _i17.Future<_i10.RepositoryContents>.value(
+            _FakeRepositoryContents_64(
           this,
           Invocation.method(
             #getContents,
@@ -5940,7 +6168,8 @@
             file,
           ],
         ),
-        returnValue: _i17.Future<_i10.ContentCreation>.value(_FakeContentCreation_65(
+        returnValue:
+            _i17.Future<_i10.ContentCreation>.value(_FakeContentCreation_65(
           this,
           Invocation.method(
             #createFile,
@@ -5972,7 +6201,8 @@
           ],
           {#branch: branch},
         ),
-        returnValue: _i17.Future<_i10.ContentCreation>.value(_FakeContentCreation_65(
+        returnValue:
+            _i17.Future<_i10.ContentCreation>.value(_FakeContentCreation_65(
           this,
           Invocation.method(
             #updateFile,
@@ -6006,7 +6236,8 @@
             branch,
           ],
         ),
-        returnValue: _i17.Future<_i10.ContentCreation>.value(_FakeContentCreation_65(
+        returnValue:
+            _i17.Future<_i10.ContentCreation>.value(_FakeContentCreation_65(
           this,
           Invocation.method(
             #deleteFile,
@@ -6038,7 +6269,8 @@
         returnValue: _i17.Future<String?>.value(),
       ) as _i17.Future<String?>);
   @override
-  _i17.Stream<_i10.Repository> listForks(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.Repository> listForks(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listForks,
           [slug],
@@ -6070,7 +6302,8 @@
         )),
       ) as _i17.Future<_i10.Repository>);
   @override
-  _i17.Stream<_i10.Hook> listHooks(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.Hook> listHooks(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listHooks,
           [slug],
@@ -6223,7 +6456,8 @@
         returnValue: _i17.Future<bool>.value(false),
       ) as _i17.Future<bool>);
   @override
-  _i17.Stream<_i10.PublicKey> listDeployKeys(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.PublicKey> listDeployKeys(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listDeployKeys,
           [slug],
@@ -6303,7 +6537,8 @@
             merge,
           ],
         ),
-        returnValue: _i17.Future<_i10.RepositoryCommit>.value(_FakeRepositoryCommit_61(
+        returnValue:
+            _i17.Future<_i10.RepositoryCommit>.value(_FakeRepositoryCommit_61(
           this,
           Invocation.method(
             #merge,
@@ -6315,12 +6550,14 @@
         )),
       ) as _i17.Future<_i10.RepositoryCommit>);
   @override
-  _i17.Future<_i10.RepositoryPages> getPagesInfo(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<_i10.RepositoryPages> getPagesInfo(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #getPagesInfo,
           [slug],
         ),
-        returnValue: _i17.Future<_i10.RepositoryPages>.value(_FakeRepositoryPages_68(
+        returnValue:
+            _i17.Future<_i10.RepositoryPages>.value(_FakeRepositoryPages_68(
           this,
           Invocation.method(
             #getPagesInfo,
@@ -6329,7 +6566,8 @@
         )),
       ) as _i17.Future<_i10.RepositoryPages>);
   @override
-  _i17.Stream<_i10.PageBuild> listPagesBuilds(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.PageBuild> listPagesBuilds(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listPagesBuilds,
           [slug],
@@ -6337,7 +6575,8 @@
         returnValue: _i17.Stream<_i10.PageBuild>.empty(),
       ) as _i17.Stream<_i10.PageBuild>);
   @override
-  _i17.Future<_i10.PageBuild> getLatestPagesBuild(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<_i10.PageBuild> getLatestPagesBuild(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #getLatestPagesBuild,
           [slug],
@@ -6351,7 +6590,8 @@
         )),
       ) as _i17.Future<_i10.PageBuild>);
   @override
-  _i17.Stream<_i10.Release> listReleases(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.Release> listReleases(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listReleases,
           [slug],
@@ -6359,7 +6599,8 @@
         returnValue: _i17.Stream<_i10.Release>.empty(),
       ) as _i17.Stream<_i10.Release>);
   @override
-  _i17.Future<_i10.Release> getLatestRelease(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<_i10.Release> getLatestRelease(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #getLatestRelease,
           [slug],
@@ -6612,18 +6853,24 @@
             createReleaseAssets,
           ],
         ),
-        returnValue: _i17.Future<List<_i10.ReleaseAsset>>.value(<_i10.ReleaseAsset>[]),
+        returnValue:
+            _i17.Future<List<_i10.ReleaseAsset>>.value(<_i10.ReleaseAsset>[]),
       ) as _i17.Future<List<_i10.ReleaseAsset>>);
   @override
-  _i17.Future<List<_i10.ContributorStatistics>> listContributorStats(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<List<_i10.ContributorStatistics>> listContributorStats(
+          _i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listContributorStats,
           [slug],
         ),
-        returnValue: _i17.Future<List<_i10.ContributorStatistics>>.value(<_i10.ContributorStatistics>[]),
+        returnValue: _i17.Future<List<_i10.ContributorStatistics>>.value(
+            <_i10.ContributorStatistics>[]),
       ) as _i17.Future<List<_i10.ContributorStatistics>>);
   @override
-  _i17.Stream<_i10.YearCommitCountWeek> listCommitActivity(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.YearCommitCountWeek> listCommitActivity(
+          _i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listCommitActivity,
           [slug],
@@ -6631,7 +6878,9 @@
         returnValue: _i17.Stream<_i10.YearCommitCountWeek>.empty(),
       ) as _i17.Stream<_i10.YearCommitCountWeek>);
   @override
-  _i17.Stream<_i10.WeeklyChangesCount> listCodeFrequency(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.WeeklyChangesCount> listCodeFrequency(
+          _i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listCodeFrequency,
           [slug],
@@ -6639,12 +6888,15 @@
         returnValue: _i17.Stream<_i10.WeeklyChangesCount>.empty(),
       ) as _i17.Stream<_i10.WeeklyChangesCount>);
   @override
-  _i17.Future<_i10.ContributorParticipation> getParticipation(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Future<_i10.ContributorParticipation> getParticipation(
+          _i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #getParticipation,
           [slug],
         ),
-        returnValue: _i17.Future<_i10.ContributorParticipation>.value(_FakeContributorParticipation_72(
+        returnValue: _i17.Future<_i10.ContributorParticipation>.value(
+            _FakeContributorParticipation_72(
           this,
           Invocation.method(
             #getParticipation,
@@ -6653,7 +6905,8 @@
         )),
       ) as _i17.Future<_i10.ContributorParticipation>);
   @override
-  _i17.Stream<_i10.PunchcardEntry> listPunchcard(_i10.RepositorySlug? slug) => (super.noSuchMethod(
+  _i17.Stream<_i10.PunchcardEntry> listPunchcard(_i10.RepositorySlug? slug) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listPunchcard,
           [slug],
@@ -6690,7 +6943,8 @@
             request,
           ],
         ),
-        returnValue: _i17.Future<_i10.RepositoryStatus>.value(_FakeRepositoryStatus_73(
+        returnValue:
+            _i17.Future<_i10.RepositoryStatus>.value(_FakeRepositoryStatus_73(
           this,
           Invocation.method(
             #createStatus,
@@ -6715,7 +6969,8 @@
             ref,
           ],
         ),
-        returnValue: _i17.Future<_i10.CombinedRepositoryStatus>.value(_FakeCombinedRepositoryStatus_74(
+        returnValue: _i17.Future<_i10.CombinedRepositoryStatus>.value(
+            _FakeCombinedRepositoryStatus_74(
           this,
           Invocation.method(
             #getCombinedStatus,
@@ -6727,7 +6982,9 @@
         )),
       ) as _i17.Future<_i10.CombinedRepositoryStatus>);
   @override
-  _i17.Future<_i10.ReleaseNotes> generateReleaseNotes(_i10.CreateReleaseNotes? crn) => (super.noSuchMethod(
+  _i17.Future<_i10.ReleaseNotes> generateReleaseNotes(
+          _i10.CreateReleaseNotes? crn) =>
+      (super.noSuchMethod(
         Invocation.method(
           #generateReleaseNotes,
           [crn],
@@ -6769,7 +7026,8 @@
           ],
           {#$fields: $fields},
         ),
-        returnValue: _i17.Future<_i6.TableDataInsertAllResponse>.value(_FakeTableDataInsertAllResponse_76(
+        returnValue: _i17.Future<_i6.TableDataInsertAllResponse>.value(
+            _FakeTableDataInsertAllResponse_76(
           this,
           Invocation.method(
             #insertAll,
@@ -6962,7 +7220,8 @@
         returnValue: _i17.Stream<_i10.UserEmail>.empty(),
       ) as _i17.Stream<_i10.UserEmail>);
   @override
-  _i17.Stream<_i10.UserEmail> addEmails(List<String>? emails) => (super.noSuchMethod(
+  _i17.Stream<_i10.UserEmail> addEmails(List<String>? emails) =>
+      (super.noSuchMethod(
         Invocation.method(
           #addEmails,
           [emails],
@@ -7041,7 +7300,8 @@
         returnValue: _i17.Stream<_i10.User>.empty(),
       ) as _i17.Stream<_i10.User>);
   @override
-  _i17.Stream<_i10.PublicKey> listPublicKeys([String? userLogin]) => (super.noSuchMethod(
+  _i17.Stream<_i10.PublicKey> listPublicKeys([String? userLogin]) =>
+      (super.noSuchMethod(
         Invocation.method(
           #listPublicKeys,
           [userLogin],
@@ -7049,7 +7309,8 @@
         returnValue: _i17.Stream<_i10.PublicKey>.empty(),
       ) as _i17.Stream<_i10.PublicKey>);
   @override
-  _i17.Future<_i10.PublicKey> createPublicKey(_i10.CreatePublicKey? key) => (super.noSuchMethod(
+  _i17.Future<_i10.PublicKey> createPublicKey(_i10.CreatePublicKey? key) =>
+      (super.noSuchMethod(
         Invocation.method(
           #createPublicKey,
           [key],
@@ -7101,7 +7362,8 @@
         ),
       ) as _i20.Cache<_i27.Uint8List>);
   @override
-  _i20.Cache<S> withCodec<S>(_i16.Codec<S, _i27.Uint8List>? codec) => (super.noSuchMethod(
+  _i20.Cache<S> withCodec<S>(_i16.Codec<S, _i27.Uint8List>? codec) =>
+      (super.noSuchMethod(
         Invocation.method(
           #withCodec,
           [codec],
@@ -7152,6 +7414,11 @@
         returnValue: '',
       ) as String);
   @override
+  String get version => (super.noSuchMethod(
+        Invocation.getter(#version),
+        returnValue: '',
+      ) as String);
+  @override
   _i2.Client get client => (super.noSuchMethod(
         Invocation.getter(#client),
         returnValue: _FakeClient_0(
@@ -7313,7 +7580,7 @@
             #preview: preview,
           },
         ),
-        returnValue: _i39.postJsonShim<S, T>(
+        returnValue: _i40.postJsonShim<S, T>(
           path,
           statusCode: statusCode,
           fail: fail,