From fb5f07d54ac5b8b1a63c0bd33452bb2d937e1709 Mon Sep 17 00:00:00 2001 From: Gergely Hegedus Date: Thu, 21 Apr 2022 15:20:09 +0300 Subject: [PATCH] Issue#4 CI Jobs to run tests on schedule and on Pull Requests --- .github/workflows/pull-request-jobs.yml | 33 +++++++++++++++++++ .github/workflows/up-to-date-jobs.yml | 32 ++++++++++++++++++ .../TikTokDownloadRemoteSourceUpToDateTest.kt | 5 +-- 3 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/pull-request-jobs.yml create mode 100644 .github/workflows/up-to-date-jobs.yml rename app/src/test/java/org/fnives/{tiktokdownloader/data/network => uptodate}/TikTokDownloadRemoteSourceUpToDateTest.kt (92%) diff --git a/.github/workflows/pull-request-jobs.yml b/.github/workflows/pull-request-jobs.yml new file mode 100644 index 0000000..4110044 --- /dev/null +++ b/.github/workflows/pull-request-jobs.yml @@ -0,0 +1,33 @@ +name: Verify Pull request is fine + +on: + pull_request: + branches: + - develop + +env: + GITHUB_USERNAME: "fknives" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + run-tests: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Setup Java + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' + - name: Run Unit Tests + run: ./gradlew :app:testDebugUnitTest --tests "org.fnives.tiktokdownloader.*" + - name: Upload Test Results + uses: actions/upload-artifact@v2 + if: always() + with: + name: Test Results + path: ./**/build/reports/tests/**/index.html + retention-days: 1 diff --git a/.github/workflows/up-to-date-jobs.yml b/.github/workflows/up-to-date-jobs.yml new file mode 100644 index 0000000..1ec0691 --- /dev/null +++ b/.github/workflows/up-to-date-jobs.yml @@ -0,0 +1,32 @@ +name: Verify Download Method still works + +on: + schedule: + - cron: '0 20 21 * *' + +env: + GITHUB_USERNAME: "fknives" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + run-up-to-date-tests: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Setup Java + uses: actions/setup-java@v2 + with: + distribution: 'adopt' + java-version: '11' + - name: Run Up-To-Date Tests + run: ./gradlew :app:testDebugUnitTest --tests "org.fnives.uptodate.*" + - name: Upload Test Results + uses: actions/upload-artifact@v2 + if: always() + with: + name: Test Results + path: ./**/build/reports/tests/**/index.html + retention-days: 1 diff --git a/app/src/test/java/org/fnives/tiktokdownloader/data/network/TikTokDownloadRemoteSourceUpToDateTest.kt b/app/src/test/java/org/fnives/uptodate/TikTokDownloadRemoteSourceUpToDateTest.kt similarity index 92% rename from app/src/test/java/org/fnives/tiktokdownloader/data/network/TikTokDownloadRemoteSourceUpToDateTest.kt rename to app/src/test/java/org/fnives/uptodate/TikTokDownloadRemoteSourceUpToDateTest.kt index 3a2a03f..6b5689c 100644 --- a/app/src/test/java/org/fnives/tiktokdownloader/data/network/TikTokDownloadRemoteSourceUpToDateTest.kt +++ b/app/src/test/java/org/fnives/uptodate/TikTokDownloadRemoteSourceUpToDateTest.kt @@ -1,8 +1,9 @@ -package org.fnives.tiktokdownloader.data.network +package org.fnives.uptodate import kotlinx.coroutines.runBlocking import org.apache.commons.io.FileUtils import org.fnives.tiktokdownloader.data.model.VideoInPending +import org.fnives.tiktokdownloader.data.network.TikTokDownloadRemoteSource import org.fnives.tiktokdownloader.di.module.NetworkModule import org.fnives.tiktokdownloader.helper.getResourceFile import org.junit.jupiter.api.Assertions @@ -28,7 +29,7 @@ class TikTokDownloadRemoteSourceUpToDateTest { sut = NetworkModule(1).tikTokDownloadRemoteSource } - @Disabled("Can trigger captcha, so only run it separately") + //@Disabled("Can trigger captcha, so only run it separately") @Timeout(value = 120) @Test fun GIVEN_actualVideo_WHEN_downloading_THEN_the_file_matching_with_the_previously_loaded_video() {