Skip to content

Commit

Permalink
Run tests on Drupal 11
Browse files Browse the repository at this point in the history
  • Loading branch information
pookmish committed Aug 29, 2024
1 parent f73905e commit 4a6083b
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 56 deletions.
145 changes: 90 additions & 55 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
name: PHPUnit and Acceptance Tests
on: [push]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
phpunit:
name: PHPUnit Coverage Tests
runs-on: ubuntu-latest
container:
image: pookmish/drupal8ci:latest
image: pookmish/drupal8ci:php8.3
services:
mysql:
image: mysql:5.7
image: mysql:8.0
env:
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
Expand All @@ -33,20 +36,14 @@ jobs:
with:
name: unit-tests-results
path: /var/www/html/artifacts
acceptance:
name: Codeception Acceptance Tests
phpunit_d11:
name: PHPUnit Coverage Tests Drupal 11
runs-on: ubuntu-latest
env:
DRUPAL_DATABASE_NAME: drupal
DRUPAL_DATABASE_USERNAME: drupal
DRUPAL_DATABASE_PASSWORD: drupal
DRUPAL_DATABASE_HOST: mysql
container:
image: pookmish/drupal8ci:latest
options: '--network-alias drupal8ci'
image: pookmish/drupal8ci:php8.3
services:
mysql:
image: mysql:5.7
image: mysql:8.0
env:
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
Expand All @@ -59,52 +56,90 @@ jobs:
- uses: actions/checkout@v4
with:
path: project
- name: Run tests
run: |
composer global require su-sws/stanford-caravan:10.x-dev
~/.config/composer/vendor/bin/sws-caravan codeception /var/www/html --extension-dir=$GITHUB_WORKSPACE/project --suites=acceptance
- name: Save Test Results
uses: actions/upload-artifact@v4
if: always()
with:
name: acceptance-tests-results
path: /var/www/html/artifacts
functional:
name: Codeception Functional Tests
runs-on: ubuntu-latest
env:
DRUPAL_DATABASE_NAME: drupal
DRUPAL_DATABASE_USERNAME: drupal
DRUPAL_DATABASE_PASSWORD: drupal
DRUPAL_DATABASE_HOST: mysql
container:
image: pookmish/drupal8ci:latest
options: '--network-alias=drupal8ci'
services:
selenium:
image: selenium/standalone-chrome
options: '--shm-size="2g"'
mysql:
image: mysql:5.7
- name: Build project
env:
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
MYSQL_ROOT_PASSWORD: drupal
ports:
- 33306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@v4
with:
path: project
- name: Run tests
CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
run: |
composer global require su-sws/stanford-caravan:10.x-dev
~/.config/composer/vendor/bin/sws-caravan codeception /var/www/html --extension-dir=$GITHUB_WORKSPACE/project --suites=functional
composer global require su-sws/stanford-caravan:11.x-dev
~/.config/composer/vendor/bin/sws-caravan phpunit /var/www/html --extension-dir=$GITHUB_WORKSPACE/project --with-coverage
- name: Save Test Results
uses: actions/upload-artifact@v4
if: always()
if: failure()
with:
name: functional-tests-results
name: unit-tests-results
path: /var/www/html/artifacts
# acceptance:
# name: Codeception Acceptance Tests
# runs-on: ubuntu-latest
# env:
# DRUPAL_DATABASE_NAME: drupal
# DRUPAL_DATABASE_USERNAME: drupal
# DRUPAL_DATABASE_PASSWORD: drupal
# DRUPAL_DATABASE_HOST: mysql
# container:
# image: pookmish/drupal8ci:latest
# options: '--network-alias drupal8ci'
# services:
# mysql:
# image: mysql:8.0
# env:
# MYSQL_DATABASE: drupal
# MYSQL_USER: drupal
# MYSQL_PASSWORD: drupal
# MYSQL_ROOT_PASSWORD: drupal
# ports:
# - 33306:3306
# options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
# steps:
# - uses: actions/checkout@v4
# with:
# path: project
# - name: Run tests
# run: |
# composer global require su-sws/stanford-caravan:11.x-dev
# ~/.config/composer/vendor/bin/sws-caravan codeception /var/www/html --extension-dir=$GITHUB_WORKSPACE/project --suites=acceptance
# - name: Save Test Results
# uses: actions/upload-artifact@v4
# if: always()
# with:
# name: acceptance-tests-results
# path: /var/www/html/artifacts
# functional:
# name: Codeception Functional Tests
# runs-on: ubuntu-latest
# env:
# DRUPAL_DATABASE_NAME: drupal
# DRUPAL_DATABASE_USERNAME: drupal
# DRUPAL_DATABASE_PASSWORD: drupal
# DRUPAL_DATABASE_HOST: mysql
# container:
# image: pookmish/drupal8ci:latest
# options: '--network-alias=drupal8ci'
# services:
# selenium:
# image: selenium/standalone-chrome
# options: '--shm-size="2g"'
# mysql:
# image: mysql:8.0
# env:
# MYSQL_DATABASE: drupal
# MYSQL_USER: drupal
# MYSQL_PASSWORD: drupal
# MYSQL_ROOT_PASSWORD: drupal
# ports:
# - 33306:3306
# options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
# steps:
# - uses: actions/checkout@v4
# with:
# path: project
# - name: Run tests
# run: |
# composer global require su-sws/stanford-caravan:11.x-dev
# ~/.config/composer/vendor/bin/sws-caravan codeception /var/www/html --extension-dir=$GITHUB_WORKSPACE/project --suites=functional
# - name: Save Test Results
# uses: actions/upload-artifact@v4
# if: always()
# with:
# name: functional-tests-results
# path: /var/www/html/artifacts
1 change: 1 addition & 0 deletions tests/src/Kernel/StanfordSamlAuthTestBase.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public function setup(): void {

$this->installEntitySchema('user');
$this->installEntitySchema('user_role');
$this->installEntitySchema('path_alias');
$this->installSchema('externalauth', 'authmap');
$this->installSchema('system', ['sequences']);
$this->installConfig(['stanford_samlauth']);
Expand Down
2 changes: 1 addition & 1 deletion tests/src/Unit/Service/WorkgroupApiTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public function setup(): void {
$guzzle = $this->createMock(ClientInterface::class);
$guzzle->method('request')
->withAnyParameters()
->will($this->returnCallback([$this, 'guzzleRequestCallback']));
->willReturnCallback([$this, 'guzzleRequestCallback']);

$logger = $this->createMock(LoggerChannelFactoryInterface::class);
$logger->method('get')
Expand Down

0 comments on commit 4a6083b

Please sign in to comment.