Skip to content

Commit

Permalink
Merge pull request #115 from mocktools/develop
Browse files Browse the repository at this point in the history
Ruby DnsMock v1.5.16
  • Loading branch information
bestwebua committed Oct 5, 2023
2 parents e13aca0 + 9133d3b commit 963aa8d
Show file tree
Hide file tree
Showing 27 changed files with 334 additions and 298 deletions.
45 changes: 27 additions & 18 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,16 @@ defaults: &defaults
- image: cimg/ruby:<< parameters.ruby-version >>

orbs:
ruby: circleci/ruby@2.0.0
ruby: circleci/ruby@2.1.0

references:
restore_bundle_cache: &restore_bundle_cache
restore_cache:
keys:
- ruby-dns-mock-{{ checksum "dns_mock.gemspec" }}
paths:
- ~/vendor/bundle

bundle_install: &bundle_install
run:
name: Installing gems
command: |
bundle config set --local path '~/vendor/bundle'
bundle install
save_bundle_cache: &save_bundle_cache
save_cache:
key: ruby-dns-mock-{{ checksum "dns_mock.gemspec" }}
paths:
- ~/vendor/bundle

install_linters: &install_linters
run:
name: Installing bunch of linters
Expand All @@ -49,6 +36,11 @@ references:
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
use_latest_bundler: &use_latest_bundler
run:
name: Using latest bundler
command: gem install bundler

use_latest_gemspec: &use_latest_gemspec
run:
name: Using latest gemspec
Expand All @@ -70,10 +62,9 @@ jobs:
steps:
- checkout

- <<: *use_latest_bundler
- <<: *use_latest_gemspec
- <<: *restore_bundle_cache
- <<: *bundle_install
- <<: *save_bundle_cache
- <<: *install_linters

- run:
Expand Down Expand Up @@ -106,10 +97,9 @@ jobs:
steps:
- checkout

- <<: *use_latest_bundler
- <<: *use_latest_gemspec
- <<: *restore_bundle_cache
- <<: *bundle_install
- <<: *save_bundle_cache
- <<: *install_codeclimate_reporter

- run:
Expand Down Expand Up @@ -154,6 +144,20 @@ jobs:
name: Running compatibility tests
command: bundle exec rspec

rubygems-deps-ruby:
parameters:
ruby-version:
type: string

<<: *defaults

steps:
- checkout

- run:
name: Building rubygems dependencies from default gemspec on minimal Ruby version
command: bundle install

releasing-gem-from-ruby:
parameters:
ruby-version:
Expand Down Expand Up @@ -187,11 +191,16 @@ workflows:
matrix:
parameters:
ruby-version: ["2.5", "2.6", "2.7", "3.0", "3.1"]
- rubygems-deps-ruby:
matrix:
parameters:
ruby-version: ["2.5"]
- releasing-gem-from-ruby:
requires:
- linters-ruby
- tests-ruby
- compatibility-ruby
- rubygems-deps-ruby
matrix:
parameters:
ruby-version: ["2.5"]
Expand Down
12 changes: 6 additions & 6 deletions .circleci/gemspecs/latest
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ Gem::Specification.new do |spec|
spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'

spec.add_development_dependency 'bundler-audit', '~> 0.9.1'
spec.add_development_dependency 'fasterer', '~> 0.10.0'
spec.add_development_dependency 'ffaker', '~> 2.21'
spec.add_development_dependency 'fasterer', '~> 0.10.1'
spec.add_development_dependency 'ffaker', '~> 2.23'
spec.add_development_dependency 'net-ftp', '~> 0.2.0'
spec.add_development_dependency 'pry-byebug', '~> 3.10', '>= 3.10.1'
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
spec.add_development_dependency 'reek', '~> 6.1', '>= 6.1.3'
spec.add_development_dependency 'reek', '~> 6.1', '>= 6.1.4'
spec.add_development_dependency 'rspec', '~> 3.12'
spec.add_development_dependency 'rspec-dns', '~> 0.1.8'
spec.add_development_dependency 'rubocop', '~> 1.42'
spec.add_development_dependency 'rubocop-performance', '~> 1.15', '>= 1.15.2'
spec.add_development_dependency 'rubocop-rspec', '~> 2.16'
spec.add_development_dependency 'rubocop', '~> 1.56', '>= 1.56.4'
spec.add_development_dependency 'rubocop-performance', '~> 1.19', '>= 1.19.1'
spec.add_development_dependency 'rubocop-rspec', '~> 2.24', '>= 2.24.1'
spec.add_development_dependency 'simplecov', '~> 0.22.0'
end
6 changes: 6 additions & 0 deletions .circleci/linter_configs/.rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@ Layout/EmptyLineAfterGuardClause:
Gemspec/RequireMFA:
Enabled: false

