global_sign icon indicating copy to clipboard operation
global_sign copied to clipboard

Fix error on activesupport 7

Open kenchan opened this issue 3 years ago • 1 comments

In activesupport 7.x there was a change in the required require as shown in https://github.com/rails/rails/issues/43851 .If you require each of them, it will look like this.

require 'active_support/core_ext/hash/conversions'
require 'active_support/isolated_execution_state'
require 'active_support/xml_mini'

But, in many use cases of this gem, ActiveSupport is already loaded, so I decided to use require 'activesupport'.

kenchan avatar Jan 11 '23 11:01 kenchan

The test also passes with activesupport 6.x.

diff --git a/global_sign.gemspec b/global_sign.gemspec
index 78555d2..96619e8 100644
--- a/global_sign.gemspec
+++ b/global_sign.gemspec
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
   spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
   spec.require_paths = ['lib']
 
-  spec.add_runtime_dependency 'activesupport'
+  spec.add_runtime_dependency 'activesupport', '~> 6.0'
   spec.add_runtime_dependency 'builder'
   spec.add_runtime_dependency 'faraday'
   spec.add_runtime_dependency 'nokogiri'
Test Results

GlobalSign::Client
  #initialize
    has required object instances
    with "options" parameter
      when timeout is specified
        sets the value as a request option default
  #process
    when received wrong parameter
      raises ArgumentError
  #find_response_class_for
    when received url_verification
      returns the response class corresponding to the request class
    when received wrong parameter
      raises ArgumentError

GlobalSign::CsrDecoder::Response
  when returned success response
    succeeds
    response includes decode_csr params
  when returned error response
    fails

GlobalSign::DnsVerification::Response
  when requested a new certificate
    when returned success response
      succeeds
      returns response includes dns_verification params
    when returned error response
      fails
  when requested a renewal certificate
    when returned success response
      succeeds
      returns response includes dns_verification params
    when returned error response
      fails

GlobalSign::DnsVerificationForIssue::Response
  when returned success response
    succeeds
    returns response includes dns_verification_for_issue params
  when returned error response
    fails

GlobalSign::DVApproverList::Response
  when is a success response
    succeeds
    includes orderID and list of approvers
  when is a failure response
    fails
    includes the errors

GlobalSign::DVOrder::Response
  when requested a new certificate
    when returned success response
      succeeds
      returns response with order id
    when returned error response
      specifies the error
      returns empty order id
  when requested a renewal certificate
    when returned success response
      succeeds
      returns response with order id
    when returned error response
      specifies the error
      returns empty order id

GlobalSign::EVOrder::Response
  when requested a new certificate
    when returned success response
      succeeds
      returns response with order id
    when returned error response
      specifies the error
      returns empty order id
  when requested a renewal certificate
    when returned success response
      succeeds
      returns response with order id
    when returned error response
      specifies the error
      returns empty order id

GlobalSign::OrderGetterByOrderId::Request
  #params
    when no options
      is expected to eq {:OrderID=>"xxxx123456789"}
    when adds certificate_info option
      is expected to eq {:OrderID=>"xxxx123456789", :OrderQueryOption=>{:ReturnCertificateInfo=>true}}
    when adds fulfillment option
      is expected to eq {:OrderID=>"xxxx123456789", :OrderQueryOption=>{:ReturnFulfillment=>true}}
    when adds multiple options
      is expected to eq {:OrderID=>"xxxx123456789", :OrderQueryOption=>{:ReturnCertificateInfo=>true, :ReturnFulfillment=>true}}

GlobalSign::OrderGetterByOrderId::Response
  when returned success response
    not exists option responses
    behaves like succeeds
      is expected to be nil
      response includes order_getter_by_order_id params
      returns order_status text
  when returned success response with certificate_info option
    when order_status completed_issue
      exists certificate_info option response
      behaves like succeeds
        is expected to be nil
        response includes order_getter_by_order_id params
        returns order_status text
    when order_status initial
      exists certificate_info option response
      start_date is nil
      behaves like succeeds
        is expected to be nil
        response includes order_getter_by_order_id params
        returns order_status text
  when returned success response with fulfillment option
    exists fulfillment option response
    behaves like succeeds
      is expected to be nil
      response includes order_getter_by_order_id params
      returns order_status text
  when returned error response
    fails

GlobalSign::OVOrder::Response
  when requested a new certificate
    when returned success response
      succeeds
      returns response with order id
    when returned error response
      specifies the error
      returns empty order id
  when requested a renewal certificate
    when returned success response
      succeeds
      returns response with order id
    when returned error response
      specifies the error
      returns empty order id

GlobalSign::Request
  #to_xml
    calls RequestXmlBuilder.build_xml
  #auth_token_params
    returns hash

GlobalSign::RequestXmlBuilder
  .build_xml
    returns xml for GlobalSign API request

GlobalSign::UrlVerification::Response
  when requested a new certificate
    when returned success response
      succeeds
      returns response includes url_verification params
    when returned error response
      fails
  when requested a renewal certificate
    when returned success response
      succeeds
      returns response includes url_verification params
    when returned error response
      fails

GlobalSign::UrlVerificationForIssue::Response
  when returned success response
    succeeds
    returns response includes url_verification_for_issue params
  when returned error response
    fails

GlobalSign
  has a version number
  .configure
    proxies to GlobalSign configuration
  .contract
    proxies to GlobalSign contract information

Finished in 0.38387 seconds (files took 0.45118 seconds to load)
82 examples, 0 failures

kenchan avatar Jan 11 '23 14:01 kenchan

I set up matrix builds for each version of activesupport. Thank you sue445.

https://x.com/sue445/status/1623279954791391235

kenchan avatar May 20 '24 12:05 kenchan