mirror of
https://github.com/Alfresco/acs-community-packaging.git
synced 2025-09-10 14:12:09 +00:00
ACS-9420 pre-commit checks and reformat code (#1650)
* ACS-9420 Reformat code and add pre-commit checks to CI * Trigger [reformat code] * Apply Pre-Commit code formatting --------- Co-authored-by: alfresco-build <alfresco-build@users.noreply.github.com>
This commit is contained in:
40
.github/workflows/ci.yml
vendored
40
.github/workflows/ci.yml
vendored
@@ -33,6 +33,18 @@ env:
|
|||||||
DEVELOPMENT_VERSION: 25.2.0-A2-SNAPSHOT
|
DEVELOPMENT_VERSION: 25.2.0-A2-SNAPSHOT
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
precommit:
|
||||||
|
name: Pre-Commit checks
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: >
|
||||||
|
!contains(github.event.head_commit.message, '[skip tests]')
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.16.0
|
||||||
|
|
||||||
tas_tests:
|
tas_tests:
|
||||||
name: ${{ matrix.testSuite }} TAS tests
|
name: ${{ matrix.testSuite }} TAS tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -79,8 +91,8 @@ jobs:
|
|||||||
compose-file: docker-compose-minimal.yml
|
compose-file: docker-compose-minimal.yml
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
- name: "Init"
|
- name: "Init"
|
||||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||||
run: |
|
run: |
|
||||||
@@ -101,8 +113,8 @@ jobs:
|
|||||||
if: "!contains(github.event.head_commit.message, '[skip tests]')"
|
if: "!contains(github.event.head_commit.message, '[skip tests]')"
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
- name: "Init"
|
- name: "Init"
|
||||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||||
run: |
|
run: |
|
||||||
@@ -125,9 +137,9 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
- name: "Build"
|
- name: "Build"
|
||||||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||||
run: |
|
run: |
|
||||||
@@ -163,9 +175,9 @@ jobs:
|
|||||||
- 5000:5000
|
- 5000:5000
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
- name: "Init"
|
- name: "Init"
|
||||||
@@ -197,9 +209,9 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v3
|
uses: docker/setup-qemu-action@v3
|
||||||
- name: "Init"
|
- name: "Init"
|
||||||
@@ -238,7 +250,7 @@ jobs:
|
|||||||
github.event_name != 'pull_request'
|
github.event_name != 'pull_request'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
- name: "Configure AWS credentials"
|
- name: "Configure AWS credentials"
|
||||||
uses: aws-actions/configure-aws-credentials@v4
|
uses: aws-actions/configure-aws-credentials@v4
|
||||||
with:
|
with:
|
||||||
|
39
.github/workflows/precommit_formatter.yml
vendored
Normal file
39
.github/workflows/precommit_formatter.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
name: Pre-Commit formatter
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- precommit/**
|
||||||
|
|
||||||
|
env:
|
||||||
|
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
||||||
|
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
format-code:
|
||||||
|
name: "Reformat code"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: contains(github.event.head_commit.message, '[reformat code]')
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/free-hosted-runner-disk-space@v8.16.0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
|
- name: Set up Python ${{ inputs.python-version }}
|
||||||
|
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
|
||||||
|
with:
|
||||||
|
python-version: "3.9"
|
||||||
|
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
|
||||||
|
continue-on-error: true
|
||||||
|
with:
|
||||||
|
extra_args: --all-files
|
||||||
|
- name: Update secrets baseline
|
||||||
|
run: pip install detect-secrets && detect-secrets scan --baseline .secrets.baseline
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/git-commit-changes@v8.16.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.BOT_GITHUB_USERNAME }}
|
||||||
|
add-options: -u
|
||||||
|
commit-message: "Apply Pre-Commit code formatting"
|
||||||
|
skip-if-no-changes: true
|
||||||
|
- name: Push changes
|
||||||
|
run: git push
|
14
.pre-commit-config.yaml
Normal file
14
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
repos:
|
||||||
|
- repo: https://github.com/Yelp/detect-secrets
|
||||||
|
rev: v1.5.0
|
||||||
|
hooks:
|
||||||
|
- id: detect-secrets
|
||||||
|
args: ["--baseline", ".secrets.baseline"]
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: check-format-and-headers
|
||||||
|
name: Check format and headers and fix if necessary
|
||||||
|
entry: ./scripts/hooks/check-format-and-headers.sh
|
||||||
|
language: script
|
||||||
|
files: ".*.java"
|
||||||
|
pass_filenames: false
|
292
.secrets.baseline
Normal file
292
.secrets.baseline
Normal file
@@ -0,0 +1,292 @@
|
|||||||
|
{
|
||||||
|
"version": "1.5.0",
|
||||||
|
"plugins_used": [
|
||||||
|
{
|
||||||
|
"name": "ArtifactoryDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AWSKeyDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "AzureStorageKeyDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Base64HighEntropyString",
|
||||||
|
"limit": 4.5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BasicAuthDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "CloudantDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "DiscordBotTokenDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "GitHubTokenDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "GitLabTokenDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "HexHighEntropyString",
|
||||||
|
"limit": 3.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IbmCloudIamDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IbmCosHmacDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IPPublicDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "JwtTokenDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "KeywordDetector",
|
||||||
|
"keyword_exclude": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "MailchimpDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NpmDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "OpenAIDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PrivateKeyDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "PypiTokenDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SendGridDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SlackDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SoftlayerDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SquareOAuthDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "StripeDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TelegramBotTokenDetector"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TwilioKeyDetector"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filters_used": [
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.allowlist.is_line_allowlisted"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.common.is_baseline_file",
|
||||||
|
"filename": ".secrets.baseline"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.common.is_ignored_due_to_verification_policies",
|
||||||
|
"min_level": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_indirect_reference"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_likely_id_string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_lock_file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_not_alphanumeric_string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_potential_uuid"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_prefixed_with_dollar_sign"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_sequential_string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_swagger_file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "detect_secrets.filters.heuristic.is_templated_secret"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"results": {
|
||||||
|
"dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco-global.properties": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "dev/dev-tomcat/src/main/tomcat/shared/classes/alfresco-global.properties",
|
||||||
|
"hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 8
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dev/dev-tomcat/src/main/tomcat/tomcat-users.xml": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "dev/dev-tomcat/src/main/tomcat/tomcat-users.xml",
|
||||||
|
"hashed_secret": "2be88ca4242c76e8253ac62474851065032d6833",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 19
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dev/docker-compose.yml": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "dev/docker-compose.yml",
|
||||||
|
"hashed_secret": "d1ebbc78705ad98aa2c8fb357d2e30c8f001673a",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 41
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tests/environment/docker-compose-minimal+transforms.yml": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/environment/docker-compose-minimal+transforms.yml",
|
||||||
|
"hashed_secret": "9e3d103f7aa5f4f778cf752087dfceeba15d4fef",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/environment/docker-compose-minimal+transforms.yml",
|
||||||
|
"hashed_secret": "92cda941553ea9ba9b39716c79a46b08a740613c",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 23
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/environment/docker-compose-minimal+transforms.yml",
|
||||||
|
"hashed_secret": "d1ebbc78705ad98aa2c8fb357d2e30c8f001673a",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 76
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tests/environment/docker-compose-minimal.yml": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/environment/docker-compose-minimal.yml",
|
||||||
|
"hashed_secret": "9e3d103f7aa5f4f778cf752087dfceeba15d4fef",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 13
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/environment/docker-compose-minimal.yml",
|
||||||
|
"hashed_secret": "92cda941553ea9ba9b39716c79a46b08a740613c",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 23
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/environment/docker-compose-minimal.yml",
|
||||||
|
"hashed_secret": "d1ebbc78705ad98aa2c8fb357d2e30c8f001673a",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 79
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tests/tas-cmis/src/test/resources/default.properties": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-cmis/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-cmis/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 84
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tests/tas-email/src/test/resources/default.properties": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-email/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-email/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "43b7ed74f99cf021109506832a48aa75435b817d",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 35
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-email/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 97
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tests/tas-integration/src/test/resources/default.properties": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-integration/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-integration/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 118
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tests/tas-restapi/src/test/resources/default.properties": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-restapi/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 21
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-restapi/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 87
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tests/tas-webdav/src/test/resources/default.properties": [
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-webdav/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "d033e22ae348aeb5660fc2140aec35850c4da997",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "Secret Keyword",
|
||||||
|
"filename": "tests/tas-webdav/src/test/resources/default.properties",
|
||||||
|
"hashed_secret": "a4a747bd4ba5e3a5049cad116881867c71fb625b",
|
||||||
|
"is_verified": false,
|
||||||
|
"line_number": 73
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"generated_at": "2025-03-18T15:20:48Z"
|
||||||
|
}
|
9
pom.xml
9
pom.xml
@@ -247,4 +247,13 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.diffplug.spotless</groupId>
|
||||||
|
<artifactId>spotless-maven-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
</project>
|
</project>
|
||||||
|
7
scripts/hooks/check-format-and-headers.sh
Executable file
7
scripts/hooks/check-format-and-headers.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set +x
|
||||||
|
|
||||||
|
mvn spotless:apply validate -DlicenseUpdateHeaders=true -Pags,all-tas-tests > /dev/null || true
|
||||||
|
|
||||||
|
set -x
|
@@ -1,134 +1,130 @@
|
|||||||
/*
|
/*
|
||||||
* #%L
|
* #%L
|
||||||
* Alfresco Remote API
|
* Alfresco Remote API
|
||||||
* %%
|
* %%
|
||||||
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
* Copyright (C) 2005 - 2021 Alfresco Software Limited
|
||||||
* %%
|
* %%
|
||||||
* This file is part of the Alfresco software.
|
* This file is part of the Alfresco software.
|
||||||
* If the software was purchased under a paid Alfresco license, the terms of
|
* If the software was purchased under a paid Alfresco license, the terms of
|
||||||
* the paid license agreement will prevail. Otherwise, the software is
|
* the paid license agreement will prevail. Otherwise, the software is
|
||||||
* provided under the following open source license terms:
|
* provided under the following open source license terms:
|
||||||
*
|
*
|
||||||
* Alfresco is free software: you can redistribute it and/or modify
|
* Alfresco is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Lesser General Public License as published by
|
* it under the terms of the GNU Lesser General Public License as published by
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* Alfresco is distributed in the hope that it will be useful,
|
* Alfresco is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU Lesser General Public License for more details.
|
* GNU Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* #L%
|
* #L%
|
||||||
*/
|
*/
|
||||||
package org.alfresco.distribution;
|
package org.alfresco.distribution;
|
||||||
|
|
||||||
import org.testng.annotations.Test;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
|
import java.io.File;
|
||||||
import java.io.File;
|
import java.io.FileReader;
|
||||||
import java.io.FileReader;
|
import java.io.FilenameFilter;
|
||||||
import java.io.FilenameFilter;
|
import java.nio.file.Paths;
|
||||||
import java.nio.file.Paths;
|
import java.util.ArrayList;
|
||||||
import java.util.ArrayList;
|
import java.util.Enumeration;
|
||||||
import java.util.Enumeration;
|
import java.util.List;
|
||||||
import java.util.List;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipFile;
|
||||||
import java.util.zip.ZipFile;
|
|
||||||
|
import org.apache.maven.model.Model;
|
||||||
import org.apache.maven.model.Model;
|
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
|
||||||
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
public class CheckDistributionZipContents
|
public class CheckDistributionZipContents
|
||||||
{
|
{
|
||||||
public static final String ACS_PREFIX = "alfresco-content-services-community-distribution";
|
public static final String ACS_PREFIX = "alfresco-content-services-community-distribution";
|
||||||
public static final String ACS_DIR_NAME = "distribution";
|
public static final String ACS_DIR_NAME = "distribution";
|
||||||
public static final String AGS_PREFIX = "alfresco-governance-services-community";
|
public static final String AGS_PREFIX = "alfresco-governance-services-community";
|
||||||
public static final String AGS_DIR_NAME = "distribution-ags";
|
public static final String AGS_DIR_NAME = "distribution-ags";
|
||||||
public static final String FORMAT = ".zip";
|
public static final String FORMAT = ".zip";
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testAcsDistributionZipContents() throws Exception
|
public void testAcsDistributionZipContents() throws Exception
|
||||||
{
|
{
|
||||||
File filesList[] = getDistributionZip(ACS_DIR_NAME, ACS_PREFIX);
|
File filesList[] = getDistributionZip(ACS_DIR_NAME, ACS_PREFIX);
|
||||||
for (File file : filesList)
|
for (File file : filesList)
|
||||||
{
|
{
|
||||||
List<String> zipEntries = getZipEntries(file.getAbsolutePath());
|
List<String> zipEntries = getZipEntries(file.getAbsolutePath());
|
||||||
assertThat(zipEntries).
|
assertThat(zipEntries).contains(
|
||||||
contains(
|
"keystore/metadata-keystore/keystore-passwords.properties",
|
||||||
"keystore/metadata-keystore/keystore-passwords.properties",
|
"keystore/metadata-keystore/keystore",
|
||||||
"keystore/metadata-keystore/keystore",
|
"keystore/generate_keystores.bat",
|
||||||
"keystore/generate_keystores.bat",
|
"keystore/generate_keystores.sh",
|
||||||
"keystore/generate_keystores.sh",
|
"bin/alfresco-mmt.jar",
|
||||||
"bin/alfresco-mmt.jar",
|
"bin/apply_amps.bat",
|
||||||
"bin/apply_amps.bat",
|
"bin/apply_amps.sh",
|
||||||
"bin/apply_amps.sh",
|
"web-server/webapps/ROOT.war",
|
||||||
"web-server/webapps/ROOT.war",
|
"web-server/webapps/alfresco.war",
|
||||||
"web-server/webapps/alfresco.war",
|
"web-server/webapps/share.war",
|
||||||
"web-server/webapps/share.war",
|
"web-server/webapps/_vti_bin.war",
|
||||||
"web-server/webapps/_vti_bin.war",
|
"web-server/conf/Catalina/localhost/alfresco.xml",
|
||||||
"web-server/conf/Catalina/localhost/alfresco.xml",
|
"web-server/shared/classes/alfresco/web-extension/share-config-custom.xml");
|
||||||
"web-server/shared/classes/alfresco/web-extension/share-config-custom.xml"
|
}
|
||||||
);
|
}
|
||||||
}
|
|
||||||
}
|
@Test
|
||||||
|
public void testAgsDistributionZipContents() throws Exception
|
||||||
@Test
|
{
|
||||||
public void testAgsDistributionZipContents() throws Exception
|
String repoVersion = getPomValues().getProperties().getProperty("dependency.alfresco-community-repo.version");
|
||||||
{
|
String shareVersion = getPomValues().getProperties().getProperty("dependency.alfresco-community-share.version");
|
||||||
String repoVersion = getPomValues().getProperties().getProperty("dependency.alfresco-community-repo.version");
|
File filesList[] = getDistributionZip(AGS_DIR_NAME, AGS_PREFIX);
|
||||||
String shareVersion = getPomValues().getProperties().getProperty("dependency.alfresco-community-share.version");
|
for (File file : filesList)
|
||||||
File filesList[] = getDistributionZip(AGS_DIR_NAME, AGS_PREFIX);
|
{
|
||||||
for (File file : filesList)
|
List<String> zipEntries = getZipEntries(file.getAbsolutePath());
|
||||||
{
|
assertThat(zipEntries).contains(
|
||||||
List<String> zipEntries = getZipEntries(file.getAbsolutePath());
|
"alfresco-governance-services-community-repo-" + repoVersion + ".amp",
|
||||||
assertThat(zipEntries).
|
"alfresco-governance-services-community-rest-api-explorer-" + repoVersion + ".war",
|
||||||
contains(
|
"alfresco-governance-services-community-share-" + shareVersion + ".amp");
|
||||||
"alfresco-governance-services-community-repo-" + repoVersion + ".amp",
|
}
|
||||||
"alfresco-governance-services-community-rest-api-explorer-" + repoVersion + ".war",
|
}
|
||||||
"alfresco-governance-services-community-share-" + shareVersion + ".amp"
|
|
||||||
);
|
private File[] getDistributionZip(String dirName, String prefix) throws Exception
|
||||||
}
|
{
|
||||||
}
|
String resourcePath = Paths.get("").toAbsolutePath().getParent().getParent().toString() + "/" + dirName + "/" + "target" + "/";
|
||||||
|
File distributionZip = new File(resourcePath);
|
||||||
private File[] getDistributionZip(String dirName, String prefix) throws Exception
|
FilenameFilter zipFileFilter = (dir, name) -> {
|
||||||
{
|
if (name.startsWith(prefix) && name.endsWith(FORMAT))
|
||||||
String resourcePath = Paths.get("").toAbsolutePath().getParent().getParent().toString() + "/" + dirName + "/" + "target" + "/";
|
{
|
||||||
File distributionZip = new File(resourcePath);
|
return true;
|
||||||
FilenameFilter zipFileFilter = (dir, name) -> {
|
}
|
||||||
if (name.startsWith(prefix) && name.endsWith(FORMAT))
|
else
|
||||||
{
|
{
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
};
|
||||||
{
|
|
||||||
return false;
|
return distributionZip.listFiles(zipFileFilter);
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
private List<String> getZipEntries(String filePath) throws Exception
|
||||||
return distributionZip.listFiles(zipFileFilter);
|
{
|
||||||
}
|
List<String> zipEntries = new ArrayList<>();
|
||||||
|
ZipFile zipFile = new ZipFile(new File(filePath));
|
||||||
private List<String> getZipEntries(String filePath) throws Exception
|
Enumeration<? extends ZipEntry> entries = zipFile.entries();
|
||||||
{
|
while (entries.hasMoreElements())
|
||||||
List<String> zipEntries = new ArrayList<>();
|
{
|
||||||
ZipFile zipFile = new ZipFile(new File(filePath));
|
ZipEntry entry = entries.nextElement();
|
||||||
Enumeration<? extends ZipEntry> entries = zipFile.entries();
|
zipEntries.add(entry.toString());
|
||||||
while (entries.hasMoreElements())
|
}
|
||||||
{
|
return zipEntries;
|
||||||
ZipEntry entry = entries.nextElement();
|
}
|
||||||
zipEntries.add(entry.toString());
|
|
||||||
}
|
private Model getPomValues() throws Exception
|
||||||
return zipEntries;
|
{
|
||||||
}
|
String parentPom = Paths.get("").toAbsolutePath().getParent().getParent().toString() + "/pom.xml";
|
||||||
|
MavenXpp3Reader reader = new MavenXpp3Reader();
|
||||||
private Model getPomValues() throws Exception
|
Model model = reader.read(new FileReader(parentPom));
|
||||||
{
|
return model;
|
||||||
String parentPom = Paths.get("").toAbsolutePath().getParent().getParent().toString() + "/pom.xml";
|
}
|
||||||
MavenXpp3Reader reader = new MavenXpp3Reader();
|
}
|
||||||
Model model = reader.read(new FileReader(parentPom));
|
|
||||||
return model;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@@ -1,30 +1,31 @@
|
|||||||
package org.alfresco.email.imap;
|
package org.alfresco.email.imap;
|
||||||
|
|
||||||
import org.alfresco.email.EmailTest;
|
import org.testng.annotations.BeforeClass;
|
||||||
import org.alfresco.utility.model.*;
|
import org.testng.annotations.Test;
|
||||||
import org.alfresco.utility.testrail.ExecutionType;
|
|
||||||
import org.alfresco.utility.testrail.annotation.TestRail;
|
import org.alfresco.email.EmailTest;
|
||||||
import org.testng.annotations.BeforeClass;
|
import org.alfresco.utility.model.*;
|
||||||
import org.testng.annotations.Test;
|
import org.alfresco.utility.testrail.ExecutionType;
|
||||||
|
import org.alfresco.utility.testrail.annotation.TestRail;
|
||||||
public class ImapReadMessagesAcsTests extends EmailTest
|
|
||||||
{
|
public class ImapReadMessagesAcsTests extends EmailTest
|
||||||
@BeforeClass(alwaysRun=true)
|
{
|
||||||
public void dataPreparation() throws Exception
|
@BeforeClass(alwaysRun = true)
|
||||||
{
|
public void dataPreparation() throws Exception
|
||||||
testUser = dataUser.createRandomTestUser();
|
{
|
||||||
testSite = dataSite.usingUser(testUser).createIMAPSite();
|
testUser = dataUser.createRandomTestUser();
|
||||||
adminUser = dataUser.getAdminUser();
|
testSite = dataSite.usingUser(testUser).createIMAPSite();
|
||||||
adminSite = dataSite.usingAdmin().createIMAPSite();
|
adminUser = dataUser.getAdminUser();
|
||||||
}
|
adminSite = dataSite.usingAdmin().createIMAPSite();
|
||||||
|
}
|
||||||
@TestRail(section = { TestGroup.PROTOCOLS, TestGroup.IMAP }, executionType = ExecutionType.REGRESSION,
|
|
||||||
description = "Verify that site manager can see wiki pages via IMAP")
|
@TestRail(section = {TestGroup.PROTOCOLS, TestGroup.IMAP}, executionType = ExecutionType.REGRESSION,
|
||||||
@Test(groups = { TestGroup.PROTOCOLS, TestGroup.IMAP, TestGroup.CORE })
|
description = "Verify that site manager can see wiki pages via IMAP")
|
||||||
public void siteManagerCanViewWikiPages() throws Exception
|
@Test(groups = {TestGroup.PROTOCOLS, TestGroup.IMAP, TestGroup.CORE})
|
||||||
{
|
public void siteManagerCanViewWikiPages() throws Exception
|
||||||
dataWiki.usingUser(testUser).usingSite(testSite).createRandomWiki();
|
{
|
||||||
/* @Category(IntermittentlyFailingTests.class) ACS-959 Intermittent failure on next line. @Category not supported by TAS tests. */
|
dataWiki.usingUser(testUser).usingSite(testSite).createRandomWiki();
|
||||||
// ACS-2268 comment out: imapProtocol.authenticateUser(testUser).usingSiteWikiContainer(testSite).assertThat().countMessagesIs(1);
|
/* @Category(IntermittentlyFailingTests.class) ACS-959 Intermittent failure on next line. @Category not supported by TAS tests. */
|
||||||
}
|
// ACS-2268 comment out: imapProtocol.authenticateUser(testUser).usingSiteWikiContainer(testSite).assertThat().countMessagesIs(1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user