From d66913adb77b11e806b79048f62e5a57c0f7ac37 Mon Sep 17 00:00:00 2001 From: Sugat <233906380+SugatD@users.noreply.github.com> Date: Tue, 7 Oct 2025 13:46:15 +0530 Subject: [PATCH 1/3] (CAT-2393) Puppetcore Update --- .fixtures.yml | 4 +--- .github/workflows/ci.yml | 6 ++++-- .github/workflows/nightly.yml | 6 ++++-- .puppet-lint.rc | 9 ++++++++ .rubocop.yml | 2 +- Gemfile | 39 +++++++++++++++++++++-------------- Rakefile | 8 +++++++ metadata.json | 6 +++--- 8 files changed, 54 insertions(+), 26 deletions(-) diff --git a/.fixtures.yml b/.fixtures.yml index b7af544a..4b983500 100644 --- a/.fixtures.yml +++ b/.fixtures.yml @@ -1,9 +1,7 @@ fixtures: repositories: facts: 'https://github.com/puppetlabs/puppetlabs-facts.git' - puppet_agent: - repo: 'https://github.com/puppetlabs/puppetlabs-puppet_agent.git' - ref: v4.13.0 + puppet_agent: 'https://github.com/puppetlabs/puppetlabs-puppet_agent.git' provision: 'https://github.com/puppetlabs/provision.git' stdlib: 'https://github.com/puppetlabs/puppetlabs-stdlib.git' mount_iso: 'https://github.com/puppetlabs/puppetlabs-mount_iso.git' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 817353ab..8652709a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,8 @@ jobs: setup_matrix: name: "Setup Test Matrix" needs: "Spec" - runs-on: ubuntu-latest + with: + flags: "--nightly" outputs: matrix: ${{ steps.get-matrix.outputs.matrix }} @@ -54,7 +55,8 @@ jobs: - setup_matrix if: ${{ needs.setup_matrix.outputs.matrix != '{}' }} - runs-on: ubuntu-latest + with: + flags: "--nightly" strategy: fail-fast: false matrix: ${{fromJson(needs.setup_matrix.outputs.matrix)}} diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 64a5e662..1b65c7f2 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -15,7 +15,8 @@ jobs: setup_matrix: name: "Setup Test Matrix" needs: "Spec" - runs-on: ubuntu-latest + with: + flags: "--nightly" outputs: matrix: ${{ steps.get-matrix.outputs.matrix }} @@ -52,7 +53,8 @@ jobs: - setup_matrix if: ${{ needs.setup_matrix.outputs.matrix != '{}' }} - runs-on: ubuntu-latest + with: + flags: "--nightly" strategy: fail-fast: false matrix: ${{fromJson(needs.setup_matrix.outputs.matrix)}} diff --git a/.puppet-lint.rc b/.puppet-lint.rc index cc96ece0..a63b90e5 100644 --- a/.puppet-lint.rc +++ b/.puppet-lint.rc @@ -1 +1,10 @@ +--fail-on-warnings --relative +--no-80chars-check +--no-140chars-check +--no-class_inherits_from_params_class-check +--no-autoloader_layout-check +--no-documentation-check +--no-single_quote_string_with_variables-check +--no-anchor_resource-check +--ignore-paths=.vendor/**/*.pp,.bundle/**/*.pp,pkg/**/*.pp,spec/**/*.pp,tests/**/*.pp,types/**/*.pp,vendor/**/*.pp diff --git a/.rubocop.yml b/.rubocop.yml index 439ea84e..47b1aadb 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -5,7 +5,7 @@ require: AllCops: NewCops: enable DisplayCopNames: true - TargetRubyVersion: '2.6' + TargetRubyVersion: 3.1 Include: - "**/*.rb" Exclude: diff --git a/Gemfile b/Gemfile index 2c483db9..1b5d318d 100644 --- a/Gemfile +++ b/Gemfile @@ -14,51 +14,60 @@ def location_for(place_or_version, fake_version = nil) end group :development do - gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) - gem "json", '= 2.3.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) - gem "json", '= 2.5.1', require: false if Gem::Requirement.create(['>= 3.0.0', '< 3.0.5']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "json", '= 2.6.1', require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "racc", '~> 1.4.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "deep_merge", '~> 1.2.2', require: false gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false - gem "facterdb", '~> 2.1', require: false + gem "facterdb", '~> 2.1', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) + gem "facterdb", '~> 3.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "metadata-json-lint", '~> 4.0', require: false - gem "rspec-puppet-facts", '~> 4.0', require: false + gem "json-schema", '< 5.1.1', require: false + gem "rspec-puppet-facts", '~> 4.0', require: false if Gem::Requirement.create(['< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) + gem "rspec-puppet-facts", '~> 5.0', require: false if Gem::Requirement.create(['>= 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup)) gem "dependency_checker", '~> 1.0.0', require: false gem "parallel_tests", '= 3.12.1', require: false gem "pry", '~> 0.10', require: false gem "simplecov-console", '~> 0.9', require: false - gem "puppet-debugger", '~> 1.0', require: false + gem "puppet-debugger", '~> 1.6', require: false gem "rubocop", '~> 1.50.0', require: false gem "rubocop-performance", '= 1.16.0', require: false gem "rubocop-rspec", '= 2.19.0', require: false gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw] - gem "rexml", '>= 3.3.9', require: false + gem "bigdecimal", '< 3.2.2', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "ruby-pwsh", require: false end group :development, :release_prep do gem "puppet-strings", '~> 4.0', require: false - gem "puppetlabs_spec_helper", '~> 7.0', require: false + gem "puppetlabs_spec_helper", '~> 8.0', require: false + gem "puppet-blacksmith", '~> 7.0', require: false end group :system_tests do - gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw] + gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw] if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty? + gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw] if ENV['PUPPET_FORGE_TOKEN'].to_s.empty? gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "serverspec", '~> 2.41', require: false end -puppet_version = ENV['PUPPET_GEM_VERSION'] -facter_version = ENV['FACTER_GEM_VERSION'] -hiera_version = ENV['HIERA_GEM_VERSION'] - gems = {} -gems['puppet'] = location_for(puppet_version) +puppet_version = ENV.fetch('PUPPET_GEM_VERSION', nil) +facter_version = ENV.fetch('FACTER_GEM_VERSION', nil) +hiera_version = ENV.fetch('HIERA_GEM_VERSION', nil) # If facter or hiera versions have been specified via the environment # variables -gems['facter'] = location_for(facter_version) if facter_version +# If PUPPET_FORGE_TOKEN is set then use authenticated source for both puppet and facter, since facter is a transitive dependency of puppet +# Otherwise, do as before and use location_for to fetch gems from the default source +if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty? + gems['puppet'] = ['~> 8.11', { require: false, source: 'https://rubygems-puppetcore.puppet.com' }] + gems['facter'] = ['~> 4.11', { require: false, source: 'https://rubygems-puppetcore.puppet.com' }] +else + gems['puppet'] = location_for(puppet_version) + gems['facter'] = location_for(facter_version) if facter_version +end + gems['hiera'] = location_for(hiera_version) if hiera_version gems.each do |gem_name, gem_params| diff --git a/Rakefile b/Rakefile index 77590fe6..85222267 100644 --- a/Rakefile +++ b/Rakefile @@ -7,3 +7,11 @@ require 'puppet-syntax/tasks/puppet-syntax' require 'puppet-strings/tasks' if Gem.loaded_specs.key? 'puppet-strings' PuppetLint.configuration.send('disable_relative') +PuppetLint.configuration.send('disable_80chars') +PuppetLint.configuration.send('disable_140chars') +PuppetLint.configuration.send('disable_class_inherits_from_params_class') +PuppetLint.configuration.send('disable_autoloader_layout') +PuppetLint.configuration.send('disable_documentation') +PuppetLint.configuration.send('disable_single_quote_string_with_variables') +PuppetLint.configuration.fail_on_warnings = true +PuppetLint.configuration.ignore_paths = [".vendor/**/*.pp", ".bundle/**/*.pp", "pkg/**/*.pp", "spec/**/*.pp", "tests/**/*.pp", "types/**/*.pp", "vendor/**/*.pp"] diff --git a/metadata.json b/metadata.json index 996fb358..388b598b 100644 --- a/metadata.json +++ b/metadata.json @@ -32,7 +32,7 @@ "requirements": [ { "name": "puppet", - "version_requirement": ">=7.0.0 < 9.0.0" + "version_requirement": ">8.0.0 < 9.0.0" } ], "tags": [ @@ -48,7 +48,7 @@ "tsql", "database" ], - "pdk-version": "3.2.0", + "pdk-version": "3.5.0 (ga43db72)", "template-url": "https://github.com/puppetlabs/pdk-templates.git#main", - "template-ref": "tags/3.2.0.4-0-g5d17ec1" + "template-ref": "heads/main-0-g11c0f3d" } From ddbeaf8032414196931eb708c0ce8b56f21ed5ba Mon Sep 17 00:00:00 2001 From: Sugat <233906380+SugatD@users.noreply.github.com> Date: Tue, 7 Oct 2025 14:10:47 +0530 Subject: [PATCH 2/3] changes to discontinue puppet 7 and fixing related files --- .github/workflows/ci.yml | 22 ++++++++++++------- .github/workflows/nightly.yml | 19 ++++++++++------ spec/acceptance/sqlserver_config_spec.rb | 2 +- spec/acceptance/sqlserver_database_spec.rb | 4 ++-- spec/acceptance/sqlserver_instance_spec.rb | 10 ++++----- spec/acceptance/sqlserver_login_spec.rb | 4 ++-- spec/acceptance/sqlserver_role_spec.rb | 22 +++++++++---------- spec/acceptance/sqlserver_tsql_spec.rb | 2 +- spec/acceptance/sqlserver_user_spec.rb | 12 +++++----- .../z_last_sqlserver_features_spec.rb | 12 +++++----- spec/defines/login/permissions_spec.rb | 4 ++-- spec/defines/role/permissions_spec.rb | 2 +- spec/defines/user/permissions_spec.rb | 4 ++-- spec/defines/user_spec.rb | 2 +- 14 files changed, 66 insertions(+), 55 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8652709a..b6d9c2df 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,6 +8,8 @@ on: env: SERVICE_URL: https://facade-maint-config-windows-use-ssh-6f3kfepqcq-ew.a.run.app/v1/provision + PUPPET_FORGE_TOKEN: ${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }} + BUNDLE_RUBYGEMS___PUPPETCORE__PUPPET__COM: "forge-key:${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }}" jobs: Spec: @@ -17,8 +19,7 @@ jobs: setup_matrix: name: "Setup Test Matrix" needs: "Spec" - with: - flags: "--nightly" + runs-on: ubuntu-latest outputs: matrix: ${{ steps.get-matrix.outputs.matrix }} @@ -47,22 +48,22 @@ jobs: - name: Setup Acceptance Test Matrix id: get-matrix run: | - bundle exec matrix_from_metadata_v2 + bundle exec matrix_from_metadata_v3 --latest-agent Acceptance: - name: "${{matrix.platforms.label}}, ${{matrix.collection}}" + name: "${{ matrix.platforms.label }}, ${{ matrix.collection.collection || matrix.collection }}" needs: - setup_matrix if: ${{ needs.setup_matrix.outputs.matrix != '{}' }} - with: - flags: "--nightly" + + runs-on: ubuntu-latest strategy: fail-fast: false matrix: ${{fromJson(needs.setup_matrix.outputs.matrix)}} env: - PUPPET_GEM_VERSION: '~> 7.24' + PUPPET_GEM_VERSION: '~> 8.9' FACTER_GEM_VERSION: 'https://github.com/puppetlabs/facter#main' steps: @@ -94,7 +95,12 @@ jobs: - name: Install agent run: | - bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]' + if [[ "${{ matrix.collection.version }}" ]] ; then + export PUPPET_VERSION=${{ matrix.collection.version }} + bundle exec rake 'litmus:install_agent[${{ matrix.collection.collection }}]' + else + bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]' + fi - name: Install module run: | diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 1b65c7f2..955b7516 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -6,6 +6,8 @@ on: env: SERVICE_URL: https://facade-maint-config-windows-use-ssh-6f3kfepqcq-ew.a.run.app/v1/provision + PUPPET_FORGE_TOKEN: ${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }} + BUNDLE_RUBYGEMS___PUPPETCORE__PUPPET__COM: "forge-key:${{ secrets.PUPPET_FORGE_TOKEN || secrets.PUPPET_FORGE_TOKEN_PUBLIC }}" jobs: Spec: @@ -15,8 +17,7 @@ jobs: setup_matrix: name: "Setup Test Matrix" needs: "Spec" - with: - flags: "--nightly" + runs-on: ubuntu-latest outputs: matrix: ${{ steps.get-matrix.outputs.matrix }} @@ -45,16 +46,15 @@ jobs: - name: Setup Acceptance Test Matrix id: get-matrix run: | - bundle exec matrix_from_metadata_v2 + bundle exec matrix_from_metadata_v3 --latest-agent Acceptance: - name: "${{matrix.platforms.label}}, ${{matrix.collection}}" + name: "${{ matrix.platforms.label }}, ${{ matrix.collection.collection || matrix.collection }}" needs: - setup_matrix if: ${{ needs.setup_matrix.outputs.matrix != '{}' }} - with: - flags: "--nightly" + runs-on: ubuntu-latest strategy: fail-fast: false matrix: ${{fromJson(needs.setup_matrix.outputs.matrix)}} @@ -92,7 +92,12 @@ jobs: - name: Install agent run: | - bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]' + if [[ "${{ matrix.collection.version }}" ]] ; then + export PUPPET_VERSION=${{ matrix.collection.version }} + bundle exec rake 'litmus:install_agent[${{ matrix.collection.collection }}]' + else + bundle exec rake 'litmus:install_agent[${{ matrix.collection }}]' + fi - name: Install module run: | diff --git a/spec/acceptance/sqlserver_config_spec.rb b/spec/acceptance/sqlserver_config_spec.rb index 16139cc5..67a8e978 100644 --- a/spec/acceptance/sqlserver_config_spec.rb +++ b/spec/acceptance/sqlserver_config_spec.rb @@ -86,7 +86,7 @@ def ensure_sqlserver_instance(inst_name, ensure_val = 'present') hostname = Helper.instance.run_shell('hostname').stdout.upcase.strip query = "USE #{db_name}; SELECT * from master..sysdatabases WHERE name = '#{db_name}'" - run_sql_query(query: query, server: hostname, instance: inst_name, \ + run_sql_query(query:, server: hostname, instance: inst_name, \ sql_admin_user: @admin_user, sql_admin_pass: @admin_pass, expected_row_count: 1) end diff --git a/spec/acceptance/sqlserver_database_spec.rb b/spec/acceptance/sqlserver_database_spec.rb index afe23678..c579e8cf 100644 --- a/spec/acceptance/sqlserver_database_spec.rb +++ b/spec/acceptance/sqlserver_database_spec.rb @@ -7,10 +7,10 @@ # Return options for run_sql_query def run_sql_query_opts(query, expected_row_count) { - query: query, + query:, sql_admin_user: 'sa', sql_admin_pass: 'Pupp3t1@', - expected_row_count: expected_row_count + expected_row_count: } end diff --git a/spec/acceptance/sqlserver_instance_spec.rb b/spec/acceptance/sqlserver_instance_spec.rb index f9af473b..98d1ec84 100644 --- a/spec/acceptance/sqlserver_instance_spec.rb +++ b/spec/acceptance/sqlserver_instance_spec.rb @@ -41,12 +41,12 @@ def ensure_sqlserver_instance(features, inst_name, ensure_val = 'present', sysad # Return options for run_sql_query def run_sql_query_opts(inst_name, query, expected_row_count) { - query: query, + query:, instance: inst_name, server: '.', sql_admin_user: 'sa', sql_admin_pass: 'Pupp3t1@', - expected_row_count: expected_row_count + expected_row_count: } end @@ -90,7 +90,7 @@ def sql_query_is_user_sysadmin(username) host_computer_name = run_shell('CMD /C ECHO %COMPUTERNAME%').stdout.chomp ensure_sqlserver_instance(features, inst_name, 'present', ["#{host_computer_name}\\#{@extra_admin_user}"]) - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| expect(r.stdout).to match(%r{#{Regexp.new(inst_name)}}) end end @@ -107,7 +107,7 @@ def sql_query_is_user_sysadmin(username) ensure_sqlserver_instance(features, inst_name, 'absent') # Ensure all features for this instance are removed and the defaults are left alone - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| expect(r.stdout).to match(%r{MSSQLSERVER\s+Database Engine Services}) expect(r.stdout).to match(%r{MSSQLSERVER\s+SQL Server Replication}) expect(r.stdout).to match(%r{MSSQLSERVER\s+Data Quality Services}) @@ -129,7 +129,7 @@ def sql_query_is_user_sysadmin(username) it "create #{inst_name} instance with only one RS feature", unless: version.to_i >= 2017 do ensure_sqlserver_instance(features, inst_name) - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| expect(r.stdout).to match(%r{#{inst_name}\s+Reporting Services}) end end diff --git a/spec/acceptance/sqlserver_login_spec.rb b/spec/acceptance/sqlserver_login_spec.rb index de814877..5cf98146 100644 --- a/spec/acceptance/sqlserver_login_spec.rb +++ b/spec/acceptance/sqlserver_login_spec.rb @@ -11,10 +11,10 @@ # Return options for run_sql_query def run_sql_query_opts(user, passwd, query, expected_row_count) { - query: query, + query:, sql_admin_user: user, sql_admin_pass: passwd, - expected_row_count: expected_row_count + expected_row_count: } end diff --git a/spec/acceptance/sqlserver_role_spec.rb b/spec/acceptance/sqlserver_role_spec.rb index e1982fc0..1c23a1e5 100644 --- a/spec/acceptance/sqlserver_role_spec.rb +++ b/spec/acceptance/sqlserver_role_spec.rb @@ -8,10 +8,10 @@ # database name db_name = "DB#{SecureRandom.hex(4)}".upcase -LOGIN1 = "Login1_#{SecureRandom.hex(2)}" -LOGIN2 = "Login2_#{SecureRandom.hex(2)}" -LOGIN3 = "Login3_#{SecureRandom.hex(2)}" -USER1 = "User1_#{SecureRandom.hex(2)}" +LOGIN1 = "Login1_#{SecureRandom.hex(2)}".freeze +LOGIN2 = "Login2_#{SecureRandom.hex(2)}".freeze +LOGIN3 = "Login3_#{SecureRandom.hex(2)}".freeze +USER1 = "User1_#{SecureRandom.hex(2)}".freeze describe 'Test sqlserver::role' do def ensure_sqlserver_logins_users(db_name) @@ -108,7 +108,7 @@ def ensure_sqlserver_logins_users(db_name) ON spe.grantee_principal_id = spr.principal_id WHERE spr.name = '#{@role}';" - run_sql_query(query: query, server: hostname, expected_row_count: 2) + run_sql_query(query:, server: hostname, expected_row_count: 2) # validate that the database-specific role '#{@role}' has correct authorization #{LOGIN1} query = "USE #{db_name}; @@ -118,7 +118,7 @@ def ensure_sqlserver_logins_users(db_name) ON spr.owning_principal_id = sl.principal_id WHERE sl.name = '#{LOGIN1}';" - run_sql_query(query: query, server: hostname, expected_row_count: 1) + run_sql_query(query:, server: hostname, expected_row_count: 1) end it "Create database-specific role #{@role}" do @@ -146,7 +146,7 @@ def ensure_sqlserver_logins_users(db_name) ON pe.grantee_principal_id = pr.principal_id WHERE pr.name = '#{@role}';" - run_sql_query(query: query, server: hostname, expected_row_count: 6) + run_sql_query(query:, server: hostname, expected_row_count: 6) end it 'Create a database-specific role with the same name on two databases' do @@ -184,7 +184,7 @@ def ensure_sqlserver_logins_users(db_name) on pr.name = dbpr.name WHERE pr.name = '#{@role}';" - run_sql_query(query: query, server: hostname, expected_row_count: 6) + run_sql_query(query:, server: hostname, expected_row_count: 6) end it "Create server role #{@role} with optional members and optional members-purge" do @@ -213,7 +213,7 @@ def ensure_sqlserver_logins_users(db_name) ON spe.grantee_principal_id = spr.principal_id WHERE spr.name = '#{@role}';" - run_sql_query(query: query, server: hostname, expected_row_count: 2) + run_sql_query(query:, server: hostname, expected_row_count: 2) # validate that the t server role '#{@role}' has correct members (Login1, 2, 3) query = "USE #{db_name}; @@ -226,7 +226,7 @@ def ensure_sqlserver_logins_users(db_name) OR spr.name = '#{LOGIN3}' OR spr.name = 'LOGIN4';" - run_sql_query(query: query, server: hostname, expected_row_count: 3) + run_sql_query(query:, server: hostname, expected_row_count: 3) puts "Create server role #{@role} with optional members_purge:" pp = <<-MANIFEST @@ -256,7 +256,7 @@ def ensure_sqlserver_logins_users(db_name) OR spr.name = '#{LOGIN2}' OR spr.name = '#{LOGIN3}';" - run_sql_query(query: query, server: hostname, expected_row_count: 1) + run_sql_query(query:, server: hostname, expected_row_count: 1) end end end diff --git a/spec/acceptance/sqlserver_tsql_spec.rb b/spec/acceptance/sqlserver_tsql_spec.rb index a8a5801b..bd827004 100644 --- a/spec/acceptance/sqlserver_tsql_spec.rb +++ b/spec/acceptance/sqlserver_tsql_spec.rb @@ -10,7 +10,7 @@ db_name = "DB#{SecureRandom.hex(4)}".upcase # database user: -DB_LOGIN_USER = "loginuser#{SecureRandom.hex(2)}" +DB_LOGIN_USER = "loginuser#{SecureRandom.hex(2)}".freeze describe 'sqlserver_tsql test' do def ensure_sqlserver_database(db_name, _ensure_val = 'present') diff --git a/spec/acceptance/sqlserver_user_spec.rb b/spec/acceptance/sqlserver_user_spec.rb index b5a652d7..c5059445 100644 --- a/spec/acceptance/sqlserver_user_spec.rb +++ b/spec/acceptance/sqlserver_user_spec.rb @@ -71,7 +71,7 @@ def ensure_sqlserver_database(db_name, _ensure_val = 'present') WHERE name = '#{@db_user}' AND default_schema_name = 'guest';" - run_sql_query(query: query, server: hostname, expected_row_count: 1) + run_sql_query(query:, server: hostname, expected_row_count: 1) end it 'Create database user with optional instance' do @@ -99,7 +99,7 @@ def ensure_sqlserver_database(db_name, _ensure_val = 'present') SELECT name AS Database_User_Name FROM SYS.DATABASE_PRINCIPALS WHERE name = '#{@db_user}';" - run_sql_query(query: query, server: hostname, expected_row_count: 1) + run_sql_query(query:, server: hostname, expected_row_count: 1) end it 'Create database user with optional login' do @@ -129,7 +129,7 @@ def ensure_sqlserver_database(db_name, _ensure_val = 'present') FROM SYS.DATABASE_PRINCIPALS d, MASTER.SYS.SQL_LOGINS l WHERE d.sid = l.sid AND d.name = '#{@db_user}';" - run_sql_query(query: query, server: hostname, expected_row_count: 1) + run_sql_query(query:, server: hostname, expected_row_count: 1) end it 'Create database user with optional password' do @@ -156,7 +156,7 @@ def ensure_sqlserver_database(db_name, _ensure_val = 'present') puts "validate that the database user '#{@db_user}' is successfully created:" query = "USE #{db_name}; SELECT * FROM SYS.DATABASE_PRINCIPALS WHERE name = '#{@db_user}';" - run_sql_query(query: query, server: hostname, expected_row_count: 1) + run_sql_query(query:, server: hostname, expected_row_count: 1) end it 'Delete database user' do @@ -179,7 +179,7 @@ def ensure_sqlserver_database(db_name, _ensure_val = 'present') # validate that the database user '#{@db_user}' is successfully created: query = "USE #{db_name}; SELECT * FROM SYS.DATABASE_PRINCIPALS WHERE name = '#{@db_user}';" - run_sql_query(query: query, server: hostname, expected_row_count: 1) + run_sql_query(query:, server: hostname, expected_row_count: 1) pp = <<-MANIFEST sqlserver::config{'MSSQLSERVER': @@ -194,7 +194,7 @@ def ensure_sqlserver_database(db_name, _ensure_val = 'present') apply_manifest(pp, catch_failures: true) # validate that the database user '#{@db_user}' should be deleted: query = "USE #{db_name}; SELECT * FROM SYS.DATABASE_PRINCIPALS WHERE name = '#{@db_user}';" - run_sql_query(query: query, server: hostname, expected_row_count: 0) + run_sql_query(query:, server: hostname, expected_row_count: 0) end end end diff --git a/spec/acceptance/z_last_sqlserver_features_spec.rb b/spec/acceptance/z_last_sqlserver_features_spec.rb index a0d9eabc..382a8ead 100644 --- a/spec/acceptance/z_last_sqlserver_features_spec.rb +++ b/spec/acceptance/z_last_sqlserver_features_spec.rb @@ -69,7 +69,7 @@ def bind_and_apply_failing_manifest(features, ensure_val = 'present') it 'all possible features' do ensure_sql_features(features) - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| # Client Tools removed in Server2022 unless version.to_i == 2022 expect(r.stdout).to match(%r{Client Tools Connectivity}) @@ -94,7 +94,7 @@ def bind_and_apply_failing_manifest(features, ensure_val = 'present') it 'all possible features' do ensure_sql_features(features, 'absent') - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| # Client Tools removed in Server2022 unless version.to_i == 2022 expect(r.stdout).not_to match(%r{Client Tools Connectivity}) @@ -127,7 +127,7 @@ def bind_and_apply_failing_manifest(features, ensure_val = 'present') it "'BC'", unless: version.to_i == 2022 do ensure_sql_features(features - ['BC']) - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| expect(r.stdout).not_to match(%r{Client Tools Backwards Compatibility}) end end @@ -135,7 +135,7 @@ def bind_and_apply_failing_manifest(features, ensure_val = 'present') it "'ADV_SSMS'", unless: version.to_i >= 2016 do ensure_sql_features(features - ['ADV_SSMS']) - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| expect(r.stdout).not_to match(%r{Management Tools - Complete}) # also verify SSMS is still present @@ -146,7 +146,7 @@ def bind_and_apply_failing_manifest(features, ensure_val = 'present') it "'SDK' + 'IS", unless: version.to_i == 2022 do ensure_sql_features(features - ['SDK', 'IS']) - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| expect(r.stdout).not_to match(%r{Client Tools SDK}) end end @@ -199,7 +199,7 @@ def remove_sql_instance it 'all possible features' do ensure_sql_features(features) - validate_sql_install(version: version) do |r| + validate_sql_install(version:) do |r| # SQL Server 2016+ will not install the client tools features. expect(r.stdout).not_to match(%r{MSSQLSERVER\s+Database Engine Services}) expect(r.stdout).not_to match(%r{MSSQLSERVER\s+SQL Server Replication}) diff --git a/spec/defines/login/permissions_spec.rb b/spec/defines/login/permissions_spec.rb index 30f42210..09c48835 100644 --- a/spec/defines/login/permissions_spec.rb +++ b/spec/defines/login/permissions_spec.rb @@ -107,14 +107,14 @@ let(:should_contain_command) { ["#{state.upcase} SELECT TO [loggingUser];", 'USE [master];'] } describe "lowercase #{state}" do - let(:additional_params) { { state: state } } + let(:additional_params) { { state: } } it_behaves_like 'sqlserver_tsql command' end state = state.capitalize describe "capitalized #{state}" do - let(:additional_params) { { state: state } } + let(:additional_params) { { state: } } it_behaves_like 'sqlserver_tsql command' end diff --git a/spec/defines/role/permissions_spec.rb b/spec/defines/role/permissions_spec.rb index 6e3738e8..2e499a8f 100644 --- a/spec/defines/role/permissions_spec.rb +++ b/spec/defines/role/permissions_spec.rb @@ -159,7 +159,7 @@ { role: 'myCustomRole', permissions: ['INSERT', 'UPDATE', 'DELETE', 'SELECT'], - instance: instance + instance: } end diff --git a/spec/defines/user/permissions_spec.rb b/spec/defines/user/permissions_spec.rb index dc1ffbdc..f574dd5b 100644 --- a/spec/defines/user/permissions_spec.rb +++ b/spec/defines/user/permissions_spec.rb @@ -133,14 +133,14 @@ let(:should_contain_command) { ["#{state.upcase} SELECT TO [loggingUser];", 'USE [loggingDb];'] } describe "lowercase #{state}" do - let(:additional_params) { { state: state } } + let(:additional_params) { { state: } } it_behaves_like 'sqlserver_tsql command' end state = state.capitalize describe "capitalized #{state}" do - let(:additional_params) { { state: state } } + let(:additional_params) { { state: } } it_behaves_like 'sqlserver_tsql command' end diff --git a/spec/defines/user_spec.rb b/spec/defines/user_spec.rb index 81693ee8..18fe5673 100644 --- a/spec/defines/user_spec.rb +++ b/spec/defines/user_spec.rb @@ -61,7 +61,7 @@ describe 'when a password is specified' do password = 'Pupp3t1@' - let(:additional_params) { { password: password } } + let(:additional_params) { { password: } } let(:should_contain_command) do [ 'USE [myDatabase];', From 2c982363aba773549b4db4015d18d9e4bb379988 Mon Sep 17 00:00:00 2001 From: Sugat <233906380+SugatD@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:33:09 +0530 Subject: [PATCH 3/3] revert changes to use nightly flag --- .github/workflows/ci.yml | 2 +- .github/workflows/nightly.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6d9c2df..77691e0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,7 @@ jobs: - name: Setup Acceptance Test Matrix id: get-matrix run: | - bundle exec matrix_from_metadata_v3 --latest-agent + bundle exec matrix_from_metadata_v3 --nightly Acceptance: name: "${{ matrix.platforms.label }}, ${{ matrix.collection.collection || matrix.collection }}" diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 955b7516..cda9b33c 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -46,7 +46,7 @@ jobs: - name: Setup Acceptance Test Matrix id: get-matrix run: | - bundle exec matrix_from_metadata_v3 --latest-agent + bundle exec matrix_from_metadata_v3 --nightly Acceptance: name: "${{ matrix.platforms.label }}, ${{ matrix.collection.collection || matrix.collection }}"