Gemspec/DevelopmentDependencies:
Enabled: false

# Performance -----------------------------------------------------------------

Performance/MethodObjectAsBlock:
Expand Down Expand Up @@ -127,3 +130,6 @@ RSpec/StubbedMock:

RSpec/VerifiedDoubleReference:
Enabled: false

RSpec/IndexedLet:
Enabled: false
2 changes: 1 addition & 1 deletion .codeclimate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ checks:
plugins:
rubocop:
enabled: true
channel: rubocop-1-42
channel: rubocop-1-56
config:
file: .circleci/linter_configs/.rubocop.yml

Expand Down
34 changes: 17 additions & 17 deletions .reek.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,35 +11,35 @@ detectors:
UtilityFunction:
exclude:
- DnsMock::Server::RecordsDictionaryBuilder#build_records_instances_by_type
- DnsMock::RecordsDictionaryHelper#hostname_records_by_type
- DnsMock::DnsMessageHelper#to_dns_name
- DnsMock::ContextGeneratorHelper#random_dns_record_type
- DnsMock::ContextGeneratorHelper#random_hostname
- DnsMock::ContextGeneratorHelper#create_dns_name
- DnsMock::ContextGeneratorHelper#random_ip_v4_address
- DnsMock::ContextGeneratorHelper#random_ip_v6_address
- DnsMock::ContextGeneratorHelper#random_txt_record_context
- DnsMock::ContextGeneratorHelper#to_punycode_hostname
- DnsMock::RecordsDictionaryHelper#create_records_dictionary_by_records
- DnsMock::ServerHelper#start_random_server
- DnsMock::ServerHelper#stop_all_running_servers
- DnsMock::ContextGeneratorHelper#random_port_number
- DnsMock::RspecHelper::RecordsDictionary#hostname_records_by_type
- DnsMock::RspecHelper::DnsMessage#to_dns_name
- DnsMock::RspecHelper::ContextGenerator#random_dns_record_type
- DnsMock::RspecHelper::ContextGenerator#random_hostname
- DnsMock::RspecHelper::ContextGenerator#create_dns_name
- DnsMock::RspecHelper::ContextGenerator#random_ip_v4_address
- DnsMock::RspecHelper::ContextGenerator#random_ip_v6_address
- DnsMock::RspecHelper::ContextGenerator#random_txt_record_context
- DnsMock::RspecHelper::ContextGenerator#to_punycode_hostname
- DnsMock::RspecHelper::RecordsDictionary#create_records_dictionary_by_records
- DnsMock::RspecHelper::Server#start_random_server
- DnsMock::RspecHelper::Server#stop_all_running_servers
- DnsMock::RspecHelper::ContextGenerator#random_port_number
- DnsMock::TestFramework::RSpec::Helper#dns_mock_server
- DnsMock::ContextGeneratorHelper#to_rdns_hostaddress
- DnsMock::RspecHelper::ContextGenerator#to_rdns_hostaddress

DuplicateMethodCall:
exclude:
- DnsMock::ContextGeneratorHelper#create_records
- DnsMock::RspecHelper::ContextGenerator#create_records

ControlParameter:
exclude:
- DnsMock::Error::Helper#raise_unless
- DnsMock::Server#initialize
- DnsMock::ContextGeneratorHelper#to_punycode_hostname
- DnsMock::RspecHelper::ContextGenerator#to_punycode_hostname

MissingSafeMethod:
exclude:
- DnsMock::PortInUseHelper::TransportService
- DnsMock::RspecHelper::PortInUse::TransportService
- DnsMock::Server

TooManyStatements:
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.5.16] - 2023-10-05

### Updated

- Updated gemspecs
- Updated gem version

## [1.5.15] - 2023-01-11

### Added
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at admin@bestweb.com.ua. All
reported by contacting the project team at <admin@bestweb.com.ua>. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Expand Down
6 changes: 5 additions & 1 deletion dns_mock.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,17 @@ Gem::Specification.new do |spec|
'bug_tracker_uri' => 'https://github.com/mocktools/ruby-dns-mock/issues'
}

current_ruby_version = ::Gem::Version.new(::RUBY_VERSION)
ffaker_version = current_ruby_version >= ::Gem::Version.new('3.0.0') ? '~> 2.23' : '~> 2.21'

spec.required_ruby_version = '>= 2.5.0'
spec.files = `git ls-files -z`.split("\x0").select { |f| f.match(%r{^(bin|lib)/|.ruby-version|dns_mock.gemspec|LICENSE}) }
spec.require_paths = %w[lib]

spec.add_runtime_dependency 'simpleidn', '~> 0.2.1'

