From 953a8e8c8842ff127a6bc373df37aa71de66ae2d Mon Sep 17 00:00:00 2001 From: Bastian Schmidt Date: Wed, 20 Dec 2023 14:16:12 +0100 Subject: [PATCH] Fixes #1 - Add github actions --- .github/workflows/js_tests.yml | 35 +++++++++ .github/workflows/ruby_tests.yml | 74 +++++++++++++++++++ lib/foreman_resource_quota/register.rb | 4 +- .../api/v2/resource_quotas_test.rb | 1 - 4 files changed, 111 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/js_tests.yml create mode 100644 .github/workflows/ruby_tests.yml diff --git a/.github/workflows/js_tests.yml b/.github/workflows/js_tests.yml new file mode 100644 index 0000000..84611cb --- /dev/null +++ b/.github/workflows/js_tests.yml @@ -0,0 +1,35 @@ +name: JavaScript Testing +on: + push: + branches: + - main + pull_request: + paths: + - 'webpack/**' + - 'package.json' + - '.github/workflows/js_tests.yml' +jobs: + test_js: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node-version: [12, 14] + steps: + - uses: actions/checkout@v2 + - uses: actions/checkout@v2 + with: + repository: theforeman/foreman + ref: develop + path: foreman + - name: Setup Node + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: Npm install + run: npm install + - name: Npm install for core + run: npm install + working-directory: ./foreman + - name: Run plugin linter + run: npm run lint diff --git a/.github/workflows/ruby_tests.yml b/.github/workflows/ruby_tests.yml new file mode 100644 index 0000000..037df6f --- /dev/null +++ b/.github/workflows/ruby_tests.yml @@ -0,0 +1,74 @@ +name: Ruby Testing +on: + push: + branches: + - main + pull_request: +env: + BUNDLE_WITHOUT: journald:development:console:libvirt + RAILS_ENV: test + DATABASE_URL: postgresql://postgres:@localhost/test + DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL: true +jobs: + rubocop: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 2.7 + bundler-cache: true + - name: Run rubocop + run: bundle exec rubocop + test_ruby: + runs-on: ubuntu-latest + needs: rubocop + services: + postgres: + image: postgres:12.1 + ports: ['5432:5432'] + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + strategy: + fail-fast: false + matrix: + foreman-repo: [theforeman/foreman] + foreman-core-branch: [develop] + ruby-version: [2.7] + node-version: [12] + steps: + - name: Install build packages + run: | + sudo apt-get update + sudo apt-get install build-essential libcurl4-openssl-dev zlib1g-dev libpq-dev + - uses: actions/checkout@v2 + with: + repository: ${{ matrix.foreman-repo }} + ref: ${{ matrix.foreman-core-branch }} + - uses: actions/checkout@v2 + with: + path: foreman_resource_quota + - name: Setup Bundler + run: | + echo "gem 'foreman_resource_quota', path: './foreman_resource_quota'" > bundler.d/foreman_resource_quota.local.rb + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + - name: Setup Node + if: github.event_name != 'push' + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: Prepare test env + if: github.event_name != 'push' + run: | + bundle exec rake db:create + bundle exec rake db:migrate + bundle exec rake db:test:prepare + - name: Run plugin tests + if: github.event_name != 'push' + run: | + bundle exec rake test:foreman_resource_quota + bundle exec rake test TEST="test/unit/foreman/access_permissions_test.rb" diff --git a/lib/foreman_resource_quota/register.rb b/lib/foreman_resource_quota/register.rb index 96c9f88..7948c99 100644 --- a/lib/foreman_resource_quota/register.rb +++ b/lib/foreman_resource_quota/register.rb @@ -10,8 +10,8 @@ # Add permissions security_block :foreman_resource_quota do permission 'view_foreman_resource_quota/resource_quotas', - { 'foreman_resource_quota/resource_quotas': %i[index auto_complete_search], - 'foreman_resource_quota/api/v2/resource_quotas': %i[index show utilization hosts users usergroups], + { 'foreman_resource_quota/resource_quotas': %i[index welcome auto_complete_search], + 'foreman_resource_quota/api/v2/resource_quotas': %i[index show utilization hosts users usergroups auto_complete_search], 'foreman_resource_quota/api/v2/resource_quotas/:resource_quota_id/': %i[utilization hosts users usergroups] }, resource_type: 'ForemanResourceQuota::ResourceQuota' permission 'create_foreman_resource_quota/resource_quotas', diff --git a/test/controllers/api/v2/resource_quotas_test.rb b/test/controllers/api/v2/resource_quotas_test.rb index 1135865..555117e 100644 --- a/test/controllers/api/v2/resource_quotas_test.rb +++ b/test/controllers/api/v2/resource_quotas_test.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'test_plugin_helper' -require 'byebug' module ForemanResourceQuota module Api