From 38abc6906c8eed8e287a17b5066cb3cd094fcb05 Mon Sep 17 00:00:00 2001 From: Luis Couto Date: Tue, 23 Jan 2024 15:56:27 +0000 Subject: [PATCH] feat: add github flows --- .github/workflows/build-test.yml | 48 ++++++++++ .github/workflows/metrics.yml | 89 +++++++++++++++++++ .github/workflows/publish.yml | 26 ++++++ Directory.Build.props | 33 +++++++ ...uleset => StyleCopAnalyzersDefault.ruleset | 0 deploy/docker/Dockerfile | 2 +- .../Farfetch.LoadShedding.csproj | 2 + src/stylecop.json => stylecop.json | 0 tests/Directory.Build.props | 8 ++ ...arfetch.LoadShedding.BenchmarkTests.csproj | 4 + .../AdaptativeConcurrencyLimiterTests.cs | 2 +- tests/integration-tests/Traits.cs | 3 + ...fetch.LoadShedding.PerformanceTests.csproj | 4 + .../LoadSheddingConfiguratorTests.cs | 2 +- ...tativeConcurrencyLimiterMiddlewareTests.cs | 2 +- .../Resolvers/DefaultPriorityResolverTests.cs | 2 +- .../EndpointPriorityResolverTests.cs | 2 +- .../HttpHeaderPriorityResolverTests.cs | 2 +- .../Builders/AdaptativeLimiterBuilderTests.cs | 2 +- .../GradientLimitCalculatorTests.cs | 2 +- .../SquareRootQueueCalculatorTests.cs | 2 +- .../Configurations/ConcurrencyContextTests.cs | 2 +- .../Configurations/ConcurrencyOptionsTests.cs | 2 +- .../AdaptativeConcurrencyLimiterTests.cs | 2 +- .../Measures/RTTMeasuresTests.cs | 2 +- .../Tasks/TaskItemTests.cs | 2 +- .../Tasks/TaskManagerTests.cs | 2 +- .../Tasks/TaskQueueTests.cs | 2 +- tests/unit-tests/Traits.cs | 3 + 29 files changed, 237 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/build-test.yml create mode 100644 .github/workflows/metrics.yml create mode 100644 .github/workflows/publish.yml create mode 100644 Directory.Build.props rename src/StyleCopAnalyzersDefault.ruleset => StyleCopAnalyzersDefault.ruleset (100%) rename src/stylecop.json => stylecop.json (100%) create mode 100644 tests/Directory.Build.props create mode 100644 tests/integration-tests/Traits.cs create mode 100644 tests/unit-tests/Traits.cs diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 0000000..53a0487 --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,48 @@ +name: Build and Test + +on: + pull_request: + + push: + branches: [ main ] + +jobs: + build-test: + + runs-on: ubuntu-latest + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: GITHUB CONTEXT + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + + - name: Commit Lint + uses: wagoid/commitlint-github-action@master + with: + failOnWarnings: true + + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: '8.0.x' + + - name: Build Framework + run: | + dotnet build LoadShedding.sln -c Release + + - name: UnitTests + run: | + dotnet test LoadShedding.sln --filter Category=Unit -c Release --logger "console;verbosity=detailed" + + - name: IntegrationTests + run: | + dotnet test LoadShedding.sln --filter Category=Integration -c Release --logger "console;verbosity=detailed" + + diff --git a/.github/workflows/metrics.yml b/.github/workflows/metrics.yml new file mode 100644 index 0000000..b602557 --- /dev/null +++ b/.github/workflows/metrics.yml @@ -0,0 +1,89 @@ +name: Monthly Metrics +on: + workflow_dispatch: + inputs: + dates: + required: false + schedule: + - cron: '3 2 1 * *' + +permissions: + issues: write + pull-requests: read + +jobs: + run: + name: Calculate Metrics + runs-on: ubuntu-latest + steps: + + - name: Get dates for last month + id: get-dates + shell: bash + run: | + # Calculate the first day of the previous month + first_day=$(date -d "last month" +%Y-%m-01) + # Calculate the last day of the previous month + last_day=$(date -d "$first_day +1 month -1 day" +%Y-%m-%d) + #Set an environment variable with the date range + echo "$first_day..$last_day" + echo "last_month=$first_day..$last_day" >> "$GITHUB_ENV" + + - name: Use input dates + if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.dates != '' }} + shell: bash + run: | + echo "${{github.event.inputs.dates}}" + echo "last_month=${{github.event.inputs.dates}}" >> "$GITHUB_ENV" + + - name: Run issue-metrics tool for items opened last month + id: opened-metrics + uses: github/issue-metrics@v2 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: 'repo:farfetch/loadshedding created:${{ env.last_month }} -reason:"not planned"' + + - name: Upload for opened items + uses: actions/upload-artifact@v3 + with: + name: items-opened + path: ./issue_metrics.md + + - name: Run issue-metrics tool for items closed last month + id: closed-metrics + uses: github/issue-metrics@v2 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: 'repo:farfetch/loadshedding closed:${{ env.last_month }} -reason:"not planned"' + + - name: Upload for closed items + uses: actions/upload-artifact@v3 + with: + name: items-closed + path: ./issue_metrics.md + + - name: Run issue-metrics tool for discussions opened last month + id: opened-discussions-metrics + uses: github/issue-metrics@v2 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: 'repo:farfetch/loadshedding type:discussions created:${{ env.last_month }} -reason:"not planned"' + + - name: Upload for opened discussions + uses: actions/upload-artifact@v3 + with: + name: discussions-opened + path: ./issue_metrics.md + + - name: Run issue-metrics tool for discussions closed last month + id: closed-discussions-metrics + uses: github/issue-metrics@v2 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: 'repo:farfetch/loadshedding type:discussions closed:${{ env.last_month }} -reason:"not planned"' + + - name: Upload for closed discussions + uses: actions/upload-artifact@v3 + with: + name: discussions-closed + path: ./issue_metrics.md diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..2d4e141 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,26 @@ +name: Publish + +on: + release: + types: [ published ] + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v3 + with: + dotnet-version: '8.0.x' + + - name: Pack + run: dotnet pack ./LoadShedding.sln -c Release /p:Version=${{ github.event.release.tag_name }} -o ./drop + + - name: Publish + run: dotnet nuget push ./drop/**/*.nupkg -k ${{ secrets.NUGET_PUBLISH_KEY }} -s https://api.nuget.org/v3/index.json --skip-duplicate + + - name: Print Version + run: echo ${{ github.event.release.tag_name }} diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..b95a26d --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,33 @@ + + + 10.0 + true + true + snupkg + true + Farfetch + Farfetch + LoadShedding + https://github.com/Farfetch/loadshedding + https://github.com/Farfetch/loadshedding + git + https://github.com/Farfetch/loadshedding/blob/master/LICENSE + MIT + https://raw.githubusercontent.com/Farfetch/.github/master/images/fuse-logo-128.png + loadshedding + $([MSBuild]::GetPathOfFileAbove('StyleCopAnalyzersDefault.ruleset')) + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/src/StyleCopAnalyzersDefault.ruleset b/StyleCopAnalyzersDefault.ruleset similarity index 100% rename from src/StyleCopAnalyzersDefault.ruleset rename to StyleCopAnalyzersDefault.ruleset diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index 6b90c7b..230ec09 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -43,7 +43,7 @@ RUN for file in $(ls *.csproj); do mkdir -p tests/unit-tests/${file%.*}/ && mv $ # 1.3 Integration tests COPY tests/integration-tests/Farfetch.LoadShedding.IntegrationTests/Farfetch.LoadShedding.IntegrationTests.csproj tests/integration-tests/Farfetch.LoadShedding.IntegrationTests/Farfetch.LoadShedding.IntegrationTests.csproj -# 1.4 Perfornance tests +# 1.4 Performance tests COPY tests/performance-tests/Farfetch.LoadShedding.PerformanceTests/Farfetch.LoadShedding.PerformanceTests.csproj tests/performance-tests/Farfetch.LoadShedding.PerformanceTests/Farfetch.LoadShedding.PerformanceTests.csproj # 1.5 - Restore nuget packages diff --git a/src/Farfetch.LoadShedding/Farfetch.LoadShedding.csproj b/src/Farfetch.LoadShedding/Farfetch.LoadShedding.csproj index 101cb50..1958404 100644 --- a/src/Farfetch.LoadShedding/Farfetch.LoadShedding.csproj +++ b/src/Farfetch.LoadShedding/Farfetch.LoadShedding.csproj @@ -2,6 +2,8 @@ netstandard2.0 + LoadShedding + LoadShedding main package diff --git a/src/stylecop.json b/stylecop.json similarity index 100% rename from src/stylecop.json rename to stylecop.json diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props new file mode 100644 index 0000000..1b0c8ed --- /dev/null +++ b/tests/Directory.Build.props @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/benchmark/Farfetch.LoadShedding.BenchmarkTests/Farfetch.LoadShedding.BenchmarkTests.csproj b/tests/benchmark/Farfetch.LoadShedding.BenchmarkTests/Farfetch.LoadShedding.BenchmarkTests.csproj index ba5004c..5e83edb 100644 --- a/tests/benchmark/Farfetch.LoadShedding.BenchmarkTests/Farfetch.LoadShedding.BenchmarkTests.csproj +++ b/tests/benchmark/Farfetch.LoadShedding.BenchmarkTests/Farfetch.LoadShedding.BenchmarkTests.csproj @@ -17,4 +17,8 @@ + + + + diff --git a/tests/integration-tests/Farfetch.LoadShedding.IntegrationTests/Tests/Limiters/AdaptativeConcurrencyLimiterTests.cs b/tests/integration-tests/Farfetch.LoadShedding.IntegrationTests/Tests/Limiters/AdaptativeConcurrencyLimiterTests.cs index 5774987..c992702 100644 --- a/tests/integration-tests/Farfetch.LoadShedding.IntegrationTests/Tests/Limiters/AdaptativeConcurrencyLimiterTests.cs +++ b/tests/integration-tests/Farfetch.LoadShedding.IntegrationTests/Tests/Limiters/AdaptativeConcurrencyLimiterTests.cs @@ -1,4 +1,4 @@ -using System.Collections.Concurrent; +using System.Collections.Concurrent; using System.Net; using Farfetch.LoadShedding.AspNetCore.Options; using Farfetch.LoadShedding.Configurations; diff --git a/tests/integration-tests/Traits.cs b/tests/integration-tests/Traits.cs new file mode 100644 index 0000000..3c86a2d --- /dev/null +++ b/tests/integration-tests/Traits.cs @@ -0,0 +1,3 @@ +using Xunit; + +[assembly: AssemblyTrait("Category", "Integration")] \ No newline at end of file diff --git a/tests/performance-tests/Farfetch.LoadShedding.PerformanceTests/Farfetch.LoadShedding.PerformanceTests.csproj b/tests/performance-tests/Farfetch.LoadShedding.PerformanceTests/Farfetch.LoadShedding.PerformanceTests.csproj index 6fb0410..ca254b5 100644 --- a/tests/performance-tests/Farfetch.LoadShedding.PerformanceTests/Farfetch.LoadShedding.PerformanceTests.csproj +++ b/tests/performance-tests/Farfetch.LoadShedding.PerformanceTests/Farfetch.LoadShedding.PerformanceTests.csproj @@ -17,4 +17,8 @@ + + + + diff --git a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Configurators/LoadSheddingConfiguratorTests.cs b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Configurators/LoadSheddingConfiguratorTests.cs index dd257e2..b9152b0 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Configurators/LoadSheddingConfiguratorTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Configurators/LoadSheddingConfiguratorTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.AspNetCore.Configurators; +using Farfetch.LoadShedding.AspNetCore.Configurators; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Xunit; diff --git a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Middlewares/AdaptativeConcurrencyLimiterMiddlewareTests.cs b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Middlewares/AdaptativeConcurrencyLimiterMiddlewareTests.cs index bdca545..0be40ea 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Middlewares/AdaptativeConcurrencyLimiterMiddlewareTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Middlewares/AdaptativeConcurrencyLimiterMiddlewareTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.AspNetCore.Middlewares; +using Farfetch.LoadShedding.AspNetCore.Middlewares; using Farfetch.LoadShedding.AspNetCore.Options; using Farfetch.LoadShedding.Exceptions; using Farfetch.LoadShedding.Limiters; diff --git a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/DefaultPriorityResolverTests.cs b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/DefaultPriorityResolverTests.cs index 8e8bd12..8a41faa 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/DefaultPriorityResolverTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/DefaultPriorityResolverTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.AspNetCore.Resolvers; +using Farfetch.LoadShedding.AspNetCore.Resolvers; using Farfetch.LoadShedding.Tasks; using Microsoft.AspNetCore.Http; using Moq; diff --git a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/EndpointPriorityResolverTests.cs b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/EndpointPriorityResolverTests.cs index d5860c1..2835c27 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/EndpointPriorityResolverTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/EndpointPriorityResolverTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.AspNetCore.Attributes; +using Farfetch.LoadShedding.AspNetCore.Attributes; using Farfetch.LoadShedding.AspNetCore.Resolvers; using Farfetch.LoadShedding.Tasks; using Microsoft.AspNetCore.Http; diff --git a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/HttpHeaderPriorityResolverTests.cs b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/HttpHeaderPriorityResolverTests.cs index 836efe2..f418c9c 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/HttpHeaderPriorityResolverTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.AspNetCore.Tests/Resolvers/HttpHeaderPriorityResolverTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.AspNetCore.Resolvers; +using Farfetch.LoadShedding.AspNetCore.Resolvers; using Farfetch.LoadShedding.Tasks; using Microsoft.AspNetCore.Http; using Moq; diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Builders/AdaptativeLimiterBuilderTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Builders/AdaptativeLimiterBuilderTests.cs index cc47244..db17c11 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Builders/AdaptativeLimiterBuilderTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Builders/AdaptativeLimiterBuilderTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Builders; +using Farfetch.LoadShedding.Builders; using Xunit; namespace Farfetch.LoadShedding.Tests.Builders diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Calculators/GradientLimitCalculatorTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Calculators/GradientLimitCalculatorTests.cs index fdb3fa7..480c3a4 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Calculators/GradientLimitCalculatorTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Calculators/GradientLimitCalculatorTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Calculators; +using Farfetch.LoadShedding.Calculators; using Farfetch.LoadShedding.Configurations; using Moq; using Xunit; diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Calculators/SquareRootQueueCalculatorTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Calculators/SquareRootQueueCalculatorTests.cs index eed6220..a94e9f2 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Calculators/SquareRootQueueCalculatorTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Calculators/SquareRootQueueCalculatorTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Calculators; +using Farfetch.LoadShedding.Calculators; using Farfetch.LoadShedding.Configurations; using Moq; using Xunit; diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Configurations/ConcurrencyContextTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Configurations/ConcurrencyContextTests.cs index 6475e48..02733e9 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Configurations/ConcurrencyContextTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Configurations/ConcurrencyContextTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Configurations; +using Farfetch.LoadShedding.Configurations; using Farfetch.LoadShedding.Events; using Farfetch.LoadShedding.Measures; using Farfetch.LoadShedding.Tasks; diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Configurations/ConcurrencyOptionsTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Configurations/ConcurrencyOptionsTests.cs index cc9c1f0..ef5e983 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Configurations/ConcurrencyOptionsTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Configurations/ConcurrencyOptionsTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Configurations; +using Farfetch.LoadShedding.Configurations; using Farfetch.LoadShedding.Exceptions; using Xunit; diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Limiters/AdaptativeConcurrencyLimiterTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Limiters/AdaptativeConcurrencyLimiterTests.cs index cf7fc45..c700c1a 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Limiters/AdaptativeConcurrencyLimiterTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Limiters/AdaptativeConcurrencyLimiterTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Calculators; +using Farfetch.LoadShedding.Calculators; using Farfetch.LoadShedding.Configurations; using Farfetch.LoadShedding.Limiters; using Farfetch.LoadShedding.Events; diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Measures/RTTMeasuresTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Measures/RTTMeasuresTests.cs index 8d7b726..87a0f82 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Measures/RTTMeasuresTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Measures/RTTMeasuresTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Measures; +using Farfetch.LoadShedding.Measures; using Xunit; namespace Farfetch.LoadShedding.Tests.Measures diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskItemTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskItemTests.cs index e5856fb..ed50022 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskItemTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskItemTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Tasks; +using Farfetch.LoadShedding.Tasks; using Xunit; namespace Farfetch.LoadShedding.Tests.Tasks diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskManagerTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskManagerTests.cs index 9d347b6..890f01b 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskManagerTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskManagerTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Events; +using Farfetch.LoadShedding.Events; using Farfetch.LoadShedding.Events.Args; using Farfetch.LoadShedding.Exceptions; using Farfetch.LoadShedding.Tasks; diff --git a/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskQueueTests.cs b/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskQueueTests.cs index f4a5400..fc9d919 100644 --- a/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskQueueTests.cs +++ b/tests/unit-tests/Farfetch.LoadShedding.Tests/Tasks/TaskQueueTests.cs @@ -1,4 +1,4 @@ -using Farfetch.LoadShedding.Tasks; +using Farfetch.LoadShedding.Tasks; using Xunit; namespace Farfetch.LoadShedding.Tests.Tasks diff --git a/tests/unit-tests/Traits.cs b/tests/unit-tests/Traits.cs new file mode 100644 index 0000000..4e645a3 --- /dev/null +++ b/tests/unit-tests/Traits.cs @@ -0,0 +1,3 @@ +using Xunit; + +[assembly: AssemblyTrait("Category", "Unit")] \ No newline at end of file