chore: prepare for PR

This commit is contained in:
Andras Bacsai 2026-02-15 13:43:08 +01:00
parent 4a40009020
commit b40926e915
2 changed files with 79 additions and 0 deletions

View file

@ -207,6 +207,9 @@ public function handle()
$serviceId = $labels->get('coolify.serviceId'); $serviceId = $labels->get('coolify.serviceId');
$subType = $labels->get('coolify.service.subType'); $subType = $labels->get('coolify.service.subType');
$subId = $labels->get('coolify.service.subId'); $subId = $labels->get('coolify.service.subId');
if (empty($subId)) {
continue;
}
if ($subType === 'application') { if ($subType === 'application') {
$this->foundServiceApplicationIds->push($subId); $this->foundServiceApplicationIds->push($subId);
// Store container status for aggregation // Store container status for aggregation

View file

@ -0,0 +1,76 @@
<?php
use App\Jobs\PushServerUpdateJob;
use App\Models\Server;
use App\Models\Service;
use App\Models\ServiceApplication;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
test('containers with empty service subId are skipped', function () {
$server = Server::factory()->create();
$service = Service::factory()->create([
'server_id' => $server->id,
]);
$serviceApp = ServiceApplication::factory()->create([
'service_id' => $service->id,
]);
$data = [
'containers' => [
[
'name' => 'test-container',
'state' => 'running',
'health_status' => 'healthy',
'labels' => [
'coolify.managed' => true,
'coolify.serviceId' => (string) $service->id,
'coolify.service.subType' => 'application',
'coolify.service.subId' => '',
],
],
],
];
$job = new PushServerUpdateJob($server, $data);
// Run handle - should not throw a PDOException about empty bigint
$job->handle();
// The empty subId container should have been skipped
expect($job->foundServiceApplicationIds)->not->toContain('');
expect($job->serviceContainerStatuses)->toBeEmpty();
});
test('containers with valid service subId are processed', function () {
$server = Server::factory()->create();
$service = Service::factory()->create([
'server_id' => $server->id,
]);
$serviceApp = ServiceApplication::factory()->create([
'service_id' => $service->id,
]);
$data = [
'containers' => [
[
'name' => 'test-container',
'state' => 'running',
'health_status' => 'healthy',
'labels' => [
'coolify.managed' => true,
'coolify.serviceId' => (string) $service->id,
'coolify.service.subType' => 'application',
'coolify.service.subId' => (string) $serviceApp->id,
'com.docker.compose.service' => 'myapp',
],
],
],
];
$job = new PushServerUpdateJob($server, $data);
$job->handle();
expect($job->foundServiceApplicationIds)->toContain((string) $serviceApp->id);
});