Skip to content

fix(external-services): argument error (#521) #2413

fix(external-services): argument error (#521)

fix(external-services): argument error (#521) #2413

Workflow file for this run

name: Run Unit Tests On Push
on:
push:
jobs:
unit-tests:
runs-on: ubuntu-latest
env:
APP_ENV: testing
APP_DEBUG: true
PHP_VERSION: "8.3"
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ env.PHP_VERSION }}
extensions: mbstring, exif, pcntl, bcmath
- name: Install dependencies
uses: ramsey/composer-install@v3
env:
COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.COMPOSER_AUTH_TOKEN }}"} }'
- name: Run Unit Tests
run: |
echo "running OpenTelemetry Formatter tests"
vendor/bin/phpunit tests/OpenTelemetry/Formatters/ --log-junit results_opentelemetry_tests.xml
echo "running AuditLogFormatterFactoryTest"
vendor/bin/phpunit tests/OpenTelemetry/AuditLogFormatterFactoryTest.php --log-junit results_audit_formatter_tests.xml
- name: Upload OpenTelemetry Tests Output
uses: actions/upload-artifact@v4
with:
name: results_opentelemetry_tests
path: results_opentelemetry_tests.xml
retention-days: 5
- name: Upload AuditLogFormatterFactory Tests Output
uses: actions/upload-artifact@v4
with:
name: results_audit_formatter_tests
path: results_audit_formatter_tests.xml
retention-days: 5
integration-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 8
matrix:
suite:
- { name: "OAuth2SummitApiTest", filter: "--filter OAuth2SummitApiTest" }
- { name: "OAuth2SummitEventsApiTest", filter: "--filter OAuth2SummitEventsApiTest" }
- { name: "OAuth2PresentationSubmissionTest", filter: "--filter OAuth2PresentationSubmissionTest" }
- { name: "OAuth2EventTypesApiTest", filter: "--filter OAuth2EventTypesApiTest" }
- { name: "OAuth2SummitBadgeScanApiControllerTest", filter: "--filter OAuth2SummitBadgeScanApiControllerTest" }
- { name: "SummitOrderServiceTest", filter: "--filter SummitOrderServiceTest" }
- { name: "SummitRSVPServiceTest", filter: "--filter SummitRSVPServiceTest" }
- { name: "SummitRSVPInvitationServiceTest", filter: "--filter SummitRSVPInvitationServiceTest" }
- { name: "OAuth2RSVPApiTest", filter: "--filter OAuth2RSVPApiTest" }
- { name: "OAuth2RSVPApiWithMocksTest", filter: "--filter OAuth2RSVPApiWithMocksTest" }
- { name: "OAuth2RSVPInvitationApiTest", filter: "--filter OAuth2RSVPInvitationApiTest" }
- { name: "EntityModelUnitTests", filter: "tests/Unit/Entities/" }
- { name: "AuditOtlpStrategyTest", filter: "--filter AuditOtlpStrategyTest" }
- { name: "AuditEventTypesTest", filter: "--filter AuditEventTypesTest" }
- { name: "GuzzleTracingTest", filter: "--filter GuzzleTracingTest" }
- { name: "Repositories", filter: "--filter tests/Repositories/" }
- { name: "OAuth2AttendeesApiTest", filter: "--filter test/OAuth2AttendeesApiTest"}
- { name: "OAuth2SummitSponsorApiTest", filter: "--filter test/OAuth2SummitSponsorApiTest"}
- { name: "OAuth2BookableRoomAttributeTypesApiTest", filter: "--filter test/OAuth2BookableRoomAttributeTypesApiTest"}
- { name: "OAuth2CompaniesApiTest", filter: "--filter test/OAuth2CompaniesApiTest"}
- { name: "OAuth2ElectionsApiController", filter: "--filter test/OAuth2ElectionsApiController"}
- { name: "OAuth2MembersApiTest", filter: "--filter test/OAuth2MembersApiTest"}
- { name: "OAuth2GroupsApiTest", filter: "--filter test/OAuth2GroupsApiTest"}
- { name: "OAuth2OAuth2SponsorshipTypeApiTest", filter: "--filter test/OAuth2OAuth2SponsorshipTypeApiTest"}
- { name: "OAuth2OrganizationsApiTest", filter: "--filter test/OAuth2OrganizationsApiTest"}
- { name: "OAuth2PresentationApiTest", filter: "--filter test/OAuth2PresentationApiTest"}
- { name: "OAuth2PromoCodesApiTest", filter: "--filter test/OAuth2PromoCodesApiTest"}
- { name: "OAuth2SummitPromoCodesApiTest", filter: "--filter test/OAuth2SummitPromoCodesApiTest"}
- { name: "OAuth2SelectionPlansApiTest", filter: "--filter test/OAuth2SelectionPlansApiTest"}
- { name: "OAuth2SummitSpeakersApiTest", filter: "--filter test/OAuth2SummitSpeakersApiTest" }
- { name: "OAuth2SummitBadgesApiTest", filter: "--filter test/OAuth2SummitBadgesApiTest" }
- { name: "OAuth2TracksApiTest", filter: "--filter test/OAuth2TracksApiTest" }
- { name: "OAuth2TrackTagGroupsApiTest", filter: "--filter test/OAuth2TrackTagGroupsApiTest" }
- { name: "OAuth2SummitTracksApiTest", filter: "--filter test/OAuth2SummitTracksApiTest" }
- { name: "OAuth2TagsApiTest", filter: "--filter test/OAuth2TagsApiTest" }
- { name: "OAuth2SummitSponsorshipApiControllerTest", filter: "--filter test/OAuth2SummitSponsorshipApiControllerTest" }
- { name: "OAuth2SummitSponsorshipTypeApiControllerTest", filter: "--filter test/OAuth2SummitSponsorshipTypeApiControllerTest" }
- { name: "OAuth2SummitSubmissionInvitationApiTest", filter: "--filter test/OAuth2SummitSubmissionInvitationApiTest" }
- { name: "OAuth2SummitSubmittersApiTest", filter: "--filter test/OAuth2SummitSubmittersApiTest" }
- { name: "OAuth2SummitTaxTypeApiTest", filter: "--filter test/OAuth2SummitTaxTypeApiTest" }
- { name: "OAuth2SummitTicketTypesApiTest", filter: "--filter tests/OAuth2SummitTicketTypesApiTest" }
- { name: "OAuth2SummitTicketsApiTest", filter: "--filter tests/OAuth2SummitTicketsApiTest" }
- { name: "OAuth2SummitTrackChairsApiTest", filter: "--filter tests/OAuth2SummitTrackChairsApiTest" }
- { name: "OAuth2SummitTrackChairsRankingApiTest", filter: "--filter tests/OAuth2SummitTrackChairsRankingApiTest" }
- { name: "OAuth2TrackGroupsApiTest", filter: "--filter tests/OAuth2TrackGroupsApiTest" }
- { name: "OAuth2TrackQuestionsTemplateTest", filter: "--filter tests/OAuth2TrackQuestionsTemplateTest" }
- { name: "OAuth2SummitBadgeTypeApiTest", filter: "--filter tests/OAuth2SummitBadgeTypeApiTest" }
- { name: "OAuth2SummitBadgeViewTypeApiTest", filter: "--filter tests/OAuth2SummitBadgeViewTypeApiTest" }
- { name: "OAuth2SummitDocumentsApiControllerTest", filter: "--filter tests/OAuth2SummitDocumentsApiControllerTest" }
- { name: "OAuth2SummitEmailEventFlowApiControllerTest", filter: "--filter tests/OAuth2SummitEmailEventFlowApiControllerTest" }
- { name: "OAuth2SummitEventsBulkActionsTest", filter: "--filter tests/OAuth2SummitEventsBulkActionsTest" }
- { name: "OAuth2SummitLocationsApiTest", filter: "--filter tests/OAuth2SummitLocationsApiTest" }
- { name: "OAuth2RSVPSummitEventApiTest", filter: "--filter tests/OAuth2RSVPSummitEventApiTest" }
- { name: "OAuth2SpeakerActiveInvolvementApiTest", filter: "--filter tests/OAuth2SpeakerActiveInvolvementApiTest" }
- { name: "OAuth2SpeakerOrganizationalRoleApiTest", filter: "--filter tests/OAuth2SpeakerOrganizationalRoleApiTest" }
- { name: "OAuth2SpeakersAssistancesApiTest", filter: "--filter tests/OAuth2SpeakersAssistancesApiTest" }
- { name: "OAuth2SponsoredProjectsApiTest", filter: "--filter tests/OAuth2SponsoredProjectsApiTest" }
- { name: "OAuth2SummitAccessLevelTypeTest", filter: "--filter tests/OAuth2SummitAccessLevelTypeTest" }
- { name: "OAuth2SummitAdministratorPermissionGroupApiControllerTest", filter: "--filter tests/OAuth2SummitAdministratorPermissionGroupApiControllerTest" }
- { name: "OAuth2SummitAttendeeBadgePrintApiControllerTest", filter: "--filter tests/OAuth2SummitAttendeeBadgePrintApiControllerTest" }
- { name: "OAuth2SummitAttendeeNotesApiTest", filter: "--filter tests/OAuth2SummitAttendeeNotesApiTest" }
- { name: "OAuth2SummitBadgeFeatureTypeApiTest", filter: "--filter tests/OAuth2SummitBadgeFeatureTypeApiTest" }
- { name: "OAuth2SummitMediaFileTypeApiControllerTest", filter: "--filter tests/OAuth2SummitMediaFileTypeApiControllerTest" }
- { name: "OAuth2SummitMediaUploadTypeApiControllerTest", filter: "--filter tests/OAuth2SummitMediaUploadTypeApiControllerTest" }
- { name: "OAuth2SummitMetricsApiControllerTest", filter: "--filter tests/OAuth2SummitMetricsApiControllerTest" }
- { name: "OAuth2SummitNotificationsApiControllerTest", filter: "--filter tests/OAuth2SummitNotificationsApiControllerTest" }
- { name: "OAuth2SummitOrderExtraQuestionTypeApiTest", filter: "--filter tests/OAuth2SummitOrderExtraQuestionTypeApiTest" }
- { name: "OAuth2SummitOrdersApiTest", filter: "--filter tests/OAuth2SummitOrdersApiTest" }
- { name: "OAuth2SummitPresentationActionApiTest", filter: "--filter tests/OAuth2SummitPresentationActionApiTest" }
- { name: "OAuth2SummitPresentationActionTypeApiTest", filter: "--filter tests/OAuth2SummitPresentationActionTypeApiTest" }
- { name: "OAuth2SummitProposedScheduleApiTest", filter: "--filter tests/OAuth2SummitProposedScheduleApiTest" }
- { name: "OAuth2SummitProposedScheduleAllowedLocationApiControllerTest", filter: "--filter tests/OAuth2SummitProposedScheduleAllowedLocationApiControllerTest" }
- { name: "OAuth2SummitRefundPolicyTypeApiTest", filter: "--filter tests/OAuth2SummitRefundPolicyTypeApiTest" }
- { name: "OAuth2SummitRegistrationCompaniesApiTest", filter: "--filter tests/OAuth2SummitRegistrationCompaniesApiTest" }
- { name: "OAuth2SummitRegistrationInvitationApiControllerTest", filter: "--filter tests/OAuth2SummitRegistrationInvitationApiControllerTest" }
- { name: "OAuth2SummitRSVPTemplateApiTest", filter: "--filter tests/OAuth2SummitRSVPTemplateApiTest" }
- { name: "OAuth2SummitScheduleSettingsApiTest", filter: "--filter tests/OAuth2SummitScheduleSettingsApiTest" }
- { name: "OAuth2SummitSelectedPresentationListApiTest", filter: "--filter tests/OAuth2SummitSelectedPresentationListApiTest" }
- { name: "OAuth2SummitSelectionPlanExtraQuestionTypeApiTest", filter: "--filter tests/OAuth2SummitSelectionPlanExtraQuestionTypeApiTest" }
- { name: "OAuth2SummitSelectionPlansApiTest", filter: "--filter tests/OAuth2SummitSelectionPlansApiTest" }
env:
OTEL_SERVICE_ENABLED: false
APP_ENV: testing
APP_DEBUG: true
APP_KEY: "base64:4vh0op/S1dAsXKQ2bbdCfWRyCI9r8NNIdPXyZWt9PX4="
DEV_EMAIL_TO: smarcet@gmail.com
APP_URL: http://localhost
DB_CONNECTION: model
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_DATABASE: api_config
DB_USERNAME: root
DB_PASSWORD: 1qaz2wsx
SS_DB_HOST: 127.0.0.1
SS_DB_PORT: 3310
SS_DATABASE: api_model
SS_DB_USERNAME: root
SS_DB_PASSWORD: 1qaz2wsx
REDIS_HOST: 127.0.0.1
REDIS_PORT: 6379
REDIS_DB: 0
REDIS_PASSWORD: 1qaz2wsx
REDIS_DATABASES: 16
SSL_ENABLED: false
SESSION_DRIVER: redis
PHP_VERSION: "8.3"
CACHE_DRIVER: redis
SESSION_COOKIE_DOMAIN: localhost
SESSION_COOKIE_SECURE: false
QUEUE_DRIVER: redis
REGISTRATION_DEFAULT_PAYMENT_PROVIDER: Stripe
REGISTRATION_DEFAULT_STRIPE_TEST_MODE: true
REGISTRATION_DEFAULT_LIVE_STRIPE_PRIVATE_KEY:
REGISTRATION_DEFAULT_LIVE_STRIPE_PUBLISHABLE_KEY:
REGISTRATION_DEFAULT_LIVE_WEBHOOK_SECRET:
REGISTRATION_DEFAULT_TEST_STRIPE_PRIVATE_KEY: sk_test_12345
REGISTRATION_DEFAULT_TEST_STRIPE_PUBLISHABLE_KEY: pk_12345
REGISTRATION_DEFAULT_TEST_WEBHOOK_SECRET: whsec_12345
BOOKABLE_ROOMS_DEFAULT_PAYMENT_PROVIDER: Stripe
BOOKABLE_ROOMS_DEFAULT_STRIPE_TEST_MODE: true
BOOKABLE_ROOMS_DEFAULT_LIVE_STRIPE_PRIVATE_KEY:
BOOKABLE_ROOMS_DEFAULT_LIVE_STRIPE_PUBLISHABLE_KEY:
BOOKABLE_ROOMS_DEFAULT_LIVE_WEBHOOK_SECRET:
BOOKABLE_ROOMS_DEFAULT_TEST_STRIPE_PRIVATE_KEY: sk_test_12345
BOOKABLE_ROOMS_DEFAULT_TEST_STRIPE_PUBLISHABLE_KEY: pk_12345
BOOKABLE_ROOMS_DEFAULT_TEST_WEBHOOK_SECRET: whsec_12345
REGISTRATION_VALIDATE_TICKET_TYPE_REMOVAL: false
MEMCACHED_SERVER_HOST: 127.0.0.1
MEMCACHED_SERVER_PORT: 11211
services:
mysql_api_model:
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: ${{ env.SS_DB_PASSWORD }}
MYSQL_DATABASE: ${{ env.SS_DATABASE }}
ports:
- 3310:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=10 --name=mysql_api_model
mysql_api_config:
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: ${{ env.DB_PASSWORD }}
MYSQL_DATABASE: ${{ env.DB_DATABASE }}
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=10
steps:
- name: Start Memcached (with larger item size)
run: |
docker run -d --name ci-memcached -p 11211:11211 memcached:1.6-alpine \
memcached -m 256 -I 5m -c 4096 -t 2
# wait until ready
for i in {1..20}; do
printf "version\r\nquit\r\n" | nc 127.0.0.1 11211 >/dev/null 2>&1 && break
sleep 0.5
done
- name: Create Redis
uses: supercharge/redis-github-action@1.8.1
with:
redis-port: ${{ env.REDIS_PORT }}
redis-password: ${{ env.REDIS_PASSWORD }}
- name: Check out repository code
uses: actions/checkout@v4
- name: Change MYSQL sql_mode
run: >
docker exec mysql_api_model mysql -u root --password=${{ env.SS_DB_PASSWORD }} -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';"
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ env.PHP_VERSION }}
extensions: pdo_mysql, mbstring, exif, pcntl, bcmath, sockets, gettext, apcu, redis, igbinary, memcached
- name: Install dependencies
uses: ramsey/composer-install@v3
env:
COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.COMPOSER_AUTH_TOKEN }}"} }'
- name: Run ${{ matrix.suite.name }}
run: |
./update_doctrine.sh
php artisan db:create_initial_db --schema=config
php artisan db:create_initial_db --schema=model
php artisan doctrine:migrations:migrate --no-interaction --em=model_write
echo "running ${{ matrix.suite.name }}"
vendor/bin/phpunit ${{ matrix.suite.filter }} --log-junit results.xml
- name: Upload Test Results
uses: actions/upload-artifact@v4
with:
name: results_${{ matrix.suite.name }}
path: results.xml
retention-days: 5