From a32e53c5a39f4133a346b2df2d94e41e5a6fb8f5 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Fri, 6 Sep 2024 10:02:44 +0200 Subject: [PATCH] feat: Update Docker Compose file with DB_URL environment variable --- tests/Feature/DockerComposeParseTest.php | 90 +++++++++--------------- 1 file changed, 32 insertions(+), 58 deletions(-) diff --git a/tests/Feature/DockerComposeParseTest.php b/tests/Feature/DockerComposeParseTest.php index 2826c7860..27271c9d8 100644 --- a/tests/Feature/DockerComposeParseTest.php +++ b/tests/Feature/DockerComposeParseTest.php @@ -1,5 +1,6 @@ applicationYaml = ' @@ -21,6 +21,7 @@ services: APP_KEY: base64 APP_DEBUG: "${APP_DEBUG:-false}" APP_URL: $SERVICE_FQDN_APP + DB_URL: postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@db:5432/postgres?schema=public volumes: - "./nginx:/etc/nginx" - "data:/var/www/html" @@ -29,8 +30,8 @@ services: db: image: postgres environment: - POSTGRES_USER: "${POSTGRES_USER:-postgres}" - POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:-postgres}" + POSTGRES_USER: "${SERVICE_USER_POSTGRES}" + POSTGRES_PASSWORD: "${SERVICE_PASSWORD_POSTGRES}" volumes: - "dbdata:/var/lib/postgresql/data" healthcheck: @@ -88,34 +89,24 @@ networks: $this->serviceYaml = ' version: "3.8" services: - activepieces: - image: ghcr.io/activepieces/activepieces:latest + app: + image: nginx environment: - - SERVICE_FQDN_ACTIVEPIECES - - AP_ENCRYPTION_KEY=$SERVICE_PASSWORD_ENCRYPTIONKEY - - AP_EXECUTION_MODE=UNSANDBOXED - - AP_FRONTEND_URL=$SERVICE_FQDN_ACTIVEPIECES - - AP_TEST=${AP_TEST:-test} + SERVICE_FQDN_APP: /app + APP_KEY: base64 + APP_DEBUG: "${APP_DEBUG:-false}" + APP_URL: $SERVICE_FQDN_APP + DB_URL: postgres://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@db:5432/postgres?schema=public volumes: - - "dbdata:/var/lib/postgresql/data" + - "./nginx:/etc/nginx" + - "data:/var/www/html" depends_on: - - postgres - - redis - activepieces2: - image: ghcr.io/activepieces/activepieces:latest + - db + db: + image: postgres environment: - TEST: $SERVICE_FQDN_ACTIVEPIECES - volumes: - - "dbdata:/var/lib/postgresql/data" - depends_on: - - postgres - - redis - postgres: - image: postgres:latest - environment: - POSTGRES_DB: activepieces - POSTGRES_USER: $SERVICE_USER_POSTGRES - POSTGRES_PASSWORD: $SERVICE_PASSWORD_POSTGRES + POSTGRES_USER: "${SERVICE_USER_POSTGRES}" + POSTGRES_PASSWORD: "${SERVICE_PASSWORD_POSTGRES}" volumes: - "dbdata:/var/lib/postgresql/data" healthcheck: @@ -127,34 +118,16 @@ services: interval: 2s timeout: 10s retries: 10 - redis: - image: redis:latest - volumes: - - "redis_data:/data" - healthcheck: - test: - - CMD - - redis-cli - - ping - interval: 2s - timeout: 10s - retries: 10 -volumes: - dbdata: - redis_data: -networks: - default: - name: something - external: true - noinet: - driver: bridge - internal: true'; + depends_on: + app: + condition: service_healthy +'; $this->serviceComposeFileString = Yaml::parse($this->serviceYaml); $this->service = Service::create([ 'name' => 'Service for tests', - 'uuid' => (string) new Cuid2(), + 'uuid' => 'tgwcg8w4s844wkog8kskw44g', 'docker_compose_raw' => $this->serviceYaml, 'environment_id' => 1, 'server_id' => 0, @@ -166,9 +139,18 @@ networks: afterEach(function () { // $this->applicationPreview->forceDelete(); $this->application->forceDelete(); + DeleteService::run($this->service); $this->service->forceDelete(); }); +test('ServiceComposeParseNew', function () { + $output = newParser($this->service); + // ray('New parser'); + // ray($output->toArray()); + ray($this->service->environment_variables->pluck('value', 'key')->toArray()); + expect($output)->toBeInstanceOf(Collection::class); +}); + // test('ApplicationComposeParse', function () { // expect($this->jsonapplicationComposeFile)->toBeJson()->ray(); @@ -332,14 +314,6 @@ afterEach(function () { // }); -// test('ServiceComposeParseNew', function () { -// $output = newParser($this->application, pull_request_id: 1, preview_id: $this->applicationPreview->id); -// // ray('New parser'); -// // ray($output->toArray()); -// ray($this->service->environment_variables_preview->pluck('value', 'key')->toArray()); -// expect($output)->toBeInstanceOf(Collection::class); -// }); - // test('ServiceComposeParseOld', function () { // $output = parseDockerComposeFile($this->service); // ray('Old parser');