istox 0.1.157.10 → 0.1.158
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- 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/version.rb +1 -1
- metadata +7 -2
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
|
@@ -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
|
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
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
|