tdl-client-ruby 0.27.1 → 0.29.4
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/dependabot.yml +11 -0
- data/.github/workflows/build_and_test.yml +45 -0
- data/.github/workflows/publish.yml +39 -0
- data/.github/workflows/release.yml +46 -0
- data/.gitmodules +0 -6
- data/.ruby-version +1 -1
- data/Gemfile +1 -1
- data/README.md +68 -43
- data/Rakefile +0 -2
- data/lib/tdl/audit/presentation_utils.rb +48 -0
- data/lib/tdl/queue/abstractions/request.rb +0 -8
- data/lib/tdl/queue/abstractions/response/fatal_error_response.rb +3 -6
- data/lib/tdl/queue/abstractions/response/valid_response.rb +0 -6
- data/lib/tdl/queue/queue_based_implementation_runner.rb +20 -4
- data/tdl-client-ruby.gemspec +12 -36
- metadata +63 -25
- data/lib/tdl/previous_version.rb +0 -4
- data/lib/tdl/util.rb +0 -25
- data/release.sh +0 -44
- data/startExternalDependencies.sh +0 -19
- data/stopExternalDependencies.sh +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e64bfd9dd197392feb63e983cf7e7c750a7230c22df262f36df9bb0b2a0220c0
|
4
|
+
data.tar.gz: 0e6729ab9ca8032daf6cec1729ced178eb73a9a92843b01634169db3935defb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0902bab8f5252f03c9c023f9d7ddf375a23640bd341c1fdfdb45039bf53cf7157616060a637016f0a10b89b08d557bf174383dea3d57c3e080c97090ad5f1b70'
|
7
|
+
data.tar.gz: 70d5e958a0d07dade50f43190e321ed7e49bc299c88df38428326aabd28ddb79ca03a8f7f475503a828d2a34a47ff275534ab46167e7edb3266f0c909e5b2680
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# To get started with Dependabot version updates, you'll need to specify which
|
2
|
+
# package ecosystems to update and where the package manifests are located.
|
3
|
+
# Please see the documentation for all configuration options:
|
4
|
+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
5
|
+
|
6
|
+
version: 2
|
7
|
+
updates:
|
8
|
+
- package-ecosystem: "bundler" # See documentation for possible values
|
9
|
+
directory: "/" # Location of package manifests
|
10
|
+
schedule:
|
11
|
+
interval: "monthly"
|
@@ -0,0 +1,45 @@
|
|
1
|
+
name: Ruby test
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build-and-test:
|
7
|
+
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
|
10
|
+
services:
|
11
|
+
activemq:
|
12
|
+
image: apache/activemq-classic:6.1.0
|
13
|
+
ports:
|
14
|
+
- 28161:8161
|
15
|
+
- 21613:61613
|
16
|
+
challenge-server:
|
17
|
+
image: wiremock/wiremock:3.7.0
|
18
|
+
ports:
|
19
|
+
- 8222:8080
|
20
|
+
recording-server:
|
21
|
+
image: wiremock/wiremock:3.7.0
|
22
|
+
ports:
|
23
|
+
- 41375:8080
|
24
|
+
|
25
|
+
steps:
|
26
|
+
- uses: actions/checkout@v4
|
27
|
+
with:
|
28
|
+
submodules: 'true'
|
29
|
+
|
30
|
+
# ~~~~~~~~~~~~~ Ruby setup ~~~~~~~~~~~~~
|
31
|
+
- name: Set up Ruby
|
32
|
+
uses: ruby/setup-ruby@v1
|
33
|
+
with:
|
34
|
+
ruby-version: '3.4' # Adjust to your Ruby version
|
35
|
+
bundler-cache: true
|
36
|
+
|
37
|
+
- name: Display Ruby version
|
38
|
+
run: ruby -v
|
39
|
+
|
40
|
+
- name: Install dependencies
|
41
|
+
run: bundle install
|
42
|
+
|
43
|
+
# ~~~~~~~~~~~~~ Test ~~~~~~~~~~~~~
|
44
|
+
- name: Run tests
|
45
|
+
run: bundle exec rake features
|
@@ -0,0 +1,39 @@
|
|
1
|
+
name: Publish to RubyGems
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- v*
|
7
|
+
|
8
|
+
permissions:
|
9
|
+
contents: read
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
deploy:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v4
|
17
|
+
|
18
|
+
# ~~~~~~~~~~~~~ Ruby setup ~~~~~~~~~~~~~
|
19
|
+
- name: Set up Ruby
|
20
|
+
uses: ruby/setup-ruby@v1
|
21
|
+
with:
|
22
|
+
ruby-version: '3.4'
|
23
|
+
bundler-cache: true
|
24
|
+
|
25
|
+
- name: Display Ruby version
|
26
|
+
run: ruby -v
|
27
|
+
|
28
|
+
- name: Install dependencies
|
29
|
+
run: bundle install
|
30
|
+
|
31
|
+
# ~~~~~~~~~~~~~ Build gem ~~~~~~~~~~~~~
|
32
|
+
- name: Build gem
|
33
|
+
run: gem build tdl-client-ruby.gemspec
|
34
|
+
|
35
|
+
# ~~~~~~~~~~~~~ Publish to RubyGems ~~~~~~~~~~~~~
|
36
|
+
- name: Push to RubyGems
|
37
|
+
run: gem push *.gem
|
38
|
+
env:
|
39
|
+
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
name: Create GitHub Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- v*
|
7
|
+
|
8
|
+
permissions:
|
9
|
+
contents: write
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
build_and_release:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
|
15
|
+
steps:
|
16
|
+
- name: Checkout
|
17
|
+
uses: actions/checkout@v4
|
18
|
+
|
19
|
+
# ~~~~~~~~~~~~~ Ruby setup ~~~~~~~~~~~~~
|
20
|
+
- name: Set up Ruby
|
21
|
+
uses: ruby/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
ruby-version: '3.4' # adjust as needed
|
24
|
+
bundler-cache: true
|
25
|
+
|
26
|
+
- name: Display Ruby version
|
27
|
+
run: ruby -v
|
28
|
+
|
29
|
+
- name: Install dependencies
|
30
|
+
run: bundle install
|
31
|
+
|
32
|
+
# ~~~~~~~~~~~~~ Build the gem ~~~~~~~~~~~~~
|
33
|
+
- name: Build gem
|
34
|
+
run: gem build your_gem.gemspec
|
35
|
+
|
36
|
+
- name: Rename gem for consistency
|
37
|
+
run: |
|
38
|
+
mkdir -p pkg
|
39
|
+
mv *.gem pkg/tdl-client-ruby.gem
|
40
|
+
|
41
|
+
# ~~~~~~~~~~~~~ Create GitHub Release ~~~~~~~~~~~~~
|
42
|
+
- name: Upload Release Asset
|
43
|
+
uses: softprops/action-gh-release@v2
|
44
|
+
if: startsWith(github.ref, 'refs/tags/')
|
45
|
+
with:
|
46
|
+
files: pkg/tdl-client-ruby.gem
|
data/.gitmodules
CHANGED
@@ -1,9 +1,3 @@
|
|
1
|
-
[submodule "broker"]
|
2
|
-
path = broker
|
3
|
-
url = git@github.com:julianghionoiu/tdl-client-test-broker.git
|
4
1
|
[submodule "features/spec"]
|
5
2
|
path = features/spec
|
6
3
|
url = git@github.com:julianghionoiu/tdl-client-spec.git
|
7
|
-
[submodule "wiremock"]
|
8
|
-
path = wiremock
|
9
|
-
url = git@github.com:julianghionoiu/tdl-client-test-wiremock.git
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.4.2
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -26,21 +26,31 @@ Ruby client to connect to the central kata server.
|
|
26
26
|
### Installing
|
27
27
|
|
28
28
|
#### Install RBENV
|
29
|
+
|
29
30
|
```bash
|
30
|
-
|
31
|
+
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
|
32
|
+
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
|
31
33
|
|
32
|
-
# Then
|
33
|
-
|
34
|
-
eval "$(rbenv init -)"
|
34
|
+
# Then activate
|
35
|
+
~/.rbenv/bin/rbenv init
|
35
36
|
```
|
36
37
|
|
37
38
|
#### Install ruby
|
38
39
|
```bash
|
39
|
-
rbenv install 3.
|
40
|
-
rbenv local 3.
|
40
|
+
rbenv install 3.4.2
|
41
|
+
rbenv local 3.4.2
|
41
42
|
ruby --version
|
42
43
|
```
|
43
44
|
|
45
|
+
If the above fails, you might need to install libyaml:
|
46
|
+
```shell
|
47
|
+
https://pyyaml.org/download/libyaml/
|
48
|
+
|
49
|
+
./configure
|
50
|
+
make
|
51
|
+
make install
|
52
|
+
```
|
53
|
+
|
44
54
|
#### Install bundler
|
45
55
|
```bash
|
46
56
|
gem install bundler
|
@@ -56,39 +66,44 @@ gem install cucumber
|
|
56
66
|
bundle install
|
57
67
|
```
|
58
68
|
|
59
|
-
#### Manual
|
60
69
|
|
61
|
-
|
70
|
+
# Testing
|
62
71
|
|
63
|
-
|
72
|
+
All test require the ActiveMQ broker and Wiremock to be started.
|
64
73
|
|
65
|
-
Start
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
```
|
74
|
+
Start ActiveMQ
|
75
|
+
```shell
|
76
|
+
export ACTIVEMQ_CONTAINER=apache/activemq-classic:6.1.0
|
77
|
+
docker run -d -it --rm -p 28161:8161 -p 21613:61613 -p 21616:61616 --name activemq ${ACTIVEMQ_CONTAINER}
|
78
|
+
```
|
70
79
|
|
71
|
-
|
72
|
-
|
73
|
-
|
80
|
+
The ActiveMQ web UI can be accessed at:
|
81
|
+
http://localhost:28161/admin/
|
82
|
+
use admin/admin to login
|
83
|
+
|
84
|
+
Start two Wiremock servers
|
85
|
+
```shell
|
86
|
+
export WIREMOCK_CONTAINER=wiremock/wiremock:3.7.0
|
87
|
+
docker run -d -it --rm -p 8222:8080 --name challenge-server ${WIREMOCK_CONTAINER}
|
88
|
+
docker run -d -it --rm -p 41375:8080 --name recording-server ${WIREMOCK_CONTAINER}
|
89
|
+
```
|
74
90
|
|
75
|
-
|
91
|
+
The Wiremock admin UI can be found at:
|
92
|
+
http://localhost:8222/__admin/
|
93
|
+
and docs at
|
94
|
+
http://localhost:8222/__admin/docs
|
76
95
|
|
77
|
-
All test require the ActiveMQ broker to be started.
|
78
|
-
The following commands are available for the broker.
|
79
96
|
|
97
|
+
# Cleanup
|
98
|
+
|
99
|
+
Stop dependencies
|
80
100
|
```
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
python3 wiremock/wiremock-wrapper.py start 8222
|
101
|
+
docker stop activemq
|
102
|
+
docker stop recording-server
|
103
|
+
docker stop challenge-server
|
85
104
|
```
|
86
105
|
|
87
|
-
|
88
|
-
|
89
|
-
```bash
|
90
|
-
./startExternalDependencies.sh
|
91
|
-
```
|
106
|
+
# Tests
|
92
107
|
|
93
108
|
Run tests with:
|
94
109
|
```
|
@@ -97,26 +112,36 @@ bundle exec rake features
|
|
97
112
|
To run a single scenario execute `cucumber path/to/file.feature:line_no`
|
98
113
|
Recommendation is to use the cucumber command instead of rake always outside of CI.
|
99
114
|
|
100
|
-
|
101
|
-
|
102
|
-
Stop external dependencies
|
115
|
+
# To release
|
116
|
+
Set version manually in `tdl-client-ruby.gemspec`:
|
103
117
|
```
|
104
|
-
|
105
|
-
python3 ./broker/activemq-wrapper.py stop
|
106
|
-
python3 wiremock/wiremock-wrapper.py stop 41375
|
107
|
-
python3 wiremock/wiremock-wrapper.py stop 8222
|
118
|
+
VERSION = "0.29.1"
|
108
119
|
```
|
109
120
|
|
110
|
-
|
121
|
+
Commit the changes
|
122
|
+
```
|
123
|
+
export RELEASE_TAG="v$(cat tdl-client-ruby.gemspec | grep "VERSION =" | cut -d "\"" -f2)"
|
124
|
+
echo ${RELEASE_TAG}
|
111
125
|
|
112
|
-
|
113
|
-
|
126
|
+
git add --all
|
127
|
+
git commit -m "Releasing version ${RELEASE_TAG}"
|
128
|
+
|
129
|
+
git tag -a "${RELEASE_TAG}" -m "${RELEASE_TAG}"
|
130
|
+
git push --tags
|
131
|
+
git push
|
114
132
|
```
|
115
133
|
|
134
|
+
Wait for the Github build to finish, then go to:
|
135
|
+
https://pypi.org/
|
116
136
|
|
117
|
-
## To
|
137
|
+
## To manually build the RubyGems files
|
118
138
|
|
119
|
-
|
120
|
-
```
|
121
|
-
|
139
|
+
Build the gem:
|
140
|
+
```shell
|
141
|
+
bundle exec rake build
|
122
142
|
```
|
143
|
+
|
144
|
+
Deploy the gem to RubyGems:
|
145
|
+
```shell
|
146
|
+
bundle exec rake release
|
147
|
+
```
|
data/Rakefile
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
module TDL
|
2
|
+
module PresentationUtil
|
3
|
+
|
4
|
+
def self.to_displayable_request(params)
|
5
|
+
return params.map{ |param|
|
6
|
+
TDL::PresentationUtil.serialize_and_compress(param)
|
7
|
+
}.join(', ')
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.to_displayable_response(value)
|
11
|
+
return TDL::PresentationUtil.serialize_and_compress(value)
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
def self.serialize_and_compress(value)
|
16
|
+
representation = JSON.generate(value, quirks_mode: true)
|
17
|
+
|
18
|
+
if list_like?(value)
|
19
|
+
representation = representation.gsub(',', ', ')
|
20
|
+
elsif multiline_string?(representation)
|
21
|
+
representation = suppress_extra_lines(representation)
|
22
|
+
end
|
23
|
+
|
24
|
+
representation
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.list_like?(value)
|
28
|
+
value.is_a?(Array)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.multiline_string?(value)
|
32
|
+
value.include?("\\n")
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.suppress_extra_lines(value)
|
36
|
+
return value.to_s unless value.is_a?(String)
|
37
|
+
|
38
|
+
parts = value.split("\\n")
|
39
|
+
top_line = parts[0]
|
40
|
+
remaining_lines = parts.size - 1
|
41
|
+
|
42
|
+
representation = "#{top_line} .. ( #{remaining_lines} more line"
|
43
|
+
representation += "s" if remaining_lines > 1
|
44
|
+
representation += " )\""
|
45
|
+
representation
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'tdl/util'
|
2
|
-
|
3
1
|
module TDL
|
4
2
|
class Request
|
5
3
|
attr_reader :original_message, :id, :method, :params
|
@@ -10,11 +8,5 @@ module TDL
|
|
10
8
|
@method = request_data.fetch('method')
|
11
9
|
@params = request_data.fetch('params')
|
12
10
|
end
|
13
|
-
|
14
|
-
def audit_text
|
15
|
-
"id = #{id}, req = #{method}(#{params.map{ |param|
|
16
|
-
TDL::Util.compress_data(param)
|
17
|
-
}.join(', ')})"
|
18
|
-
end
|
19
11
|
end
|
20
12
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'logging'
|
2
|
+
require 'tdl/audit/presentation_utils'
|
2
3
|
require 'tdl/queue/processing_rules'
|
3
4
|
require 'tdl/queue/transport/remote_broker'
|
4
5
|
|
@@ -54,11 +55,11 @@ module TDL
|
|
54
55
|
|
55
56
|
def process_next_request_from(remote_broker, request)
|
56
57
|
@audit.start_line
|
57
|
-
@audit.
|
58
|
+
@audit.log_request(request)
|
58
59
|
|
59
60
|
# Obtain response from user
|
60
61
|
response = @processing_rules.get_response_for(request)
|
61
|
-
@audit.
|
62
|
+
@audit.log_response(response)
|
62
63
|
|
63
64
|
# Act
|
64
65
|
after_response(remote_broker, request, response)
|
@@ -98,12 +99,27 @@ class AuditStream
|
|
98
99
|
@str = ''
|
99
100
|
end
|
100
101
|
|
101
|
-
def
|
102
|
-
|
102
|
+
def log_request(request)
|
103
|
+
params_as_string = TDL::PresentationUtil.to_displayable_request(request.params)
|
104
|
+
text = "id = #{request.id}, req = #{request.method}(#{params_as_string})"
|
105
|
+
|
103
106
|
if not text.empty? and @str.length > 0
|
104
107
|
@str << ', '
|
105
108
|
end
|
109
|
+
@str << text
|
110
|
+
end
|
106
111
|
|
112
|
+
def log_response(response)
|
113
|
+
if response.instance_variable_defined?(:@result)
|
114
|
+
representation = TDL::PresentationUtil.to_displayable_response(response.result)
|
115
|
+
text = "resp = #{representation}"
|
116
|
+
else
|
117
|
+
text = "error = #{response.message}" + ", (NOT PUBLISHED)"
|
118
|
+
end
|
119
|
+
|
120
|
+
if not text.empty? and @str.length > 0
|
121
|
+
@str << ', '
|
122
|
+
end
|
107
123
|
@str << text
|
108
124
|
end
|
109
125
|
|
data/tdl-client-ruby.gemspec
CHANGED
@@ -1,36 +1,9 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'tdl/previous_version'
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
# Add increment to Version class
|
9
|
-
class ComparableVersion < Gem::Version
|
10
|
-
def increment
|
11
|
-
segments = self.segments.dup
|
12
|
-
segments[-1] = segments[-1].succ
|
13
|
-
|
14
|
-
self.class.new segments.join('.')
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
# Get Spec version from Git
|
19
|
-
spec_folder = File.expand_path('../features/spec',__FILE__).to_s
|
20
|
-
major_minor_version = `git --git-dir #{spec_folder}/.git describe --all | cut -d '/' -f 2 | tr -d 'v'`.strip
|
21
|
-
|
22
|
-
# Compute next version
|
23
|
-
previous_version = ComparableVersion.new(TDL::PREVIOUS_VERSION)
|
24
|
-
new_spec_version = ComparableVersion.new(major_minor_version+'.1')
|
25
|
-
if new_spec_version > previous_version
|
26
|
-
current_version = new_spec_version
|
27
|
-
else
|
28
|
-
current_version = previous_version.increment
|
29
|
-
end
|
30
|
-
# puts "previous_version = #{previous_version}"
|
31
|
-
# puts "current_version = #{current_version}"
|
32
|
-
|
33
|
-
VERSION = "#{current_version}"
|
5
|
+
#
|
6
|
+
VERSION = "0.29.4"
|
34
7
|
|
35
8
|
|
36
9
|
#~~~~~ Create gemspec
|
@@ -38,7 +11,7 @@ VERSION = "#{current_version}"
|
|
38
11
|
Gem::Specification.new do |spec|
|
39
12
|
spec.name = 'tdl-client-ruby'
|
40
13
|
spec.version = VERSION
|
41
|
-
spec.metadata = {
|
14
|
+
spec.metadata = {}
|
42
15
|
spec.authors = ['Julian Ghionoiu']
|
43
16
|
spec.email = ['iulian.ghionoiu@gmail.com']
|
44
17
|
|
@@ -54,10 +27,13 @@ Gem::Specification.new do |spec|
|
|
54
27
|
spec.add_runtime_dependency 'logging', '2.3.1'
|
55
28
|
|
56
29
|
spec.add_development_dependency 'bundler'
|
57
|
-
spec.add_development_dependency 'rake', '~> 13.
|
58
|
-
spec.add_development_dependency 'minitest', '~> 5.
|
59
|
-
spec.add_development_dependency 'minitest-reporters', '~> 1.
|
60
|
-
spec.add_development_dependency 'json', '~> 2.
|
61
|
-
spec.add_development_dependency 'cucumber', '~>
|
62
|
-
spec.add_development_dependency 'debase', '~>
|
30
|
+
spec.add_development_dependency 'rake', '~> 13.2.1'
|
31
|
+
spec.add_development_dependency 'minitest', '~> 5.25.5'
|
32
|
+
spec.add_development_dependency 'minitest-reporters', '~> 1.7.1'
|
33
|
+
spec.add_development_dependency 'json', '~> 2.9.1'
|
34
|
+
spec.add_development_dependency 'cucumber', '~> 9.2.1'
|
35
|
+
spec.add_development_dependency 'debase', '~> 0.2.9'
|
36
|
+
spec.add_development_dependency 'ostruct', '~> 0.6.1'
|
37
|
+
spec.add_development_dependency 'logger', '~> 1.6.6'
|
38
|
+
spec.add_development_dependency 'syslog', '~> 0.3.0'
|
63
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tdl-client-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.29.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Ghionoiu
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-03-27 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: stomp
|
@@ -58,84 +57,126 @@ dependencies:
|
|
58
57
|
requirements:
|
59
58
|
- - "~>"
|
60
59
|
- !ruby/object:Gem::Version
|
61
|
-
version: 13.
|
60
|
+
version: 13.2.1
|
62
61
|
type: :development
|
63
62
|
prerelease: false
|
64
63
|
version_requirements: !ruby/object:Gem::Requirement
|
65
64
|
requirements:
|
66
65
|
- - "~>"
|
67
66
|
- !ruby/object:Gem::Version
|
68
|
-
version: 13.
|
67
|
+
version: 13.2.1
|
69
68
|
- !ruby/object:Gem::Dependency
|
70
69
|
name: minitest
|
71
70
|
requirement: !ruby/object:Gem::Requirement
|
72
71
|
requirements:
|
73
72
|
- - "~>"
|
74
73
|
- !ruby/object:Gem::Version
|
75
|
-
version: 5.
|
74
|
+
version: 5.25.5
|
76
75
|
type: :development
|
77
76
|
prerelease: false
|
78
77
|
version_requirements: !ruby/object:Gem::Requirement
|
79
78
|
requirements:
|
80
79
|
- - "~>"
|
81
80
|
- !ruby/object:Gem::Version
|
82
|
-
version: 5.
|
81
|
+
version: 5.25.5
|
83
82
|
- !ruby/object:Gem::Dependency
|
84
83
|
name: minitest-reporters
|
85
84
|
requirement: !ruby/object:Gem::Requirement
|
86
85
|
requirements:
|
87
86
|
- - "~>"
|
88
87
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
88
|
+
version: 1.7.1
|
90
89
|
type: :development
|
91
90
|
prerelease: false
|
92
91
|
version_requirements: !ruby/object:Gem::Requirement
|
93
92
|
requirements:
|
94
93
|
- - "~>"
|
95
94
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
95
|
+
version: 1.7.1
|
97
96
|
- !ruby/object:Gem::Dependency
|
98
97
|
name: json
|
99
98
|
requirement: !ruby/object:Gem::Requirement
|
100
99
|
requirements:
|
101
100
|
- - "~>"
|
102
101
|
- !ruby/object:Gem::Version
|
103
|
-
version: 2.
|
102
|
+
version: 2.9.1
|
104
103
|
type: :development
|
105
104
|
prerelease: false
|
106
105
|
version_requirements: !ruby/object:Gem::Requirement
|
107
106
|
requirements:
|
108
107
|
- - "~>"
|
109
108
|
- !ruby/object:Gem::Version
|
110
|
-
version: 2.
|
109
|
+
version: 2.9.1
|
111
110
|
- !ruby/object:Gem::Dependency
|
112
111
|
name: cucumber
|
113
112
|
requirement: !ruby/object:Gem::Requirement
|
114
113
|
requirements:
|
115
114
|
- - "~>"
|
116
115
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
116
|
+
version: 9.2.1
|
118
117
|
type: :development
|
119
118
|
prerelease: false
|
120
119
|
version_requirements: !ruby/object:Gem::Requirement
|
121
120
|
requirements:
|
122
121
|
- - "~>"
|
123
122
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
123
|
+
version: 9.2.1
|
125
124
|
- !ruby/object:Gem::Dependency
|
126
125
|
name: debase
|
127
126
|
requirement: !ruby/object:Gem::Requirement
|
128
127
|
requirements:
|
129
128
|
- - "~>"
|
130
129
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
130
|
+
version: 0.2.9
|
132
131
|
type: :development
|
133
132
|
prerelease: false
|
134
133
|
version_requirements: !ruby/object:Gem::Requirement
|
135
134
|
requirements:
|
136
135
|
- - "~>"
|
137
136
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
137
|
+
version: 0.2.9
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
name: ostruct
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 0.6.1
|
145
|
+
type: :development
|
146
|
+
prerelease: false
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - "~>"
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: 0.6.1
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
name: logger
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 1.6.6
|
159
|
+
type: :development
|
160
|
+
prerelease: false
|
161
|
+
version_requirements: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 1.6.6
|
166
|
+
- !ruby/object:Gem::Dependency
|
167
|
+
name: syslog
|
168
|
+
requirement: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 0.3.0
|
173
|
+
type: :development
|
174
|
+
prerelease: false
|
175
|
+
version_requirements: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - "~>"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: 0.3.0
|
139
180
|
description: A ruby client to connect to the kata server
|
140
181
|
email:
|
141
182
|
- iulian.ghionoiu@gmail.com
|
@@ -143,6 +184,10 @@ executables: []
|
|
143
184
|
extensions: []
|
144
185
|
extra_rdoc_files: []
|
145
186
|
files:
|
187
|
+
- ".github/dependabot.yml"
|
188
|
+
- ".github/workflows/build_and_test.yml"
|
189
|
+
- ".github/workflows/publish.yml"
|
190
|
+
- ".github/workflows/release.yml"
|
146
191
|
- ".gitignore"
|
147
192
|
- ".gitmodules"
|
148
193
|
- ".ruby-version"
|
@@ -153,7 +198,7 @@ files:
|
|
153
198
|
- Rakefile
|
154
199
|
- lib/tdl.rb
|
155
200
|
- lib/tdl/audit/console_audit_stream.rb
|
156
|
-
- lib/tdl/
|
201
|
+
- lib/tdl/audit/presentation_utils.rb
|
157
202
|
- lib/tdl/queue/abstractions/processing_rule.rb
|
158
203
|
- lib/tdl/queue/abstractions/request.rb
|
159
204
|
- lib/tdl/queue/abstractions/response/fatal_error_response.rb
|
@@ -172,18 +217,12 @@ files:
|
|
172
217
|
- lib/tdl/runner/round_management.rb
|
173
218
|
- lib/tdl/runner/runner_action.rb
|
174
219
|
- lib/tdl/thread_timer.rb
|
175
|
-
- lib/tdl/util.rb
|
176
|
-
- release.sh
|
177
|
-
- startExternalDependencies.sh
|
178
|
-
- stopExternalDependencies.sh
|
179
220
|
- tdl-client-ruby.gemspec
|
180
221
|
- tdl-client-ruby.iml
|
181
222
|
homepage: https://github.com/julianghionoiu/tdl-client-ruby
|
182
223
|
licenses:
|
183
224
|
- GPL-3.0
|
184
|
-
metadata:
|
185
|
-
previous_version: 0.27.0
|
186
|
-
post_install_message:
|
225
|
+
metadata: {}
|
187
226
|
rdoc_options: []
|
188
227
|
require_paths:
|
189
228
|
- lib
|
@@ -198,8 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
237
|
- !ruby/object:Gem::Version
|
199
238
|
version: '0'
|
200
239
|
requirements: []
|
201
|
-
rubygems_version: 3.
|
202
|
-
signing_key:
|
240
|
+
rubygems_version: 3.6.2
|
203
241
|
specification_version: 4
|
204
242
|
summary: A client to connect to the central kata server.
|
205
243
|
test_files: []
|
data/lib/tdl/previous_version.rb
DELETED
data/lib/tdl/util.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
module TDL
|
2
|
-
module Util
|
3
|
-
def self.compress_text(text)
|
4
|
-
# DEBT compress text should not add quotes
|
5
|
-
top_line, *remaing_content = text.split("\n")
|
6
|
-
lines_remaining = remaing_content.size
|
7
|
-
|
8
|
-
if lines_remaining > 1
|
9
|
-
"\"#{top_line} .. ( #{lines_remaining} more lines )\""
|
10
|
-
elsif lines_remaining == 1
|
11
|
-
"\"#{top_line} .. ( 1 more line )\""
|
12
|
-
else
|
13
|
-
"\"#{top_line}\""
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.compress_data(data)
|
18
|
-
if data.respond_to?(:split)
|
19
|
-
"#{TDL::Util.compress_text(data)}"
|
20
|
-
else
|
21
|
-
"#{data}"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
data/release.sh
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
SCRIPT_FOLDER="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
4
|
-
VERSION_FILE="${SCRIPT_FOLDER}/lib/tdl/previous_version.rb"
|
5
|
-
TMP_VERSION_FILE="${SCRIPT_FOLDER}/out/versions.txt"
|
6
|
-
|
7
|
-
|
8
|
-
function gemspec_property() {
|
9
|
-
local property=$1
|
10
|
-
cat ${TMP_VERSION_FILE} | grep ${property} | cut -d "=" -f2 | tr -d " "
|
11
|
-
}
|
12
|
-
|
13
|
-
echo "Reading gemspec properties. This might take some time."
|
14
|
-
|
15
|
-
# Previous
|
16
|
-
ruby <<-EOS | tee ${TMP_VERSION_FILE}
|
17
|
-
require "rubygems"
|
18
|
-
spec = Gem::Specification::load("tdl-client-ruby.gemspec")
|
19
|
-
puts "PREVIOUS_VERSION = #{spec.metadata['previous_version']}"
|
20
|
-
puts "CURRENT_VERSION = #{spec.version}"
|
21
|
-
EOS
|
22
|
-
PREVIOUS_VERSION=`gemspec_property PREVIOUS_VERSION`
|
23
|
-
CURRENT_VERSION=`gemspec_property CURRENT_VERSION`
|
24
|
-
|
25
|
-
|
26
|
-
# Prompt for version confirmation
|
27
|
-
read -p "Going to release version ${CURRENT_VERSION} (previous ${PREVIOUS_VERSION}). Proceed ? [y/n] "
|
28
|
-
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
29
|
-
then
|
30
|
-
echo "Aborting."
|
31
|
-
exit
|
32
|
-
fi
|
33
|
-
|
34
|
-
# Release current version
|
35
|
-
git tag -a "v${CURRENT_VERSION}" -m "Release ${CURRENT_VERSION}"
|
36
|
-
git push origin "v${CURRENT_VERSION}"
|
37
|
-
echo "Pushed tag to Git origin. It will now trigger the deployment pipeline."
|
38
|
-
|
39
|
-
cat > "${VERSION_FILE}" <<-EOF
|
40
|
-
module TDL
|
41
|
-
PREVIOUS_VERSION = '$CURRENT_VERSION'
|
42
|
-
# the current MAJOR.MINOR version is dynamically computed from the version of the Spec
|
43
|
-
end
|
44
|
-
EOF
|
@@ -1,19 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
set -e
|
4
|
-
set -u
|
5
|
-
set -o pipefail
|
6
|
-
|
7
|
-
startWiremocks() {
|
8
|
-
echo "~~~~~~~~~~ Starting Wiremocks on ports 41375 and 8222 ~~~~~~~~~"
|
9
|
-
python3 wiremock/wiremock-wrapper.py start 41375
|
10
|
-
python3 wiremock/wiremock-wrapper.py start 8222
|
11
|
-
}
|
12
|
-
|
13
|
-
startBroker() {
|
14
|
-
echo "~~~~~~~~~~ Starting Broker ~~~~~~~~~"
|
15
|
-
python3 broker/activemq-wrapper.py start
|
16
|
-
}
|
17
|
-
|
18
|
-
startWiremocks
|
19
|
-
startBroker
|
data/stopExternalDependencies.sh
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
set -e
|
4
|
-
set -u
|
5
|
-
set -o pipefail
|
6
|
-
|
7
|
-
startWiremocks() {
|
8
|
-
echo "~~~~~~~~~~ Starting Wiremocks on ports 41375 and 8222 ~~~~~~~~~"
|
9
|
-
python3 wiremock/wiremock-wrapper.py stop 41375
|
10
|
-
python3 wiremock/wiremock-wrapper.py stop 8222
|
11
|
-
}
|
12
|
-
|
13
|
-
startBroker() {
|
14
|
-
echo "~~~~~~~~~~ Starting Broker ~~~~~~~~~"
|
15
|
-
python3 broker/activemq-wrapper.py stop
|
16
|
-
}
|
17
|
-
|
18
|
-
startWiremocks
|
19
|
-
startBroker
|