diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36f6f9aa4..e435b79f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,12 +1,6 @@ name: CI -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - schedule: - - cron: '0 4 * * 0' +on: [push, pull_request] jobs: test: diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d2cbf2c5..be5271206 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## Unreleased + +#### Added + +- [#1383](https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/pull/1383) Support trust_server_certificate option in dbconsole. + ## v8.1.2 #### Fixed diff --git a/Gemfile b/Gemfile index cbb406565..f4e099ca4 100644 --- a/Gemfile +++ b/Gemfile @@ -9,9 +9,10 @@ gemspec gem "bcrypt" gem "pg", "1.5.9" gem "sqlite3", ">= 2.1" -gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] +gem "tzinfo-data" gem "benchmark-ips" -gem "minitest", ">= 5.15.0" +gem "minitest", "~> 6.0" +gem "minitest-mock" gem "msgpack", ">= 1.7.0" if ENV["RAILS_SOURCE"] diff --git a/lib/active_record/connection_adapters/sqlserver_adapter.rb b/lib/active_record/connection_adapters/sqlserver_adapter.rb index 9f8810ed1..fd7d33309 100644 --- a/lib/active_record/connection_adapters/sqlserver_adapter.rb +++ b/lib/active_record/connection_adapters/sqlserver_adapter.rb @@ -104,6 +104,7 @@ def dbconsole(config, options = {}) args += ["-d", config.database.to_s] if config.database args += ["-U", sqlserver_config[:username].to_s] if sqlserver_config[:username] args += ["-P", sqlserver_config[:password].to_s] if sqlserver_config[:password] + args += ["-C"] if sqlserver_config[:trust_server_certificate] if sqlserver_config[:host] host_arg = "tcp:#{sqlserver_config[:host]}" diff --git a/test/cases/dbconsole.rb b/test/cases/dbconsole_test_sqlserver.rb similarity index 56% rename from test/cases/dbconsole.rb rename to test/cases/dbconsole_test_sqlserver.rb index c23e53f0e..d50064913 100644 --- a/test/cases/dbconsole.rb +++ b/test/cases/dbconsole_test_sqlserver.rb @@ -1,12 +1,14 @@ # frozen_string_literal: true class DbConsole < ActiveRecord::TestCase - subject { ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter } + subject { ActiveRecord::ConnectionAdapters::SQLServerAdapter } - it "uses sqlplus to connect to database" do - subject.expects(:find_cmd_and_exec).with("sqlcmd", "-d", "db", "-U", "user", "-P", "secret", "-S", "tcp:localhost,1433") + it "uses sqlcmd to connect to database" do + subject.expects(:find_cmd_and_exec).with("sqlcmd", "-d", "db", "-U", "user", "-P", "secret", "-C", "-S", + "tcp:localhost,1433") - config = make_db_config(adapter: "sqlserver", database: "db", username: "user", password: "secret", host: "localhost", port: 1433) + config = make_db_config(adapter: "sqlserver", database: "db", username: "user", password: "secret", + host: "localhost", port: 1433, trust_server_certificate: true) subject.dbconsole(config) end