Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI testing PoC with the Lombiq UI Testing Toolbox (Lombiq Technologies: OCORE-75) #11194

Closed
wants to merge 194 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
1c753df
Add UI testing basics
Piedone Feb 11, 2022
e2f0900
Copy-paste error
Piedone Feb 11, 2022
224ad84
Overriding xUnit config
Piedone Feb 11, 2022
7e6353c
Suppresssing VSTHRD200 for UI testing
Piedone Feb 11, 2022
2be799d
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Feb 14, 2022
22f2acb
Updating to latest UI Testing Toolbox
Piedone Feb 14, 2022
4d12b4c
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Feb 15, 2022
62663cb
Updating Lombiq.Tests.UI dependencies
Piedone Feb 15, 2022
6842a5b
Adding UI testing to PR pipeline
Piedone Feb 16, 2022
6b4b044
Intentionally failing UI test to check artifact collection
Piedone Feb 16, 2022
79562ff
Updating Lombiq.Tests.UI dependencies
Piedone Feb 16, 2022
580ae14
Suppressing VSTHRD200 in OrchardCore.Tests for now
Piedone Feb 16, 2022
8c04eab
Fixing async issues in OrchardCore.Tests
Piedone Feb 16, 2022
c0c823f
Temporarily removing failing unit test
Piedone Feb 16, 2022
b09fdb1
Fixing UI test artifact name
Piedone Feb 16, 2022
2035114
Deactivating intentionally failing test
Piedone Feb 16, 2022
9da0d19
Adding UI testing step to the other workflows too
Piedone Feb 16, 2022
37f4a00
Fixing TestCommandArgumentsArePassedCorrectlyWithAParamsParameterAndN…
Piedone Feb 16, 2022
86f9444
Updating Lombiq.Tests.UI to latest, thus fixing that Microsoft.Visual…
Piedone Feb 16, 2022
f2bfaa6
Reverting OrchardCore.Tests changes (will add to a separate PR)
Piedone Feb 16, 2022
b8203f0
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Feb 16, 2022
2ac49a2
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Feb 16, 2022
569a7f8
Fixing Blob recipe accessibility issues
Piedone Feb 17, 2022
3b56899
Accessibility checking in BasicOrchardFeaturesShouldWork
Piedone Feb 17, 2022
47d0c01
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Feb 22, 2022
48cda29
Updating Lombiq.Tests.UI to latest
Piedone Feb 22, 2022
ce772df
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Mar 3, 2022
5602051
Copying over BasicOrchardFeaturesTesting-related code (doesn't build …
Piedone Mar 4, 2022
73da5c6
Ugly name for all method copies not to have ambiguous names
Piedone Mar 4, 2022
5692272
Updating the Lombiq UI Testing Toolbox to 1.7.0
Piedone Mar 4, 2022
181f30a
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Mar 10, 2022
81e6587
Future-proof wildcard pattern for failure dump folder
Piedone May 14, 2022
2bca0d1
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone May 14, 2022
c62003e
Adding GitHub workflow definitions to the solution for IntelliSense
Piedone May 14, 2022
0b31023
Future-proof wildcard pattern for failure dump folder in the other wo…
Piedone May 14, 2022
06e71c7
Removing unneeded OS checks
Piedone May 14, 2022
58b2f15
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Jun 1, 2022
3e83441
Updating Lombiq.Tests.UI to latest
Piedone Jun 1, 2022
bb81d83
Adding Lombiq UI Testing Toolbox to the libraries docs
Piedone Jun 1, 2022
ac5cf10
Enabling UI tests for Linux as well since the UI Testing Toolbox is n…
Piedone Jun 1, 2022
ff075c5
Only uploading UI testing failure dump if files actually exist
Piedone Jun 1, 2022
d6f4cef
Adding OS name to the artifact name
Piedone Jun 1, 2022
4e0c768
Attempt at factoring out UI testing build code to its own action
Piedone Jun 2, 2022
99cb01e
Attempt to fix action call
Piedone Jun 2, 2022
23df70d
Again
Piedone Jun 2, 2022
4ee6220
Fixing path
Piedone Jun 2, 2022
2872167
Reusing UI Tests action from all workflows
Piedone Jun 2, 2022
6799072
Fixing UI Tests action syntax
Piedone Jun 2, 2022
36d33b6
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Jun 23, 2022
6880e6e
Updating to latest Lombiq.Tests.UI
Piedone Jun 23, 2022
dd58831
Also updating in the docs
Piedone Jun 23, 2022
6ebf938
Preventing log files from being locked
Piedone Jun 23, 2022
c1300f8
Does Agency correctly display the culture under Linux?
Piedone Jun 23, 2022
8f562cb
Rather wanted to test TheTheme
Piedone Jun 23, 2022
0ae18bf
Revert "Rather wanted to test TheTheme"
Piedone Jun 23, 2022
f847dca
Revert "Does Agency correctly display the culture under Linux?"
Piedone Jun 23, 2022
0100bc9
Merge remote-tracking branch 'origin/main' into issue/OCORE-75
Piedone Oct 17, 2022
91db2ab
Upgrading Lombiq.Tests.UI* to 4.0.2-alpha.0.osoe-401 (4.0.1 + NLog up…
Piedone Oct 17, 2022
b7e50fe
Perhaps TheTheme has a lang attribute?
Piedone Oct 17, 2022
046d397
Revert "Perhaps TheTheme has a lang attribute?"
Piedone Oct 17, 2022
25b7372
Adding Blog recipe culture settings as a test
Piedone Oct 17, 2022
8fcbe9a
Not running functional tests anymore, since those will be recreated a…
Piedone Oct 17, 2022
f6b9429
Using the new Blog Tests recipe for UI testing
Piedone Oct 17, 2022
a389874
Fixing TheAgency accessibility issue
Piedone Oct 17, 2022
0a79906
Removing unneeded Blog recipe modification
Piedone Oct 17, 2022
d56c708
Fixing more Agency accessibility issues
Piedone Oct 17, 2022
f4ca49d
Wrong link label
Piedone Oct 17, 2022
7aebfcb
Basic Orchard features tests for all themes with test recipes
Piedone Oct 17, 2022
4d8d564
Missing OrchardCore.Localization enable
Piedone Oct 17, 2022
50e9d4e
Adding tenant creation test
Piedone Oct 17, 2022
7fe7433
Adding "Recipe" to test name
Piedone Oct 17, 2022
dcf9433
Enabling accessibility checks by default
Piedone Oct 17, 2022
e80515f
Blank and Headless recipe tests
Piedone Oct 17, 2022
13f4f90
Updating Lombiq.Tests.UI* to 4.0.2-alpha.1.osoe-401
Piedone Oct 17, 2022
015c2f5
Adding MVC UI test
Piedone Oct 17, 2022
9cf30c8
Also running MVC UI tests
Piedone Oct 17, 2022
212949b
Running basic Orchard features tests on the tenant too
Piedone Oct 18, 2022
6ef7b4e
Renaming test
Piedone Oct 18, 2022
359a313
Testing manual tenant creation too
Piedone Oct 19, 2022
3255e4b
Updating Lombiq.Tests.UI*
Piedone Oct 21, 2022
14335d6
Merge remote-tracking branch 'origin/main' into issue/OCORE-75
Piedone Oct 21, 2022
e562ace
Fixing sln
Piedone Oct 21, 2022
d15e1a0
Updating Lombiq.Tests.UI*
Piedone Oct 26, 2022
c980623
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Oct 26, 2022
826fc6d
Trying installation of service containers
Piedone Oct 26, 2022
282b166
Revert "Trying installation of service containers"
Piedone Oct 26, 2022
2384df1
Simplifying build
Piedone Oct 26, 2022
2bf138b
Using the Lombiq GitHub actions test-dotnet action to run UI tests, n…
Piedone Oct 26, 2022
41a5b3e
Removing ExecuteTestAfterSetupAsync() support since we can't have tha…
Piedone Oct 26, 2022
e9c8a13
Referencing test-dotnet with fork check
Piedone Oct 26, 2022
8359e9f
Adding Blob Storage test
Piedone Oct 26, 2022
0886b05
Fixing copy-paste error
Piedone Oct 26, 2022
ac80b83
Adding monkey test for the admin
Piedone Oct 26, 2022
5397c14
Updating Lombiq.Tests.UI* packages
Piedone Oct 26, 2022
87698ff
Removing BasicOrchardFeaturesTesting stuff for now; will probably nee…
Piedone Oct 27, 2022
6eb18cd
Only testing setup with invalid data in BlogRecipeTests since that do…
Piedone Oct 27, 2022
5dedbd0
Updating Lombiq.Tests.UI* with new config access
Piedone Oct 28, 2022
3cdca82
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Nov 1, 2022
f2ac898
Removing now unneeded issue branch reference
Piedone Nov 1, 2022
3eaac46
Temporarily skipping tests not needed for multi-DB testing for now
Piedone Nov 1, 2022
7c55f46
Enabling SQL Server usage but only for SQL Server tests
Piedone Nov 1, 2022
e9c6b82
Temporarily disabling non-SQL Server tests and unit tests
Piedone Nov 1, 2022
20a485c
Revert "Temporarily disabling non-SQL Server tests and unit tests"
Piedone Nov 1, 2022
acc1699
Temporarily disabling unit tests
Piedone Nov 1, 2022
3f4b18b
Temporarily disabling non-SQL Server tests
Piedone Nov 1, 2022
ea2cc02
Trying to upgrade SqlManagementObjects (it can't be upgraded in UITT …
Piedone Nov 1, 2022
78c2539
Encrypt=False;TrustServerCertificate=True for test SQL Servers
Piedone Nov 1, 2022
4d75586
Revert "Trying to upgrade SqlManagementObjects (it can't be upgraded …
Piedone Nov 1, 2022
9e1d1a3
Revert "Revert "Trying to upgrade SqlManagementObjects (it can't be u…
Piedone Nov 1, 2022
841c2fa
Fixing build error
Piedone Nov 1, 2022
7fedb67
Revert "Trying to upgrade SqlManagementObjects (it can't be upgraded …
Piedone Nov 1, 2022
3b002a0
Revert "Revert "Trying to upgrade SqlManagementObjects (it can't be u…
Piedone Nov 1, 2022
b0f0e9e
PostgreSQL UI tests
Piedone Nov 1, 2022
bbb710f
Different PostgreSQL setup
Piedone Nov 2, 2022
1f2cd9c
Workflow syntax fix
Piedone Nov 2, 2022
c3ada4b
Moving Start PostgreSQL step to its actual suitable location
Piedone Nov 2, 2022
1011d61
Loading the DatabaseProvider from the environment for OrchardCoreSetu…
Piedone Nov 2, 2022
e2b81f1
Fixing config retrieval
Piedone Nov 2, 2022
80deb0c
Unique table prefix for tests that all run with a single DB
Piedone Nov 2, 2022
e57f590
Alternative Postgres setup
Piedone Nov 2, 2022
bf7064a
Different DB name
Piedone Nov 2, 2022
eb9b117
Back to the previous Postgres setup
Piedone Nov 2, 2022
35d5422
Fixing remaining wrong setup configs
Piedone Nov 2, 2022
19d8711
Fixing that invalid setup testing failed the tests
Piedone Nov 2, 2022
fd62ab5
Pointing test-dotnet to an issue branch
Piedone Nov 2, 2022
3836bbf
Debug test execution
Piedone Nov 3, 2022
d462e1f
Dummy change to kick off build
Piedone Nov 3, 2022
10b84b5
Revert "Dummy change to kick off build"
Piedone Nov 3, 2022
b123bde
Revert "Debug test execution"
Piedone Nov 3, 2022
a151302
Code styling
Piedone Nov 3, 2022
119d8d7
Removing debug code
Piedone Nov 3, 2022
320d173
Setting the table prefix from the environment as well, since it can't…
Piedone Nov 3, 2022
9399474
No hyphens in DB table prefixes
Piedone Nov 3, 2022
9515fa8
Docs
Piedone Nov 3, 2022
95179cc
Removing unnecessary table prefix setting
Piedone Nov 3, 2022
8b9da4d
Setting the DB connection strings on the setup screen instead of the …
Piedone Nov 3, 2022
f3c0588
Temporarily disabling Windows builds for faster feedback
Piedone Nov 3, 2022
40b6bee
Attempting to fix Postgres table prefix generation
Piedone Nov 3, 2022
9c2b48a
DRY with MySQL config
Piedone Nov 3, 2022
5adc68d
Removing underscores from table names as that perhaps mixes up things
Piedone Nov 3, 2022
00d0c04
Dummy change to kick off build
Piedone Nov 3, 2022
b8663eb
Revert "Dummy change to kick off build"
Piedone Nov 3, 2022
21a6bd3
Fixing build error
Piedone Nov 3, 2022
26e62e2
MySQL testing
Piedone Nov 3, 2022
57b771b
Configuring the host for the DB
Piedone Nov 3, 2022
55f4500
Syntax
Piedone Nov 3, 2022
9aca1fb
Moving MariaDB setup to its actual place in the workflow
Piedone Nov 3, 2022
291364f
Updating Lombiq.Tests.UI* with fix for selecting MySQL during setup
Piedone Nov 3, 2022
9fb42a8
Shortening table names
Piedone Nov 3, 2022
a0f6501
Re-enabling Windows builds
Piedone Nov 3, 2022
4cc769c
Re-enabling all tests
Piedone Nov 3, 2022
8eea409
Revert "Re-enabling all tests"
Piedone Nov 3, 2022
3ff0887
Making connection strings conventional
Piedone Nov 3, 2022
0708104
Fixing that table prefixes might include a hyphen
Piedone Nov 3, 2022
61427f8
Revert "Revert "Re-enabling all tests""
Piedone Nov 3, 2022
97b0613
MVC and SQLite tests
Piedone Nov 3, 2022
8ae3845
SQL Server tests
Piedone Nov 3, 2022
ff29a39
PostgreSQL tests
Piedone Nov 3, 2022
166e906
Fixing SetupWithInvalidDataShouldFail
Piedone Nov 3, 2022
dee49ba
SQL Server tests
Piedone Nov 3, 2022
c3050d0
MVC and SQLite tests
Piedone Nov 3, 2022
9b55db4
MySQL tests
Piedone Nov 3, 2022
0e9a358
Fixing that with SQL Server the table prefix was just a number
Piedone Nov 3, 2022
0e4a3dd
Reverting to original, working MySQL connection string
Piedone Nov 3, 2022
ceab4be
MVC and SQLite tests
Piedone Nov 3, 2022
398f203
SQL Server tests
Piedone Nov 3, 2022
a3233d0
PostgreSQL tests
Piedone Nov 3, 2022
fd33317
Perhaps a railing semicolon will help the MySQL connection string be …
Piedone Nov 3, 2022
86dae36
Revert "Re-enabling all tests"
Piedone Nov 3, 2022
47f1497
Perhaps "Host" will work under Windows?
Piedone Nov 3, 2022
0eaf101
Perhaps "localhost" will work under Windows?
Piedone Nov 3, 2022
9d07d35
Perhaps server=localhost will work under Windows?
Piedone Nov 3, 2022
f29b0fa
Fixing MariaDB DB name in connstring
Piedone Nov 3, 2022
6c2d033
Revert "Revert "Re-enabling all tests""
Piedone Nov 3, 2022
6eb0e7f
Merge remote-tracking branch 'origin/main' into issue/OCORE-75
Piedone Nov 5, 2022
1cea784
More conventional connection string for MySQL
Piedone Nov 5, 2022
44e39f9
Revert "Re-enabling all tests"
Piedone Nov 6, 2022
8d67700
Trying ankane/setup-mariadb instead
Piedone Nov 6, 2022
345dea0
Trying ankane/setup-postgres instead
Piedone Nov 6, 2022
c04ecda
Just Ubuntu for now
Piedone Nov 6, 2022
41e9057
Providing at least the User ID for MariaDB
Piedone Nov 6, 2022
a4bdfa1
Merge branch 'issue/OCORE-75' into issue/OCORE-75-setup-postgres
Piedone Nov 6, 2022
756378a
The postgres database is created by default
Piedone Nov 6, 2022
b9f4bc1
Revert "Revert "Re-enabling all tests""
Piedone Nov 6, 2022
e1b87e2
Revert "Just Ubuntu for now"
Piedone Nov 6, 2022
9ba9ab7
Back to original MariaDB approach
Piedone Nov 6, 2022
daa0fdc
Also reverting connection string
Piedone Nov 6, 2022
9c56fb4
Re-enable MariaDB
Piedone Nov 6, 2022
eaeb663
Merge branch 'issue/OCORE-75-setup-postgres' into issue/OCORE-75
Piedone Nov 6, 2022
ce0dd0a
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Nov 8, 2022
8125eb0
Pointing Lombiq GHA actions to a different branch
Piedone Nov 8, 2022
6b2df55
Enabling only MVC UI Tests to test test reporting
Piedone Nov 8, 2022
4c1f070
Revert "Enabling only MVC UI Tests to test test reporting"
Piedone Nov 8, 2022
7087ac7
Merge remote-tracking branch 'official/main' into issue/OCORE-75
Piedone Nov 25, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/actions/ui-tests/action.yml
@@ -0,0 +1,34 @@
# To be refactored, need to check how DRY can work in the end.
name: UI Tests
description: Runs UI tests and publishes the failure dumps as an artifact on test failure.

inputs:
artifact-name-suffix:
description: The name of the OS used for the runner (e.g. "ubuntu-latest").
required: true

runs:
using: "composite"
steps:
- name: UI Tests
shell: bash
run: |
dotnet test -c Release --no-restore --no-build ./test/OrchardCore.Tests.UI/OrchardCore.Tests.UI.csproj
- uses: actions/upload-artifact@v2
if: success() || failure()
with:
name: ui-test-failure-${{ inputs.artifact-name-suffix }}
path: |
test/OrchardCore.Tests.UI/bin/Release/*/FailureDumps
if-no-files-found: ignore
- name: MVC UI Tests
shell: bash
run: |
dotnet test -c Release --no-restore --no-build ./test/OrchardCore.Tests.UI.Mvc/OrchardCore.Tests.UI.Mvc.csproj
- uses: actions/upload-artifact@v2
if: success() || failure()
with:
name: mvc-ui-test-failure-${{ inputs.artifact-name-suffix}}
path: |
test/OrchardCore.Tests.UI.Mvc/bin/Release/*/FailureDumps
if-no-files-found: ignore
63 changes: 47 additions & 16 deletions .github/workflows/pr_ci.yml
Expand Up @@ -25,21 +25,52 @@ jobs:
- name: Build
run: |
dotnet build --configuration Release --framework net6.0
- name: Unit Tests
run: |
dotnet test -c Release --no-restore --no-build ./test/OrchardCore.Tests/OrchardCore.Tests.csproj
- name: Functional Tests
if: matrix.os == 'ubuntu-latest'
#- name: Unit Tests
# run: |
# dotnet test -c Release --no-restore --no-build ./test/OrchardCore.Tests/OrchardCore.Tests.csproj
#- name: MVC UI Tests
# uses: Lombiq/GitHub-Actions/.github/actions/test-dotnet@issue/OSOE-408
# with:
# build-directory: test/OrchardCore.Tests.UI.Mvc
- name: Set up Azurite
uses: Lombiq/GitHub-Actions/.github/actions/setup-azurite@issue/OSOE-408
with:
location: test/OrchardCore.Tests.UI
#- name: CMS UI Tests - SQLite
# uses: Lombiq/GitHub-Actions/.github/actions/test-dotnet@issue/OSOE-408
# with:
# build-directory: test/OrchardCore.Tests.UI
#- name: Set up SQL Server
# uses: Lombiq/GitHub-Actions/.github/actions/setup-sql-server@issue/OSOE-408
#- name: CMS UI Tests - SQL Server
# uses: Lombiq/GitHub-Actions/.github/actions/test-dotnet@issue/OSOE-408
# env:
# OrchardCore__UITestingCIDatabaseProvider: "SqlServer"
# with:
# build-directory: test/OrchardCore.Tests.UI
#- name: Start PostgreSQL
# # v1 branch as of 06.11.2022.
# uses: ankane/setup-postgres@fb3b63234a45536dde68bae3f8cf1b6dbbc281cb
#- name: CMS UI Tests - PostgreSQL
# uses: Lombiq/GitHub-Actions/.github/actions/test-dotnet@issue/OSOE-408
# env:
# OrchardCore__UITestingCIDatabaseProvider: "Postgres"
# with:
# build-directory: test/OrchardCore.Tests.UI
# MariaDB is an open-source drop-in replacement of MySQL, so we can use it instead.
- name: Set up MariaDB
# v1.13.0
uses: shogo82148/actions-setup-mysql@e9da98ba6e914131f3111105e445c06bc1629280
with:
distribution: "mariadb"
root-password: "test123"
- name: Create MariaDB database
shell: pwsh
run: |
cd test/OrchardCore.Tests.Functional
npm install
npm run cms:test
npm run mvc:test
- uses: actions/upload-artifact@v2
if: matrix.os == 'ubuntu-latest' && failure()
mysql --user=root --password=test123 --host=127.0.0.1 --execute="CREATE DATABASE mariadb"
- name: CMS UI Tests - MySql
uses: Lombiq/GitHub-Actions/.github/actions/test-dotnet@issue/OSOE-408
env:
OrchardCore__UITestingCIDatabaseProvider: "MySql"
with:
name: functional-test-failure
path: |
test/OrchardCore.Tests.Functional/cms-tests/cypress/screenshots
src/OrchardCore.Cms.Web/App_Data/logs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to remove the Cypress functional tests?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually, yes, this is a direct substitute.


build-directory: test/OrchardCore.Tests.UI
4 changes: 4 additions & 0 deletions .github/workflows/preview_ci.yml
Expand Up @@ -50,6 +50,10 @@ jobs:
path: |
test/OrchardCore.Tests.Functional/cms-tests/cypress/screenshots
src/OrchardCore.Cms.Web/App_Data_Tests/logs
- name: UI Tests
uses: ./.github/actions/ui-tests
with:
os-name: ${{ matrix.os }}
- name: Deploy preview nuget packages
if: matrix.os == 'ubuntu-latest'
run: |
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/release_ci.yml
Expand Up @@ -61,6 +61,10 @@ jobs:
path: |
test/OrchardCore.Tests.Functional/cms-tests/cypress/screenshots
src/OrchardCore.Cms.Web/App_Data_Tests/logs
- name: UI Tests
uses: ./.github/actions/ui-tests
with:
os-name: ${{ matrix.os }}
- name: Deploy release NuGet packages
if: matrix.os == 'ubuntu-latest'
run: |
Expand Down
46 changes: 38 additions & 8 deletions OrchardCore.sln
Expand Up @@ -440,10 +440,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Themes", "Orcha
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Autoroute.Core", "src\OrchardCore\OrchardCore.Autoroute.Core\OrchardCore.Autoroute.Core.csproj", "{7F31D1A5-2B6F-448A-9337-482F876B85EF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrchardCore.Security", "src\OrchardCore.Modules\OrchardCore.Security\OrchardCore.Security.csproj", "{B02C00A7-33C2-4FEE-9D0F-B14C349ADB68}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Security", "src\OrchardCore.Modules\OrchardCore.Security\OrchardCore.Security.csproj", "{B02C00A7-33C2-4FEE-9D0F-B14C349ADB68}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Abstractions.Tests", "test\OrchardCore.Abstractions.Tests\OrchardCore.Abstractions.Tests.csproj", "{FE8011DE-D917-4F74-9955-238B2BBA9165}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Tests.UI", "test\OrchardCore.Tests.UI\OrchardCore.Tests.UI.csproj", "{2FADB5D9-E229-4689-A040-12EEE1876285}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Tests.Themes", "OrchardCore.Tests.Themes", "{61436BAE-FB36-4ADA-8E5D-EE64C4E04522}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OrchardCore.Tests.Features", "OrchardCore.Tests.Features", "{A493E5AD-9046-47F3-87A0-0D3AC7EF8699}"
Expand Down Expand Up @@ -474,16 +476,37 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Examples.OrchardCoreThemes.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.ResourceManagement.Core", "src\OrchardCore\OrchardCore.ResourceManagement.Core\OrchardCore.ResourceManagement.Core.csproj", "{25C50837-551F-433C-9CED-DD0732523D3D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".github", ".github", "{59C52CE8-CE78-4502-8C19-34EC63918BE2}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.FileStorage.AmazonS3", "src\OrchardCore\OrchardCore.FileStorage.AmazonS3\OrchardCore.FileStorage.AmazonS3.csproj", "{38F43FA0-5BA8-4D6B-8F66-C708D590EF76}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Media.AmazonS3", "src\OrchardCore.Modules\OrchardCore.Media.AmazonS3\OrchardCore.Media.AmazonS3.csproj", "{FF1C550C-6D30-499A-AF11-68DE7C8B6869}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.ArchiveLater", "src\OrchardCore.Modules\OrchardCore.ArchiveLater\OrchardCore.ArchiveLater.csproj", "{190C4BEB-C506-4F7F-BDCA-93F3C1C221BC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OrchardCore.Features.Core", "src\OrchardCore\OrchardCore.Features.Core\OrchardCore.Features.Core.csproj", "{122EC0DA-A593-4038-BD21-2D4A7061F348}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Features.Core", "src\OrchardCore\OrchardCore.Features.Core\OrchardCore.Features.Core.csproj", "{122EC0DA-A593-4038-BD21-2D4A7061F348}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Search", "src\OrchardCore.Modules\OrchardCore.Search\OrchardCore.Search.csproj", "{7BDF280B-70B7-4AFC-A6F7-B5759DCA2A2C}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{01A2BBC1-B9C1-4DD1-825C-A63B6D40F91D}"
ProjectSection(SolutionItems) = preProject
.github\workflows\assets_validation.yml = .github\workflows\assets_validation.yml
.github\workflows\functional_all_db.yml = .github\workflows\functional_all_db.yml
.github\workflows\mac_unit_test_ci.yml = .github\workflows\mac_unit_test_ci.yml
.github\workflows\preview_ci.yml = .github\workflows\preview_ci.yml
.github\workflows\pr_ci.yml = .github\workflows\pr_ci.yml
.github\workflows\release_ci.yml = .github\workflows\release_ci.yml
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "actions", "actions", "{2FF93CCD-E4DF-4086-950B-0F7484C88906}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ui-tests", "ui-tests", "{0B2B9EBE-C008-42A0-9CC0-37727DD8ED0C}"
ProjectSection(SolutionItems) = preProject
.github\actions\ui-tests\action.yml = .github\actions\ui-tests\action.yml
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OrchardCore.Tests.UI.Mvc", "test\OrchardCore.Tests.UI.Mvc\OrchardCore.Tests.UI.Mvc.csproj", "{BC3553BF-B9C9-4BE9-B09B-5F69524A44AA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -1218,6 +1241,10 @@ Global
{FE8011DE-D917-4F74-9955-238B2BBA9165}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FE8011DE-D917-4F74-9955-238B2BBA9165}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FE8011DE-D917-4F74-9955-238B2BBA9165}.Release|Any CPU.Build.0 = Release|Any CPU
{2FADB5D9-E229-4689-A040-12EEE1876285}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2FADB5D9-E229-4689-A040-12EEE1876285}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2FADB5D9-E229-4689-A040-12EEE1876285}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2FADB5D9-E229-4689-A040-12EEE1876285}.Release|Any CPU.Build.0 = Release|Any CPU
{A49A2A81-B04C-4240-852A-80A4EEAD3CDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A49A2A81-B04C-4240-852A-80A4EEAD3CDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C058B5EE-2370-4240-B0AE-0D1C8A37CF41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -1272,10 +1299,6 @@ Global
{FF1C550C-6D30-499A-AF11-68DE7C8B6869}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FF1C550C-6D30-499A-AF11-68DE7C8B6869}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FF1C550C-6D30-499A-AF11-68DE7C8B6869}.Release|Any CPU.Build.0 = Release|Any CPU
{A6563050-EE6D-4E7C-81AA-C383DB3ED124}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A6563050-EE6D-4E7C-81AA-C383DB3ED124}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A6563050-EE6D-4E7C-81AA-C383DB3ED124}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A6563050-EE6D-4E7C-81AA-C383DB3ED124}.Release|Any CPU.Build.0 = Release|Any CPU
{190C4BEB-C506-4F7F-BDCA-93F3C1C221BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{190C4BEB-C506-4F7F-BDCA-93F3C1C221BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{190C4BEB-C506-4F7F-BDCA-93F3C1C221BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -1288,7 +1311,10 @@ Global
{7BDF280B-70B7-4AFC-A6F7-B5759DCA2A2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7BDF280B-70B7-4AFC-A6F7-B5759DCA2A2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7BDF280B-70B7-4AFC-A6F7-B5759DCA2A2C}.Release|Any CPU.Build.0 = Release|Any CPU

{BC3553BF-B9C9-4BE9-B09B-5F69524A44AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BC3553BF-B9C9-4BE9-B09B-5F69524A44AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BC3553BF-B9C9-4BE9-B09B-5F69524A44AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BC3553BF-B9C9-4BE9-B09B-5F69524A44AA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -1493,6 +1519,7 @@ Global
{7F31D1A5-2B6F-448A-9337-482F876B85EF} = {F23AC6C2-DE44-4699-999D-3C478EF3D691}
{B02C00A7-33C2-4FEE-9D0F-B14C349ADB68} = {A066395F-6F73-45DC-B5A6-B4E306110DCE}
{FE8011DE-D917-4F74-9955-238B2BBA9165} = {B8D16C60-99B4-43D5-A3AD-4CD89AF39B25}
{2FADB5D9-E229-4689-A040-12EEE1876285} = {B8D16C60-99B4-43D5-A3AD-4CD89AF39B25}
{61436BAE-FB36-4ADA-8E5D-EE64C4E04522} = {B8D16C60-99B4-43D5-A3AD-4CD89AF39B25}
{A493E5AD-9046-47F3-87A0-0D3AC7EF8699} = {B8D16C60-99B4-43D5-A3AD-4CD89AF39B25}
{A49A2A81-B04C-4240-852A-80A4EEAD3CDA} = {72E15FB1-45AB-46CB-B332-40FDFDD2B272}
Expand All @@ -1513,7 +1540,10 @@ Global
{190C4BEB-C506-4F7F-BDCA-93F3C1C221BC} = {90030E85-0C4F-456F-B879-443E8A3F220D}
{122EC0DA-A593-4038-BD21-2D4A7061F348} = {F23AC6C2-DE44-4699-999D-3C478EF3D691}
{7BDF280B-70B7-4AFC-A6F7-B5759DCA2A2C} = {90030E85-0C4F-456F-B879-443E8A3F220D}

{01A2BBC1-B9C1-4DD1-825C-A63B6D40F91D} = {59C52CE8-CE78-4502-8C19-34EC63918BE2}
{2FF93CCD-E4DF-4086-950B-0F7484C88906} = {59C52CE8-CE78-4502-8C19-34EC63918BE2}
{0B2B9EBE-C008-42A0-9CC0-37727DD8ED0C} = {2FF93CCD-E4DF-4086-950B-0F7484C88906}
{BC3553BF-B9C9-4BE9-B09B-5F69524A44AA} = {B8D16C60-99B4-43D5-A3AD-4CD89AF39B25}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {46A1D25A-78D1-4476-9CBF-25B75E296341}
Expand Down
3 changes: 3 additions & 0 deletions src/OrchardCore.Build/Dependencies.props
Expand Up @@ -26,6 +26,9 @@
<PackageManagement Include="GraphQL.SystemTextJson" Version="4.8.0" />
<PackageManagement Include="Jint" Version="3.0.0-beta-2043" />
<PackageManagement Include="HtmlSanitizer" Version="8.0.601" />
<PackageManagement Include="Lombiq.Tests.UI" Version="4.0.2-alpha.13.ocore-75" />
<PackageManagement Include="Lombiq.Tests.UI.AppExtensions" Version="4.0.2-alpha.13.ocore-75" />
<PackageManagement Include="Lombiq.Tests.UI.Shortcuts" Version="4.0.2-alpha.13.ocore-75" />
<PackageManagement Include="Lorem.Universal.NET" Version="4.0.80" />
<PackageManagement Include="Lucene.Net" Version="4.8.0-beta00016" />
<PackageManagement Include="Lucene.Net.Analysis.Common" Version="4.8.0-beta00016" />
Expand Down
2 changes: 2 additions & 0 deletions src/OrchardCore.Cms.Web/NLog.config
Expand Up @@ -15,6 +15,8 @@
<target xsi:type="File" name="file"
fileName="${var:configDir}/App_Data/logs/orchard-log-${shortdate}.log"
layout="${longdate}|${orchard-tenant-name}|${aspnet-traceidentifier}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|${message} ${exception:format=ToString,StackTrace}"
keepFileOpen="false"
concurrentWrites="false"
Comment on lines +18 to +19
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be reverted once we have a better approach, see Lombiq/Open-Source-Orchard-Core-Extensions#264 (comment).

/>

<!-- console target -->
Expand Down
6 changes: 5 additions & 1 deletion src/OrchardCore.Cms.Web/OrchardCore.Cms.Web.csproj
Expand Up @@ -21,7 +21,7 @@

<!-- Watcher include and excludes -->
<ItemGroup>
<Watch Include="**\*.cs" Exclude="Recipes\**;Assets\**;node_modules\**\*;**\*.js.map;obj\**\*;bin\**\*" />
<Watch Include="**\*.cs" Exclude="Recipes\**;Assets\**;node_modules\**\*;**\*.js.map;obj\**\*;bin\**\*" />
</ItemGroup>

<ItemGroup>
Expand All @@ -43,5 +43,9 @@
<Import Project="..\OrchardCore\OrchardCore.Application.Targets\OrchardCore.Application.Targets.targets" />

<Import Project="..\OrchardCore.Build\OrchardCore.Commons.targets" />

<ItemGroup>
<PackageReference Include="Lombiq.Tests.UI.Shortcuts" />
</ItemGroup>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we not build a separate csproj for tests, i.e. OracheCore.Cms.Web.UITests.csproj or something.... rather than adding in stuff to the main csproj for testing?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could, but it would be a complete copy of this one, and then we'd have to maintain two.


</Project>
16 changes: 16 additions & 0 deletions src/OrchardCore.Cms.Web/Program.cs
@@ -1,10 +1,14 @@
using System.Diagnostics.CodeAnalysis;
using OrchardCore.Logging;

var builder = WebApplication.CreateBuilder(args);

builder.Host.UseNLogHost();

var configuration = builder.Configuration;

builder.Services
.AddSingleton(configuration)
.AddOrchardCms()
.AddSetupFeatures("OrchardCore.AutoSetup");

Expand All @@ -20,3 +24,15 @@
app.UseOrchardCore();

app.Run();

[SuppressMessage(
"Design",
"CA1050: Declare types in namespaces",
Justification = "As described here: https://docs.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-6.0.")]
public partial class Program
{
protected Program()
{
// Nothing to do here.
}
}
15 changes: 15 additions & 0 deletions src/OrchardCore.Mvc.Web/Program.cs
@@ -1,6 +1,9 @@
var builder = WebApplication.CreateBuilder(args);

var configuration = builder.Configuration;

builder.Services
.AddSingleton(configuration)
.AddOrchardCore()
.AddMvc();

Expand All @@ -16,3 +19,15 @@
app.UseOrchardCore();

app.Run();

[System.Diagnostics.CodeAnalysis.SuppressMessage(
"Design",
"CA1050: Declare types in namespaces",
Justification = "As described here: https://docs.microsoft.com/en-us/aspnet/core/test/integration-tests?view=aspnetcore-6.0.")]
public partial class Program
{
protected Program()
{
// Nothing to do here.
}
}
Expand Up @@ -10,9 +10,9 @@
</script>
</div>
<div class="col-lg-4 my-3 my-lg-0">
<a class="btn btn-dark btn-social mx-2" href="#!"><i class="fab fa-twitter" aria-hidden="true"></i></a>
<a class="btn btn-dark btn-social mx-2" href="#!"><i class="fab fa-facebook-f" aria-hidden="true"></i></a>
<a class="btn btn-dark btn-social mx-2" href="#!"><i class="fab fa-linkedin-in" aria-hidden="true"></i></a>
<a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Twitter profile"><i class="fab fa-twitter" aria-hidden="true"></i></a>
<a class="btn btn-dark btn-social mx-2" href="#!" aria-label="Facebook profile"><i class="fab fa-facebook-f" aria-hidden="true"></i></a>
<a class="btn btn-dark btn-social mx-2" href="#!" aria-label="LinkedIn profile"><i class="fab fa-linkedin-in" aria-hidden="true"></i></a>
</div>
<div class="col-lg-4 text-lg-end">
<a class="link-dark text-decoration-none me-3" href="#!">Privacy Policy</a>
Expand Down
Expand Up @@ -118,17 +118,17 @@
<h4>{{ member.DisplayText }}</h4>
<p class="text-muted">{{ member.TeamMember.Occupation.Text }}</p>
{% if member.TeamMember.Twitter.Text.size > 0 %}
<a class="btn btn-dark btn-social mx-2" href="https://www.twitter.com/{{ member.TeamMember.Twitter.Text }}">
<a class="btn btn-dark btn-social mx-2" href="https://www.twitter.com/{{ member.TeamMember.Twitter.Text }}" aria-label="Twitter profile">
<i class="fab fa-twitter"></i>
</a>
{% endif %}
{% if member.TeamMember.Facebook.Text.size > 0 %}
<a class="btn btn-dark btn-social mx-2" href="https://www.facebook.com/{{ member.TeamMember.Facebook.Text }}">
<a class="btn btn-dark btn-social mx-2" href="https://www.facebook.com/{{ member.TeamMember.Facebook.Text }}" aria-label="Facebook profile">
<i class="fab fa-facebook"></i>
</a>
{% endif %}
{% if member.TeamMember.LinkedIn.Text.size > 0 %}
<a class="btn btn-dark btn-social mx-2" href="https://www.linkedin.com/in/{{ member.TeamMember.LinkedIn.Text }}">
<a class="btn btn-dark btn-social mx-2" href="https://www.linkedin.com/in/{{ member.TeamMember.LinkedIn.Text }}" aria-label="LinkedIn profile">
<i class="fab fa-linkedin"></i>
</a>
{% endif %}
Expand All @@ -152,8 +152,8 @@
<div class="row align-items-center">
{% for client in Model.ContentItem.Content.Clients.ContentItems %}
<div class="col-md-3 col-sm-6 my-3">
<a href="{{ client.Client.Url.Text }}">
<img class="img-fluid img-brand d-block mx-auto" src="{{ client.Client.Logo.Paths.first | asset_url }}" alt="">
<a href="{{ client.Client.Url.Text }}" aria-label="{{ client.DisplayText }}">
<img class="img-fluid img-brand d-block mx-auto" src="{{ client.Client.Logo.Paths.first | asset_url }}" alt="{{ client.DisplayText }} logo">
</a>
</div>
{% endfor %}
Expand Down