spec.add_development_dependency 'ffaker', '~> 2.21'
spec.add_development_dependency 'ffaker', ffaker_version
spec.add_development_dependency 'net-ftp', '~> 0.2.0' if current_ruby_version >= ::Gem::Version.new('3.1.0')
spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
spec.add_development_dependency 'rspec', '~> 3.12'
spec.add_development_dependency 'rspec-dns', '~> 0.1.8'
Expand Down
4 changes: 2 additions & 2 deletions lib/dns_mock/test_framework/rspec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

require 'rspec/core'
require_relative '../../dns_mock'
require_relative './rspec/interface'
require_relative './rspec/helper'
require_relative 'rspec/interface'
require_relative 'rspec/helper'

RSpec.configure do |config|
config.before(:suite) { DnsMock::TestFramework::RSpec::Interface.start_server }
Expand Down
2 changes: 1 addition & 1 deletion lib/dns_mock/test_framework/rspec/helper.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# frozen_string_literal: true

require_relative './interface'
require_relative 'interface'

module DnsMock
module TestFramework
Expand Down
2 changes: 1 addition & 1 deletion lib/dns_mock/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module DnsMock
VERSION = '1.5.15'
VERSION = '1.5.16'
end
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# frozen_string_literal: true

RSpec.describe DnsMock::ContextGeneratorHelper, type: :helper do # rubocop:disable RSpec/FilePath
RSpec.describe DnsMock::RspecHelper::ContextGenerator, type: :helper do
describe 'defined constants' do
it { expect(described_class).to be_const_defined(:NON_ASCII_WORDS) }
end
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# frozen_string_literal: true

RSpec.describe DnsMock::DnsMessageHelper, type: :helper do # rubocop:disable RSpec/FilePath
RSpec.describe DnsMock::RspecHelper::DnsMessage, type: :helper do
describe '#create_request_binary_dns_message' do
subject(:request_binary_dns_message) { create_request_binary_dns_message(hostname, record_type) }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# frozen_string_literal: true

RSpec.describe DnsMock::PortInUseHelper, type: :helper do # rubocop:disable RSpec/FilePath
RSpec.describe DnsMock::RspecHelper::PortInUse, type: :helper do
let(:port_number) { 49_978 }

describe '#udp_service' do
context 'when port number is free' do
it 'has the same port number' do
expect(udp_service(port_number)).to be_an_instance_of(DnsMock::PortInUseHelper::UdpService)
expect(udp_service(port_number)).to be_an_instance_of(DnsMock::RspecHelper::PortInUse::UdpService)
expect(udp_service.port).to eq(port_number)
end

Expand Down Expand Up @@ -34,7 +34,7 @@
describe '#tcp_service' do
context 'when port number is free' do
it 'has the same port number' do
expect(tcp_service(port_number)).to be_an_instance_of(DnsMock::PortInUseHelper::TcpService)
expect(tcp_service(port_number)).to be_an_instance_of(DnsMock::RspecHelper::PortInUse::TcpService)
expect(tcp_service.port).to eq(port_number)
end

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# frozen_string_literal: true

RSpec.describe DnsMock::RecordsDictionaryHelper, type: :helper do # rubocop:disable RSpec/FilePath
RSpec.describe DnsMock::RspecHelper::RecordsDictionary, type: :helper do
describe '#create_records_dictionary' do
subject(:records_dictionary) { create_records_dictionary(hostname, *options) }

Expand All @@ -19,7 +19,7 @@
subject(:records_dictionary) { create_records_dictionary }

it 'returns records dictionary with random hostname and records' do
expect(DnsMock::ContextGeneratorHelper).to receive(:random_hostname).and_call_original
expect(DnsMock::RspecHelper::ContextGenerator).to receive(:random_hostname).and_call_original
expect(records_dictionary).to be_an_instance_of(::Hash)
end
end
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# frozen_string_literal: true

RSpec.describe DnsMock::ServerHelper, type: :helper do # rubocop:disable RSpec/FilePath
RSpec.describe DnsMock::RspecHelper::Server, type: :helper do
describe '#start_random_server' do
let(:server_instance) { instance_double('DnsMockServer') }

Expand Down
10 changes: 5 additions & 5 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
config.disable_monkey_patching!
config.order = :random

config.include DnsMock::ContextGeneratorHelper
config.include DnsMock::RecordsDictionaryHelper
config.include DnsMock::DnsMessageHelper
config.include DnsMock::PortInUseHelper
config.include DnsMock::ServerHelper
config.include DnsMock::RspecHelper::ContextGenerator
config.include DnsMock::RspecHelper::RecordsDictionary
config.include DnsMock::RspecHelper::DnsMessage
config.include DnsMock::RspecHelper::PortInUse
config.include DnsMock::RspecHelper::Server

::Kernel.srand(config.seed)
end
Loading

0 comments on commit 963aa8d

Please sign in to comment.