karafka-testing 2.5.4 → 2.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +81 -43
- data/.github/workflows/push.yml +3 -3
- data/.github/workflows/trigger-wiki-refresh.yml +1 -1
- data/.github/workflows/verify-action-pins.yml +1 -1
- data/.gitignore +1 -0
- data/.rubocop.yml +32 -0
- data/.ruby-version +1 -1
- data/.yard-lint.yml +275 -0
- data/CHANGELOG.md +12 -4
- data/Gemfile +10 -3
- data/Gemfile.lint +14 -0
- data/Gemfile.lint.lock +108 -0
- data/Gemfile.lock +56 -19
- data/Rakefile +12 -2
- data/karafka-testing.gemspec +22 -22
- data/lib/karafka/testing/minitest/helpers.rb +90 -23
- data/lib/karafka/testing/minitest/proxy.rb +11 -6
- data/lib/karafka/testing/rspec/helpers.rb +113 -24
- data/lib/karafka/testing/rspec/proxy.rb +11 -6
- data/lib/karafka/testing/version.rb +1 -1
- data/lib/karafka/testing.rb +3 -3
- data/lib/karafka-testing.rb +1 -1
- data/package-lock.json +331 -0
- data/package.json +9 -0
- data/renovate.json +16 -3
- metadata +8 -5
- data/.coditsu/ci.yml +0 -3
- data/.diffend.yml +0 -3
- data/.rspec +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1b3f0a88c86d120feff8bfdddb122bd93437bd44bd6f4d3dbf5207ff940ee699
|
|
4
|
+
data.tar.gz: 4b60d4ea6e294735883d11e35b807ffdb7913f1b67e72e8c6ff8e56bddf47db0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e352a7fcebc358d5a9cc21c58e2e64ff8ea4e3dd8a70ce8493afbf1c255907d83cb4cd5425a7d3c289d1c595f0a23a36240f2255e3a7262ae0efffab333b9676
|
|
7
|
+
data.tar.gz: 28d77f9ac53ff9e97302e754fe4b777405bb9df018716ab8ef576bdcbbbf1019e4f656d0fd7ed02f65b21ead5a1f900ccfab9bbd5a3bd7bb0fd06698d92f2483
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -14,23 +14,22 @@ permissions:
|
|
|
14
14
|
contents: read
|
|
15
15
|
|
|
16
16
|
jobs:
|
|
17
|
-
|
|
17
|
+
tests:
|
|
18
18
|
timeout-minutes: 30
|
|
19
19
|
runs-on: ubuntu-latest
|
|
20
|
-
needs: diffend
|
|
21
20
|
strategy:
|
|
22
21
|
fail-fast: false
|
|
23
22
|
matrix:
|
|
24
23
|
ruby:
|
|
25
|
-
- '
|
|
24
|
+
- '4.0'
|
|
26
25
|
- '3.4'
|
|
27
26
|
- '3.3'
|
|
28
27
|
- '3.2'
|
|
29
28
|
include:
|
|
30
|
-
- ruby: '
|
|
29
|
+
- ruby: '4.0'
|
|
31
30
|
coverage: 'true'
|
|
32
31
|
steps:
|
|
33
|
-
- uses: actions/checkout@
|
|
32
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
34
33
|
with:
|
|
35
34
|
fetch-depth: 0
|
|
36
35
|
|
|
@@ -38,7 +37,7 @@ jobs:
|
|
|
38
37
|
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
|
|
39
38
|
|
|
40
39
|
- name: Set up Ruby
|
|
41
|
-
uses: ruby/setup-ruby@
|
|
40
|
+
uses: ruby/setup-ruby@eab2afb99481ca09a4e91171a8e0aee0e89bfedd # v1.296.0
|
|
42
41
|
with:
|
|
43
42
|
ruby-version: ${{matrix.ruby}}
|
|
44
43
|
bundler: 'latest'
|
|
@@ -53,65 +52,104 @@ jobs:
|
|
|
53
52
|
run: |
|
|
54
53
|
bundle install --jobs 4 --retry 3
|
|
55
54
|
|
|
56
|
-
|
|
55
|
+
- name: Run all tests
|
|
56
|
+
env:
|
|
57
|
+
GITHUB_COVERAGE: ${{matrix.coverage}}
|
|
58
|
+
run: bundle exec rake test
|
|
59
|
+
|
|
60
|
+
rubocop:
|
|
57
61
|
timeout-minutes: 5
|
|
58
62
|
runs-on: ubuntu-latest
|
|
59
|
-
|
|
60
|
-
|
|
63
|
+
env:
|
|
64
|
+
BUNDLE_GEMFILE: Gemfile.lint
|
|
61
65
|
steps:
|
|
62
|
-
- uses: actions/checkout@
|
|
66
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
63
67
|
with:
|
|
64
68
|
fetch-depth: 0
|
|
65
|
-
|
|
66
69
|
- name: Set up Ruby
|
|
67
|
-
uses: ruby/setup-ruby@
|
|
70
|
+
uses: ruby/setup-ruby@eab2afb99481ca09a4e91171a8e0aee0e89bfedd # v1.296.0
|
|
68
71
|
with:
|
|
69
|
-
ruby-version:
|
|
72
|
+
ruby-version: '4.0.2'
|
|
73
|
+
bundler-cache: true
|
|
74
|
+
- name: Run rubocop
|
|
75
|
+
run: bundle exec rubocop
|
|
70
76
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-
|
|
78
|
-
|
|
77
|
+
yard-lint:
|
|
78
|
+
timeout-minutes: 5
|
|
79
|
+
runs-on: ubuntu-latest
|
|
80
|
+
env:
|
|
81
|
+
BUNDLE_GEMFILE: Gemfile.lint
|
|
82
|
+
steps:
|
|
83
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
84
|
+
- name: Set up Ruby
|
|
85
|
+
uses: ruby/setup-ruby@eab2afb99481ca09a4e91171a8e0aee0e89bfedd # v1.296.0
|
|
86
|
+
with:
|
|
87
|
+
ruby-version: '4.0.2'
|
|
88
|
+
bundler-cache: true
|
|
89
|
+
- run: bundle exec yard-lint lib/
|
|
79
90
|
|
|
80
|
-
|
|
91
|
+
minitest-integration:
|
|
81
92
|
timeout-minutes: 5
|
|
82
93
|
runs-on: ubuntu-latest
|
|
83
|
-
strategy:
|
|
84
|
-
fail-fast: false
|
|
85
94
|
steps:
|
|
86
|
-
- uses: actions/checkout@
|
|
95
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
87
96
|
with:
|
|
88
97
|
fetch-depth: 0
|
|
98
|
+
- name: Set up Ruby
|
|
99
|
+
uses: ruby/setup-ruby@eab2afb99481ca09a4e91171a8e0aee0e89bfedd # v1.296.0
|
|
100
|
+
with:
|
|
101
|
+
ruby-version: '4.0.2'
|
|
102
|
+
bundler: 'latest'
|
|
103
|
+
- name: Install dependencies
|
|
104
|
+
run: bundle install --jobs 4 --retry 3
|
|
105
|
+
- name: Run minitest integration tests
|
|
106
|
+
run: bundle exec ruby -e "Dir['test/integration/minitest/*_test.rb'].sort.each { |f| require File.expand_path(f) }"
|
|
89
107
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
108
|
+
rspec-integration:
|
|
109
|
+
timeout-minutes: 5
|
|
110
|
+
runs-on: ubuntu-latest
|
|
111
|
+
steps:
|
|
112
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
113
|
+
with:
|
|
114
|
+
fetch-depth: 0
|
|
115
|
+
- name: Set up Ruby
|
|
116
|
+
uses: ruby/setup-ruby@eab2afb99481ca09a4e91171a8e0aee0e89bfedd # v1.296.0
|
|
117
|
+
with:
|
|
118
|
+
ruby-version: '4.0.2'
|
|
119
|
+
bundler: 'latest'
|
|
120
|
+
- name: Install dependencies
|
|
121
|
+
run: bundle install --jobs 4 --retry 3
|
|
122
|
+
- name: Run rspec integration tests
|
|
123
|
+
run: bundle exec rspec test/integration/rspec --require ./test/integration/rspec_helper.rb
|
|
103
124
|
|
|
104
|
-
|
|
105
|
-
|
|
125
|
+
lostconf:
|
|
126
|
+
timeout-minutes: 5
|
|
127
|
+
runs-on: ubuntu-latest
|
|
128
|
+
steps:
|
|
129
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
130
|
+
with:
|
|
131
|
+
fetch-depth: 0
|
|
132
|
+
- name: Set up Node.js
|
|
133
|
+
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
|
134
|
+
with:
|
|
135
|
+
node-version: '20'
|
|
136
|
+
cache: 'npm'
|
|
137
|
+
- name: Install dependencies
|
|
138
|
+
run: npm ci
|
|
139
|
+
- name: Run lostconf
|
|
140
|
+
run: npx lostconf --fail-on-stale
|
|
106
141
|
|
|
107
142
|
ci-success:
|
|
108
143
|
name: CI Success
|
|
109
144
|
runs-on: ubuntu-latest
|
|
110
145
|
if: always()
|
|
111
146
|
needs:
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
147
|
+
- rubocop
|
|
148
|
+
- tests
|
|
149
|
+
- minitest-integration
|
|
150
|
+
- rspec-integration
|
|
151
|
+
- yard-lint
|
|
152
|
+
- lostconf
|
|
115
153
|
steps:
|
|
116
154
|
- name: Check all jobs passed
|
|
117
155
|
if: |
|
data/.github/workflows/push.yml
CHANGED
|
@@ -19,12 +19,12 @@ jobs:
|
|
|
19
19
|
id-token: write
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
|
-
- uses: actions/checkout@
|
|
22
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
23
23
|
with:
|
|
24
24
|
fetch-depth: 0
|
|
25
25
|
|
|
26
26
|
- name: Set up Ruby
|
|
27
|
-
uses: ruby/setup-ruby@
|
|
27
|
+
uses: ruby/setup-ruby@eab2afb99481ca09a4e91171a8e0aee0e89bfedd # v1.296.0
|
|
28
28
|
with:
|
|
29
29
|
bundler-cache: false
|
|
30
30
|
|
|
@@ -32,4 +32,4 @@ jobs:
|
|
|
32
32
|
run: |
|
|
33
33
|
bundle install --jobs 4 --retry 3
|
|
34
34
|
|
|
35
|
-
- uses: rubygems/release-gem@
|
|
35
|
+
- uses: rubygems/release-gem@e9a6361a0b14562539327c2a02373edc56dd3169 # v1.1.4
|
|
@@ -13,7 +13,7 @@ jobs:
|
|
|
13
13
|
if: github.repository_owner == 'karafka'
|
|
14
14
|
steps:
|
|
15
15
|
- name: Trigger wiki refresh
|
|
16
|
-
uses: peter-evans/repository-dispatch@
|
|
16
|
+
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
|
|
17
17
|
with:
|
|
18
18
|
token: ${{ secrets.WIKI_REPO_TOKEN }}
|
|
19
19
|
repository: karafka/wiki
|
|
@@ -7,7 +7,7 @@ jobs:
|
|
|
7
7
|
verify_action_pins:
|
|
8
8
|
runs-on: ubuntu-latest
|
|
9
9
|
steps:
|
|
10
|
-
- uses: actions/checkout@
|
|
10
|
+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
11
11
|
- name: Check SHA pins
|
|
12
12
|
run: |
|
|
13
13
|
if grep -E -r "uses: .*/.*@(v[0-9]+|main|master)($|[[:space:]]|$)" --include="*.yml" --include="*.yaml" .github/workflows/ | grep -v "#"; then
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
plugins:
|
|
4
|
+
- rubocop-minitest
|
|
5
|
+
- rubocop-performance
|
|
6
|
+
- rubocop-thread_safety
|
|
7
|
+
|
|
8
|
+
inherit_gem:
|
|
9
|
+
standard: config/base.yml
|
|
10
|
+
standard-performance: config/base.yml
|
|
11
|
+
standard-minitest: config/base.yml
|
|
12
|
+
|
|
13
|
+
AllCops:
|
|
14
|
+
NewCops: enable
|
|
15
|
+
TargetRubyVersion: 3.2
|
|
16
|
+
|
|
17
|
+
# Layout
|
|
18
|
+
Layout/LineLength:
|
|
19
|
+
Max: 100
|
|
20
|
+
|
|
21
|
+
Layout/SpaceInsideHashLiteralBraces:
|
|
22
|
+
EnforcedStyle: space
|
|
23
|
+
|
|
24
|
+
# ThreadSafety
|
|
25
|
+
ThreadSafety/ClassAndModuleAttributes:
|
|
26
|
+
Enabled: false
|
|
27
|
+
|
|
28
|
+
ThreadSafety/ClassInstanceVariable:
|
|
29
|
+
Enabled: false
|
|
30
|
+
|
|
31
|
+
ThreadSafety/NewThread:
|
|
32
|
+
Enabled: false
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
4.0.2
|
data/.yard-lint.yml
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# YARD-Lint Configuration
|
|
2
|
+
# See https://github.com/mensfeld/yard-lint for documentation
|
|
3
|
+
|
|
4
|
+
# Global settings for all validators
|
|
5
|
+
AllValidators:
|
|
6
|
+
YardOptions:
|
|
7
|
+
- "--private"
|
|
8
|
+
- "--protected"
|
|
9
|
+
Exclude:
|
|
10
|
+
- .git/**/*
|
|
11
|
+
- vendor/**/*
|
|
12
|
+
- node_modules/**/*
|
|
13
|
+
- test/**/*
|
|
14
|
+
FailOnSeverity: convention
|
|
15
|
+
MinCoverage: 99.0
|
|
16
|
+
DiffMode:
|
|
17
|
+
DefaultBaseRef:
|
|
18
|
+
|
|
19
|
+
# Documentation validators
|
|
20
|
+
Documentation/UndocumentedObjects:
|
|
21
|
+
Description: Checks for classes, modules, and methods without documentation.
|
|
22
|
+
Enabled: true
|
|
23
|
+
Severity: error
|
|
24
|
+
ExcludedMethods:
|
|
25
|
+
- initialize/0
|
|
26
|
+
- "/^_/"
|
|
27
|
+
|
|
28
|
+
Documentation/UndocumentedMethodArguments:
|
|
29
|
+
Description: Checks for method parameters without @param tags.
|
|
30
|
+
Enabled: true
|
|
31
|
+
Severity: error
|
|
32
|
+
|
|
33
|
+
Documentation/UndocumentedBooleanMethods:
|
|
34
|
+
Description: Checks that question mark methods document their boolean return.
|
|
35
|
+
Enabled: true
|
|
36
|
+
Severity: error
|
|
37
|
+
|
|
38
|
+
Documentation/UndocumentedOptions:
|
|
39
|
+
Description: Detects methods with options hash parameters but no @option tags.
|
|
40
|
+
Enabled: true
|
|
41
|
+
Severity: error
|
|
42
|
+
|
|
43
|
+
Documentation/MarkdownSyntax:
|
|
44
|
+
Description: Detects common markdown syntax errors in documentation.
|
|
45
|
+
Enabled: true
|
|
46
|
+
Severity: error
|
|
47
|
+
|
|
48
|
+
Documentation/EmptyCommentLine:
|
|
49
|
+
Description: Detects empty comment lines at the start or end of documentation blocks.
|
|
50
|
+
Enabled: true
|
|
51
|
+
Severity: convention
|
|
52
|
+
EnabledPatterns:
|
|
53
|
+
Leading: true
|
|
54
|
+
Trailing: true
|
|
55
|
+
|
|
56
|
+
Documentation/BlankLineBeforeDefinition:
|
|
57
|
+
Description: Detects blank lines between YARD documentation and method definition.
|
|
58
|
+
Enabled: true
|
|
59
|
+
Severity: convention
|
|
60
|
+
OrphanedSeverity: convention
|
|
61
|
+
EnabledPatterns:
|
|
62
|
+
SingleBlankLine: true
|
|
63
|
+
OrphanedDocs: true
|
|
64
|
+
|
|
65
|
+
# Tags validators
|
|
66
|
+
Tags/Order:
|
|
67
|
+
Description: Enforces consistent ordering of YARD tags.
|
|
68
|
+
Enabled: true
|
|
69
|
+
Severity: error
|
|
70
|
+
EnforcedOrder:
|
|
71
|
+
- param
|
|
72
|
+
- option
|
|
73
|
+
- return
|
|
74
|
+
- raise
|
|
75
|
+
- example
|
|
76
|
+
|
|
77
|
+
Tags/InvalidTypes:
|
|
78
|
+
Description: Validates type definitions in @param, @return, @option tags.
|
|
79
|
+
Enabled: true
|
|
80
|
+
Severity: error
|
|
81
|
+
ValidatedTags:
|
|
82
|
+
- param
|
|
83
|
+
- option
|
|
84
|
+
- return
|
|
85
|
+
|
|
86
|
+
Tags/TypeSyntax:
|
|
87
|
+
Description: Validates YARD type syntax using YARD parser.
|
|
88
|
+
Enabled: true
|
|
89
|
+
Severity: error
|
|
90
|
+
ValidatedTags:
|
|
91
|
+
- param
|
|
92
|
+
- option
|
|
93
|
+
- return
|
|
94
|
+
- yieldreturn
|
|
95
|
+
|
|
96
|
+
Tags/MeaninglessTag:
|
|
97
|
+
Description: Detects @param/@option tags on classes, modules, or constants.
|
|
98
|
+
Enabled: true
|
|
99
|
+
Severity: error
|
|
100
|
+
CheckedTags:
|
|
101
|
+
- param
|
|
102
|
+
- option
|
|
103
|
+
InvalidObjectTypes:
|
|
104
|
+
- class
|
|
105
|
+
- module
|
|
106
|
+
- constant
|
|
107
|
+
|
|
108
|
+
Tags/CollectionType:
|
|
109
|
+
Description: Validates Hash collection syntax consistency.
|
|
110
|
+
Enabled: true
|
|
111
|
+
Severity: error
|
|
112
|
+
EnforcedStyle: long
|
|
113
|
+
ValidatedTags:
|
|
114
|
+
- param
|
|
115
|
+
- option
|
|
116
|
+
- return
|
|
117
|
+
- yieldreturn
|
|
118
|
+
|
|
119
|
+
Tags/TagTypePosition:
|
|
120
|
+
Description: Validates type annotation position in tags.
|
|
121
|
+
Enabled: true
|
|
122
|
+
Severity: error
|
|
123
|
+
CheckedTags:
|
|
124
|
+
- param
|
|
125
|
+
- option
|
|
126
|
+
EnforcedStyle: type_after_name
|
|
127
|
+
|
|
128
|
+
Tags/ApiTags:
|
|
129
|
+
Description: Enforces @api tags on public objects.
|
|
130
|
+
Enabled: false
|
|
131
|
+
Severity: error
|
|
132
|
+
AllowedApis:
|
|
133
|
+
- public
|
|
134
|
+
- private
|
|
135
|
+
- internal
|
|
136
|
+
|
|
137
|
+
Tags/OptionTags:
|
|
138
|
+
Description: Requires @option tags for methods with options parameters.
|
|
139
|
+
Enabled: true
|
|
140
|
+
Severity: error
|
|
141
|
+
|
|
142
|
+
Tags/ExampleSyntax:
|
|
143
|
+
Description: Validates Ruby syntax in @example tags.
|
|
144
|
+
Enabled: true
|
|
145
|
+
Severity: warning
|
|
146
|
+
|
|
147
|
+
Tags/RedundantParamDescription:
|
|
148
|
+
Description: Detects meaningless parameter descriptions that add no value.
|
|
149
|
+
Enabled: true
|
|
150
|
+
Severity: convention
|
|
151
|
+
CheckedTags:
|
|
152
|
+
- param
|
|
153
|
+
- option
|
|
154
|
+
Articles:
|
|
155
|
+
- The
|
|
156
|
+
- the
|
|
157
|
+
- A
|
|
158
|
+
- a
|
|
159
|
+
- An
|
|
160
|
+
- an
|
|
161
|
+
MaxRedundantWords: 6
|
|
162
|
+
GenericTerms:
|
|
163
|
+
- object
|
|
164
|
+
- instance
|
|
165
|
+
- value
|
|
166
|
+
- data
|
|
167
|
+
- item
|
|
168
|
+
- element
|
|
169
|
+
EnabledPatterns:
|
|
170
|
+
ArticleParam: true
|
|
171
|
+
PossessiveParam: true
|
|
172
|
+
TypeRestatement: true
|
|
173
|
+
ParamToVerb: true
|
|
174
|
+
IdPattern: true
|
|
175
|
+
DirectionalDate: true
|
|
176
|
+
TypeGeneric: true
|
|
177
|
+
|
|
178
|
+
Tags/InformalNotation:
|
|
179
|
+
Description: Detects informal tag notation patterns like "Note:" instead of @note.
|
|
180
|
+
Enabled: true
|
|
181
|
+
Severity: warning
|
|
182
|
+
CaseSensitive: false
|
|
183
|
+
RequireStartOfLine: true
|
|
184
|
+
Patterns:
|
|
185
|
+
Note: "@note"
|
|
186
|
+
Todo: "@todo"
|
|
187
|
+
TODO: "@todo"
|
|
188
|
+
FIXME: "@todo"
|
|
189
|
+
See: "@see"
|
|
190
|
+
See also: "@see"
|
|
191
|
+
Warning: "@deprecated"
|
|
192
|
+
Deprecated: "@deprecated"
|
|
193
|
+
Author: "@author"
|
|
194
|
+
Version: "@version"
|
|
195
|
+
Since: "@since"
|
|
196
|
+
Returns: "@return"
|
|
197
|
+
Raises: "@raise"
|
|
198
|
+
Example: "@example"
|
|
199
|
+
|
|
200
|
+
Tags/NonAsciiType:
|
|
201
|
+
Description: Detects non-ASCII characters in type annotations.
|
|
202
|
+
Enabled: true
|
|
203
|
+
Severity: warning
|
|
204
|
+
ValidatedTags:
|
|
205
|
+
- param
|
|
206
|
+
- option
|
|
207
|
+
- return
|
|
208
|
+
- yieldreturn
|
|
209
|
+
- yieldparam
|
|
210
|
+
|
|
211
|
+
Tags/TagGroupSeparator:
|
|
212
|
+
Description: Enforces blank line separators between different YARD tag groups.
|
|
213
|
+
Enabled: false
|
|
214
|
+
Severity: convention
|
|
215
|
+
TagGroups:
|
|
216
|
+
param:
|
|
217
|
+
- param
|
|
218
|
+
- option
|
|
219
|
+
return:
|
|
220
|
+
- return
|
|
221
|
+
error:
|
|
222
|
+
- raise
|
|
223
|
+
- throws
|
|
224
|
+
example:
|
|
225
|
+
- example
|
|
226
|
+
meta:
|
|
227
|
+
- see
|
|
228
|
+
- note
|
|
229
|
+
- todo
|
|
230
|
+
- deprecated
|
|
231
|
+
- since
|
|
232
|
+
- version
|
|
233
|
+
- api
|
|
234
|
+
yield:
|
|
235
|
+
- yield
|
|
236
|
+
- yieldparam
|
|
237
|
+
- yieldreturn
|
|
238
|
+
RequireAfterDescription: false
|
|
239
|
+
|
|
240
|
+
# Warnings validators - catches YARD parser errors
|
|
241
|
+
Warnings/UnknownTag:
|
|
242
|
+
Description: Detects unknown YARD tags.
|
|
243
|
+
Enabled: true
|
|
244
|
+
Severity: error
|
|
245
|
+
|
|
246
|
+
Warnings/UnknownDirective:
|
|
247
|
+
Description: Detects unknown YARD directives.
|
|
248
|
+
Enabled: true
|
|
249
|
+
Severity: error
|
|
250
|
+
|
|
251
|
+
Warnings/InvalidTagFormat:
|
|
252
|
+
Description: Detects malformed tag syntax.
|
|
253
|
+
Enabled: true
|
|
254
|
+
Severity: error
|
|
255
|
+
|
|
256
|
+
Warnings/InvalidDirectiveFormat:
|
|
257
|
+
Description: Detects malformed directive syntax.
|
|
258
|
+
Enabled: true
|
|
259
|
+
Severity: error
|
|
260
|
+
|
|
261
|
+
Warnings/DuplicatedParameterName:
|
|
262
|
+
Description: Detects duplicate @param tags.
|
|
263
|
+
Enabled: true
|
|
264
|
+
Severity: error
|
|
265
|
+
|
|
266
|
+
Warnings/UnknownParameterName:
|
|
267
|
+
Description: Detects @param tags for non-existent parameters.
|
|
268
|
+
Enabled: true
|
|
269
|
+
Severity: error
|
|
270
|
+
|
|
271
|
+
# Semantic validators
|
|
272
|
+
Semantic/AbstractMethods:
|
|
273
|
+
Description: Ensures @abstract methods do not have real implementations.
|
|
274
|
+
Enabled: true
|
|
275
|
+
Severity: error
|
data/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
# Karafka Testing Changelog
|
|
2
2
|
|
|
3
|
+
## 2.5.6 (2026-04-02)
|
|
4
|
+
- [Feature] Support custom `offset` option in `karafka.produce` for test message production (#230).
|
|
5
|
+
- [Feature] Restore ability to use implicit RSpec `subject` in consumer specs when `described_class` inherits from `Karafka::BaseConsumer` (#110).
|
|
6
|
+
|
|
7
|
+
## 2.5.5 (2025-11-28)
|
|
8
|
+
- [Feature] Add `produce_to` method for explicit consumer targeting in multi-consumer scenarios.
|
|
9
|
+
- [Fix] Fix consumer mapping collision when multiple consumer groups listen to the same topic.
|
|
10
|
+
|
|
3
11
|
## 2.5.4 (2025-10-03)
|
|
4
12
|
- [Fix] Topic present in second dynamically built subscription group not available for dispatch (#291).
|
|
5
|
-
- [
|
|
13
|
+
- **[EOL]** Remove Ruby `3.1` according to the EOL schedule.
|
|
6
14
|
|
|
7
15
|
## 2.5.3 (2025-08-12)
|
|
8
16
|
- [Fix] Allow testing consumers with Pro expansions (i.e. Piping).
|
|
@@ -19,7 +27,7 @@
|
|
|
19
27
|
- [Maintenance] Release matching Karafka `2.5.0` release.
|
|
20
28
|
|
|
21
29
|
## 2.4.7 (2025-04-01)
|
|
22
|
-
- **[
|
|
30
|
+
- **[EOL]** Drop Ruby `3.0` support according to the EOL schedule.
|
|
23
31
|
- **[Fix]** Check not only that `Mocha` is loaded but also that its stubs are used.
|
|
24
32
|
|
|
25
33
|
## 2.4.6 (2024-07-31)
|
|
@@ -44,7 +52,7 @@
|
|
|
44
52
|
- [Fix] Fix instance variable in minitest helper (tldn0718)
|
|
45
53
|
|
|
46
54
|
## 2.4.0 (2024-04-26)
|
|
47
|
-
- **[
|
|
55
|
+
- **[EOL]** Drop Ruby `2.7` support.
|
|
48
56
|
- [Refactor] Extract common components for Minitest and RSpec.
|
|
49
57
|
- [Fix] Support again `require: false` on gem loading.
|
|
50
58
|
- [Fix] Fix a case where multiplexed SG would fail with `TopicInManyConsumerGroupsError`
|
|
@@ -153,7 +161,7 @@
|
|
|
153
161
|
- Change the API to be more comprehensive
|
|
154
162
|
- Update to work with Karafka 2.0
|
|
155
163
|
- Support for Ruby 3.1
|
|
156
|
-
- Drop support for ruby 2.6
|
|
164
|
+
- **[EOL]** Drop support for ruby 2.6
|
|
157
165
|
|
|
158
166
|
## 1.4.*
|
|
159
167
|
|
data/Gemfile
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
source
|
|
4
|
-
|
|
5
|
-
plugin 'diffend'
|
|
3
|
+
source "https://rubygems.org"
|
|
6
4
|
|
|
7
5
|
gemspec
|
|
6
|
+
|
|
7
|
+
group :test do
|
|
8
|
+
gem "minitest"
|
|
9
|
+
gem "mocha"
|
|
10
|
+
gem "ostruct"
|
|
11
|
+
gem "rspec"
|
|
12
|
+
gem "simplecov"
|
|
13
|
+
gem "warning"
|
|
14
|
+
end
|
data/Gemfile.lint
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
# Documentation linting
|
|
6
|
+
gem "yard-lint"
|
|
7
|
+
|
|
8
|
+
# Code style (StandardRB via RuboCop)
|
|
9
|
+
gem "standard"
|
|
10
|
+
gem "standard-performance"
|
|
11
|
+
gem "rubocop-performance"
|
|
12
|
+
gem "rubocop-minitest"
|
|
13
|
+
gem "standard-minitest"
|
|
14
|
+
gem "rubocop-thread_safety"
|