Create a new package packages/cocoon_integration_test to facilitate offline integration testing of the Cocoon backend and frontend.
Currently, testing the Cocoon server (app_dart) involves unit tests or live integration tests. There is a need for a “fake server” environment that can run offline, simulating all external dependencies (GitHub, Gerrit, BuildBucket, etc.) with in-memory fakes. This will allow for robust, deterministic integration testing of the dashboard and other clients against a running (fake) server.
packages/cocoon_integration_test.app_dart server with injected fakes.Config (FakeConfig with webhookKeyValue)CacheService (In-memory)Authentication (FakeDashboardAuthentication for both standard and swarming)BranchServiceBuildBucketClientLuciBuildServiceGithubChecksServiceCommitServiceGerritServiceSchedulerCiYamlFetcherBuildStatusServiceContentAwareHashServiceapp_dart (likely via path or git dependency if strict package separation isn't enforced yet, or by moving shared types to cocoon_common). Note: For this iteration, we will assume app_dart is accessible.packages/cocoon_integration_test/pubspec.yamlpackages/cocoon_integration_test/lib/cocoon_integration_test.dart (Entry point)packages/cocoon_integration_test/lib/src/server.dart (Server setup logic)