Files
shorebird/packages/artifact_proxy/test/server_bin_test.dart
T
Tony d9088aeec6
ci / 📄 License Check (push) Has been cancelled
ci / ✅ Semantic Pull Request (push) Has been cancelled
ci / 🔤 Check Spelling (push) Has been cancelled
ci / 👀 Detect Changes (push) Has been cancelled
ci / 🎯 Build ${{ matrix.package }} (${{ matrix.os }}) (push) Has been cancelled
ci / 🎯 Build ${{ matrix.package }} (push) Has been cancelled
ci / 🔎 Verify ${{ matrix.package }} (push) Has been cancelled
ci / ci (push) Has been cancelled
Deploy Artifact Proxy Dev / ☁️ Artifact Proxy (push) Has been cancelled
Shorebird CI / changes (push) Has been cancelled
Shorebird CI / CSpell (push) Has been cancelled
Shorebird CI / artifact_proxy (push) Has been cancelled
Shorebird CI / dex (push) Has been cancelled
Shorebird CI / discord_gcp_alerts (push) Has been cancelled
Shorebird CI / flutter_version_resolver (push) Has been cancelled
Shorebird CI / jwt (push) Has been cancelled
Shorebird CI / scoped_deps (push) Has been cancelled
Shorebird CI / shorebird_build_trace (push) Has been cancelled
Shorebird CI / shorebird_ci (push) Has been cancelled
Shorebird CI / shorebird_cli (push) Has been cancelled
Shorebird CI / shorebird_code_push_client (push) Has been cancelled
Shorebird CI / shorebird_code_push_protocol (push) Has been cancelled
Shorebird CI / shorebird_redis_client (push) Has been cancelled
Shorebird CI / stripe_api (push) Has been cancelled
Shorebird CI / required (push) Has been cancelled
Refactor Shorebird CLI to support configurable URLs and improve test coverage
- Updated AAR releaser test to use ShorebirdProcess.defaultFlutterStorageBaseUrl.
- Changed macOS releaser test to reference a new troubleshooting URL.
- Enhanced shorebird_yaml_test with deserialization for AOT patch metadata.
- Modified network_checker_test to check self-hosted URLs from ShorebirdEnv.
- Added tests for artifact paths in shorebird_artifacts_test.
- Updated shorebird_cli_command_runner_test to reflect new repository URL.
- Improved shorebird_env_test with additional tests for shorebirdRoot and engine revision fallback.
- Adjusted shorebird_flutter_test to use environment variables for Flutter Git URL.
- Updated shorebird_process_test to utilize default Flutter storage URL.
- Enhanced shorebird_validator_test to link to the default hosted URL.
- Updated shorebird_web_console_test to use the configured hosted URL.
- Refactored code_push_client to use default hosted URL for API requests.
- Updated README and generation scripts for the code_push_protocol package to reflect new OpenAPI spec source.
- Modified shared.sh to allow configurable Flutter repository and storage URLs.

Signed-off-by: Tony <tonylu@tony-cloud.com>
2026-06-25 17:21:56 +08:00

50 lines
1.4 KiB
Dart

import 'dart:io';
import 'package:test/test.dart';
void main() {
test('health-check exits successfully without binding a server', () async {
final workingDirectory = _shorebirdRoot();
final result = await Process.run(
Platform.resolvedExecutable,
[
'run',
'packages/artifact_proxy/bin/server.dart',
'--health-check',
],
workingDirectory: workingDirectory.path,
environment: {
'SHOREBIRD_ARTIFACT_BASE_URL': 'https://artifacts.example.com/open',
'ARTIFACT_PROXY_FLUTTER_BASE_URL': 'https://flutter.example.com',
'PORT': '18080',
},
);
expect(result.exitCode, 0, reason: result.stderr as String?);
expect(
result.stdout,
contains(
'artifact_proxy ok '
'shorebird_artifacts=https://artifacts.example.com/open '
'flutter_artifacts=https://flutter.example.com '
'port=18080',
),
);
});
}
Directory _shorebirdRoot() {
var directory = Directory.current;
while (true) {
if (File('${directory.path}/pubspec.yaml').existsSync() &&
Directory('${directory.path}/packages/artifact_proxy').existsSync()) {
return directory;
}
final parent = directory.parent;
if (parent.path == directory.path) {
throw StateError('Could not find Shorebird package root.');
}
directory = parent;
}
}