istox 0.1.157.7 → 0.1.158
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/Gemfile.lock +7 -9
- data/lib/istox/consumers/blockchain_status_handler.rb +6 -1
- data/lib/istox/helpers/blockchain_service.rb +4 -3
- data/lib/istox/helpers/integration-test/grpc_client_interceptor.rb +22 -0
- data/lib/istox/helpers/integration-test/grpc_server_interceptor.rb +31 -0
- data/lib/istox/helpers/integration-test/rabbitmq_consumer_interceptor.rb +32 -0
- data/lib/istox/helpers/integration-test/rabbitmq_publisher_interceptor.rb +14 -0
- data/lib/istox/helpers/integration-test/settings.rb +11 -0
- data/lib/istox/helpers/messaging.rb +21 -1
- data/lib/istox/version.rb +1 -1
- metadata +11 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7846d50bc5ee84ddd5e20993c97de34d498498f88b08632aadfec6108fa1c214
|
4
|
+
data.tar.gz: f3baf261d398da6f3f2813e85195ca03db07a3d72137fe15bcd9cd65ab43ef75
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 861464f5af57e78042e07d9427f6a205b1a7358ae1e266f16eeee6e35fe60529f7ffffc4e0b1dcd35fda4eb0029e2ecb1b7c64f2926f4f815e6a9a826cca9261
|
7
|
+
data.tar.gz: 0032fe6b5d0dd9d10fdc66d29cb08e5a3fcd36133db0a73c685dc350062a4aaaf92fb134e50bd71a8161e586d46a5eb090193406c53e727424b0d2bd5bf2eeb0
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
istox (0.1.157.
|
4
|
+
istox (0.1.157.9)
|
5
5
|
amazing_print
|
6
6
|
awesome_print
|
7
7
|
aws-sdk-sns (~> 1)
|
@@ -86,14 +86,13 @@ GEM
|
|
86
86
|
aws-xray-sdk (0.11.4)
|
87
87
|
aws-sdk-xray (~> 1.4.0)
|
88
88
|
multi_json (~> 1)
|
89
|
-
bigdecimal (2.0.0)
|
90
89
|
binding_of_caller (0.8.0)
|
91
90
|
debug_inspector (>= 0.0.1)
|
92
91
|
builder (3.2.4)
|
93
92
|
bullet (5.7.6)
|
94
93
|
activesupport (>= 3.0.0)
|
95
94
|
uniform_notifier (~> 1.11.0)
|
96
|
-
bunny (2.
|
95
|
+
bunny (2.17.0)
|
97
96
|
amq-protocol (~> 2.3, >= 2.3.1)
|
98
97
|
byebug (11.1.3)
|
99
98
|
coderay (1.1.2)
|
@@ -127,14 +126,14 @@ GEM
|
|
127
126
|
faraday (>= 1.0)
|
128
127
|
faraday_middleware
|
129
128
|
graphql-client
|
130
|
-
graphql (1.11.
|
129
|
+
graphql (1.11.4)
|
131
130
|
graphql-client (0.16.0)
|
132
131
|
activesupport (>= 3.0)
|
133
132
|
graphql (~> 1.8)
|
134
|
-
grpc (1.
|
135
|
-
google-protobuf (~> 3.
|
133
|
+
grpc (1.32.0-universal-darwin)
|
134
|
+
google-protobuf (~> 3.13)
|
136
135
|
googleapis-common-protos-types (~> 1.0)
|
137
|
-
grpc-tools (1.
|
136
|
+
grpc-tools (1.32.0)
|
138
137
|
gruf (2.8.1)
|
139
138
|
activesupport (> 4)
|
140
139
|
concurrent-ruby (> 1)
|
@@ -171,8 +170,7 @@ GEM
|
|
171
170
|
nio4r (2.3.1)
|
172
171
|
nokogiri (1.10.9)
|
173
172
|
mini_portile2 (~> 2.4.0)
|
174
|
-
oj (3.10.
|
175
|
-
bigdecimal (~> 2.0)
|
173
|
+
oj (3.10.14)
|
176
174
|
ougai (1.8.5)
|
177
175
|
oj (~> 3.10)
|
178
176
|
paranoia (2.4.2)
|
@@ -26,7 +26,12 @@ module Istox
|
|
26
26
|
txhash: transaction.txn_hashes.present? ? transaction.txn_hashes.join(',') : nil)
|
27
27
|
|
28
28
|
resource = begin
|
29
|
-
class_eval("::#{receipt.resource_name}", __FILE__, __LINE__)
|
29
|
+
cls = class_eval("::#{receipt.resource_name}", __FILE__, __LINE__)
|
30
|
+
if cls.respond_to?('with_deleted')
|
31
|
+
cls.with_deleted.find(receipt.resource_id)
|
32
|
+
else
|
33
|
+
cls.find(receipt.resource_id)
|
34
|
+
end
|
30
35
|
rescue NameError
|
31
36
|
log.warn "Transaction bind to #{receipt.resource_name} with id #{receipt.resource_id} class not found, skipping..."
|
32
37
|
return
|
@@ -8,8 +8,8 @@ module Istox
|
|
8
8
|
@@blockchain_receipt_klass
|
9
9
|
end
|
10
10
|
|
11
|
-
def self.request(sid:, action:, before:, execute:)
|
12
|
-
start(sid: sid, action: action, before: before, execute: execute, is_request: true)
|
11
|
+
def self.request(sid:, action:, before:, execute:, request_reason: nil)
|
12
|
+
start(sid: sid, action: action, before: before, execute: execute, is_request: true, request_reason: request_reason)
|
13
13
|
end
|
14
14
|
|
15
15
|
def self.run(sid:, action:, before:, execute:)
|
@@ -19,7 +19,7 @@ module Istox
|
|
19
19
|
private
|
20
20
|
|
21
21
|
# before is the proc that will be executed before, must return the main model blockchain receipt will bind to
|
22
|
-
def start(sid:, action:, before:, execute:, is_request: false)
|
22
|
+
def start(sid:, action:, before:, execute:, is_request: false, request_reason: nil)
|
23
23
|
# create blockchain receipt first
|
24
24
|
klass = blockchain_receipt_class
|
25
25
|
uuid = ::SecureRandom.uuid
|
@@ -27,6 +27,7 @@ module Istox
|
|
27
27
|
txid: uuid,
|
28
28
|
sid: sid,
|
29
29
|
is_request: is_request,
|
30
|
+
request_reason: request_reason,
|
30
31
|
resource_action: action
|
31
32
|
)
|
32
33
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'istox/helpers/logger'
|
2
|
+
|
3
|
+
module Istox
|
4
|
+
module IntegrationTest
|
5
|
+
class GrpcClientInterceptor < ::Gruf::Interceptors::ClientInterceptor
|
6
|
+
def call(request_context:)
|
7
|
+
request_context.metadata[:integration_test] = if ::Istox::IntegrationTest::Settings.enable
|
8
|
+
'1'
|
9
|
+
else
|
10
|
+
'0'
|
11
|
+
end
|
12
|
+
|
13
|
+
result = yield
|
14
|
+
|
15
|
+
result
|
16
|
+
rescue StandardError => e
|
17
|
+
log.error e
|
18
|
+
raise e
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'istox/helpers/logger'
|
2
|
+
|
3
|
+
module Istox
|
4
|
+
module IntegrationTest
|
5
|
+
class GrpcServerInterceptor < ::Gruf::Interceptors::ServerInterceptor
|
6
|
+
def call
|
7
|
+
meta = request.active_call.metadata
|
8
|
+
enable_integration = (meta['integration_test'] if meta.present? && meta.key?('integration_test'))
|
9
|
+
|
10
|
+
if enable_integration == '1'
|
11
|
+
::Istox::IntegrationTest::Settings.enable = true
|
12
|
+
if ActiveRecord::Base.connection.current_database != Rails.configuration.database_configuration['integration']['database']
|
13
|
+
ActiveRecord::Base.establish_connection(:integration)
|
14
|
+
end
|
15
|
+
else
|
16
|
+
::Istox::IntegrationTest::Settings.enable = false
|
17
|
+
if ActiveRecord::Base.connection.current_database != Rails.configuration.database_configuration['development']['database']
|
18
|
+
ActiveRecord::Base.establish_connection(:development)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
result = yield # this returns the protobuf message
|
23
|
+
|
24
|
+
result
|
25
|
+
rescue StandardError => e
|
26
|
+
log.error e
|
27
|
+
raise e
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'istox/helpers/logger'
|
2
|
+
|
3
|
+
module Istox
|
4
|
+
module IntegrationTest
|
5
|
+
class RabbitmqConsumerInterceptor
|
6
|
+
def call(payload, _metadata, _delivery_info)
|
7
|
+
payload_hash = payload.to_h
|
8
|
+
|
9
|
+
enable_integration_test = (payload_hash[:istox_integration_test] if payload_hash.key?(:istox_integration_test))
|
10
|
+
|
11
|
+
if enable_integration_test == '1'
|
12
|
+
::Istox::IntegrationTest::Settings.enable = true
|
13
|
+
if ActiveRecord::Base.connection.current_database != Rails.configuration.database_configuration['integration']['database']
|
14
|
+
ActiveRecord::Base.establish_connection(:integration)
|
15
|
+
end
|
16
|
+
else
|
17
|
+
::Istox::IntegrationTest::Settings.enable = false
|
18
|
+
if ActiveRecord::Base.connection.current_database != Rails.configuration.database_configuration['development']['database']
|
19
|
+
ActiveRecord::Base.establish_connection(:development)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
result = yield # this returns consumer handler message
|
24
|
+
|
25
|
+
result
|
26
|
+
rescue StandardError => e
|
27
|
+
log.error e
|
28
|
+
raise e
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'istox/helpers/logger'
|
2
|
+
|
3
|
+
module Istox
|
4
|
+
module IntegrationTest
|
5
|
+
class RabbitmqPublisherInterceptor
|
6
|
+
def call(message, _options)
|
7
|
+
message[:istox_integration_test] = '1'
|
8
|
+
rescue StandardError => e
|
9
|
+
log.error e
|
10
|
+
raise e
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -127,8 +127,28 @@ module Istox
|
|
127
127
|
next unless email_data[:copy_emails].present?
|
128
128
|
|
129
129
|
email_data[:copy_emails].each do |ce|
|
130
|
+
next unless ce.present?
|
131
|
+
|
130
132
|
copy_email_data = email_data.clone
|
131
|
-
|
133
|
+
|
134
|
+
# if it is just email to cc
|
135
|
+
if ce.is_a? String
|
136
|
+
copy_email_data[:email] = ce
|
137
|
+
else
|
138
|
+
# if it is a object hash
|
139
|
+
# {
|
140
|
+
# email: xxxx
|
141
|
+
# params: {
|
142
|
+
# istoxP1: xxxx,
|
143
|
+
# istoxP2: xxxx
|
144
|
+
# }
|
145
|
+
# }
|
146
|
+
next unless ce[:email].present?
|
147
|
+
|
148
|
+
copy_email_data[:email] = ce[:email]
|
149
|
+
copy_email_data = copy_email_data.merge(ce[:params])
|
150
|
+
end
|
151
|
+
|
132
152
|
copy_email_data.delete(:copy_emails)
|
133
153
|
copy_email_data_arr << copy_email_data
|
134
154
|
end
|
data/lib/istox/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: istox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.158
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Siong Leng
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: amazing_print
|
@@ -511,6 +511,11 @@ files:
|
|
511
511
|
- lib/istox/helpers/graphql_client.rb
|
512
512
|
- lib/istox/helpers/grpc_client.rb
|
513
513
|
- lib/istox/helpers/gruf_listener_hook.rb
|
514
|
+
- lib/istox/helpers/integration-test/grpc_client_interceptor.rb
|
515
|
+
- lib/istox/helpers/integration-test/grpc_server_interceptor.rb
|
516
|
+
- lib/istox/helpers/integration-test/rabbitmq_consumer_interceptor.rb
|
517
|
+
- lib/istox/helpers/integration-test/rabbitmq_publisher_interceptor.rb
|
518
|
+
- lib/istox/helpers/integration-test/settings.rb
|
514
519
|
- lib/istox/helpers/logger.rb
|
515
520
|
- lib/istox/helpers/messaging.rb
|
516
521
|
- lib/istox/helpers/my_open_struct.rb
|
@@ -539,7 +544,7 @@ files:
|
|
539
544
|
homepage: http://www.abc.com
|
540
545
|
licenses: []
|
541
546
|
metadata: {}
|
542
|
-
post_install_message:
|
547
|
+
post_install_message:
|
543
548
|
rdoc_options: []
|
544
549
|
require_paths:
|
545
550
|
- lib
|
@@ -554,9 +559,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
554
559
|
- !ruby/object:Gem::Version
|
555
560
|
version: '0'
|
556
561
|
requirements: []
|
557
|
-
|
558
|
-
|
559
|
-
signing_key:
|
562
|
+
rubygems_version: 3.0.6
|
563
|
+
signing_key:
|
560
564
|
specification_version: 4
|
561
565
|
summary: istox backend shared gem
|
562
566
|
test_files: []
|