evt-messaging-fixtures 1.0.0.0 → 1.1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f3171c20b3fd5d5255db7dd0ea88ce246ea703d7d05c82907af753714d2fcba
4
- data.tar.gz: cdfaa3633ae26dd1d90eaaf003932e927d9d7892b9693204b80a1d07e7f54f21
3
+ metadata.gz: 85e9f2c72d37fc952f66845c220b61ef07bbbf20b104a349c8b5ac00664e5951
4
+ data.tar.gz: 1d4dcad3c3c19e475b01539f6086725993051d4449402b2e9ee6e0ea85d174f4
5
5
  SHA512:
6
- metadata.gz: 4b8e32dafbdbbbf33c8e0b57553303adcb08573f9acf5c6fedefb47b3d66026f320be590f03de8f2f8eea648c13c00d289d44b794951ebff3e2819f79760e89f
7
- data.tar.gz: 3d764a901687dc32e4da976a4d9671f6fc20c8952e5429195e593826a919467fde92d197ff3895b1dbc5a0ad3439f915b383fcab71cc2fb927c8ea55de3b34aa
6
+ metadata.gz: 9f2f55094442e66f12523930363ba14e9b39f08602d3e4869b34e4914301dbe03b78dfc9ad2420b62e26fb5143c69c9b1a11a417c4a30318af49fb25f798a7a8
7
+ data.tar.gz: d67172e081b097e53d85efb55f894e02f80494222794f7976c79e860c3a0fba931c04fd2af247336099aee160784c2dbdb579af65a511ea220a93b22dc0760e2
@@ -6,5 +6,5 @@ require 'messaging/fixtures/defaults'
6
6
  require 'messaging/fixtures/follows'
7
7
  require 'messaging/fixtures/metadata'
8
8
  require 'messaging/fixtures/message'
9
- require 'messaging/fixtures/write'
9
+ require 'messaging/fixtures/writer'
10
10
  require 'messaging/fixtures/handler'
@@ -79,37 +79,3 @@ module Messaging
79
79
  end
80
80
  end
81
81
  end
82
- __END__
83
-
84
- handle Withdraw do |withdraw|
85
- account_id = withdraw.account_id
86
-
87
- account, version = store.fetch(account_id, include: :version)
88
-
89
- sequence = withdraw.metadata.global_position
90
-
91
- if account.processed?(sequence)
92
- logger.info(tag: :ignored) { "Command ignored (Command: #{withdraw.message_type}, Account ID: #{account_id}, Account Sequence: #{account.sequence}, Withdrawal Sequence: #{sequence})" }
93
- return
94
- end
95
-
96
- time = clock.iso8601
97
-
98
- stream_name = stream_name(account_id)
99
-
100
- unless account.sufficient_funds?(withdraw.amount)
101
- withdrawal_rejected = WithdrawalRejected.follow(withdraw)
102
- withdrawal_rejected.time = time
103
- withdrawal_rejected.sequence = sequence
104
-
105
- write.(withdrawal_rejected, stream_name, expected_version: version)
106
-
107
- return
108
- end
109
-
110
- withdrawn = Withdrawn.follow(withdraw)
111
- withdrawn.processed_time = time
112
- withdrawn.sequence = sequence
113
-
114
- write.(withdrawn, stream_name, expected_version: version)
115
- end
@@ -50,6 +50,14 @@ module Messaging
50
50
  end
51
51
  end
52
52
 
53
+ module Random
54
+ def self.example_class
55
+ Class.new do
56
+ include Messaging::Message
57
+ end
58
+ end
59
+ end
60
+
53
61
  module Metadata
54
62
  def self.example
55
63
  metadata = Messaging::Message::Metadata.new
@@ -11,10 +11,10 @@ module Messaging
11
11
  entity.sequence
12
12
  end
13
13
 
14
- initializer :handler, :input_message, :entity, :entity_version, :clock_time, :identifier_uuid, :action
14
+ initializer :handler, :input_message, :entity, :entity_version, :clock_time, :identifier_uuid, :test_block
15
15
 
16
- def self.build(handler, input_message, entity=nil, entity_version=nil, clock_time: nil, identifier_uuid: nil, &action)
17
- instance = new(handler, input_message, entity, entity_version, clock_time, identifier_uuid, action)
16
+ def self.build(handler, input_message, entity=nil, entity_version=nil, clock_time: nil, identifier_uuid: nil, &test_block)
17
+ instance = new(handler, input_message, entity, entity_version, clock_time, identifier_uuid, test_block)
18
18
 
19
19
  set_store_entity(handler, entity, entity_version)
20
20
  set_clock_time(handler, clock_time)
@@ -53,7 +53,7 @@ module Messaging
53
53
  context "Handler: #{handler.class.name.split('::').last}" do
54
54
  detail "Handler Class: #{handler.class.name}"
55
55
 
56
- if action.nil?
56
+ if test_block.nil?
57
57
  raise Error, "Handler fixture must be executed with a block"
58
58
  end
59
59
 
@@ -70,30 +70,30 @@ module Messaging
70
70
 
71
71
  handler.(input_message)
72
72
 
73
- action.call(self)
73
+ test_block.call(self)
74
74
  end
75
75
  end
76
76
 
77
- def assert_input_message(&action)
77
+ def assert_input_message(&test_block)
78
78
  context_name = "Input Message"
79
79
  if not input_message.nil?
80
80
  context_name = "#{context_name}: #{input_message.class.message_type}"
81
81
  end
82
82
 
83
- fixture(Message, input_message, title_context_name: context_name, &action)
83
+ fixture(Message, input_message, title_context_name: context_name, &test_block)
84
84
  end
85
85
 
86
- def assert_written_message(written_message, &action)
86
+ def assert_written_message(written_message, &test_block)
87
87
  context_name = "Written Message"
88
88
  if not written_message.nil?
89
89
  context_name = "#{context_name}: #{written_message.class.message_type}"
90
90
  end
91
91
 
92
- fixture(Message, written_message, input_message, title_context_name: context_name, &action)
92
+ fixture(Message, written_message, input_message, title_context_name: context_name, &test_block)
93
93
  end
94
94
 
95
- def assert_write(message_class, &action)
96
- fixture = fixture(Write, handler.write, message_class, &action)
95
+ def assert_write(message_class, &test_block)
96
+ fixture = fixture(Writer, handler.write, message_class, &test_block)
97
97
  fixture.message
98
98
  end
99
99
 
@@ -102,7 +102,7 @@ module Messaging
102
102
 
103
103
  context_name = "No Write"
104
104
  if not message_class.nil?
105
- write_telemetry_data = Write.get_data(writer, message_class)
105
+ write_telemetry_data = Writer.get_data(writer, message_class)
106
106
  written = !write_telemetry_data.nil?
107
107
  context_name = "#{context_name}: #{message_class.message_type}"
108
108
  else
@@ -23,20 +23,20 @@ module Messaging
23
23
  end
24
24
 
25
25
  def title_context_name
26
- @title_context_name ||= "Message"
26
+ @title_context_name ||= "Message: #{message_type}"
27
27
  end
28
28
 
29
- initializer :message, :source_message, na(:title_context_name), :action
29
+ initializer :message, :source_message, na(:title_context_name), :test_block
30
30
 
31
- def self.build(message, source_message=nil, title_context_name: nil, &action)
32
- new(message, source_message, title_context_name, action)
31
+ def self.build(message, source_message=nil, title_context_name: nil, &test_block)
32
+ new(message, source_message, title_context_name, test_block)
33
33
  end
34
34
 
35
35
  def call
36
36
  context_name = title_context_name
37
37
 
38
38
  context context_name do
39
- if action.nil?
39
+ if test_block.nil?
40
40
  raise Error, "Message fixture must be executed with a block"
41
41
  end
42
42
 
@@ -55,7 +55,7 @@ module Messaging
55
55
  detail "Source Message Class: #{source_message_class.name}"
56
56
  end
57
57
 
58
- action.call(self)
58
+ test_block.call(self)
59
59
  end
60
60
  end
61
61
 
@@ -68,6 +68,7 @@ module Messaging
68
68
  attributes_context_name: "Attributes Assigned"
69
69
  )
70
70
  end
71
+ alias :assert_all_attributes_assigned :assert_attributes_assigned
71
72
 
72
73
  def assert_attributes_copied(attribute_names=nil)
73
74
  if source_message.nil?
@@ -89,12 +90,12 @@ module Messaging
89
90
  )
90
91
  end
91
92
 
92
- def assert_metadata(&action)
93
+ def assert_metadata(&test_block)
93
94
  fixture(
94
95
  Metadata,
95
96
  message.metadata,
96
97
  source_message&.metadata,
97
- &action
98
+ &test_block
98
99
  )
99
100
  end
100
101
 
@@ -6,15 +6,15 @@ module Messaging
6
6
  include TestBench::Fixture
7
7
  include Initializer
8
8
 
9
- initializer :metadata, :source_metadata, :action
9
+ initializer :metadata, :source_metadata, :test_block
10
10
 
11
- def self.build(metadata, source_metadata=nil, &action)
12
- new(metadata, source_metadata, action)
11
+ def self.build(metadata, source_metadata=nil, &test_block)
12
+ new(metadata, source_metadata, test_block)
13
13
  end
14
14
 
15
15
  def call
16
16
  context "Metadata" do
17
- if action.nil?
17
+ if test_block.nil?
18
18
  raise Error, "Metadata fixture must be executed with a block"
19
19
  end
20
20
 
@@ -22,7 +22,7 @@ module Messaging
22
22
  test "Not nil" do
23
23
  detail "Metadata: nil"
24
24
 
25
- if not action.nil?
25
+ if not test_block.nil?
26
26
  detail "Remaining message tests are skipped"
27
27
  end
28
28
 
@@ -31,7 +31,7 @@ module Messaging
31
31
  return
32
32
  end
33
33
 
34
- action.call(self)
34
+ test_block.call(self)
35
35
  end
36
36
  end
37
37
 
@@ -1,14 +1,14 @@
1
1
  module Messaging
2
2
  module Fixtures
3
- class Write
3
+ class Writer
4
4
  Error = Class.new(RuntimeError)
5
5
 
6
6
  include TestBench::Fixture
7
7
  include Initializer
8
8
 
9
- initializer :message, :stream_name, :expected_version, :reply_stream_name, :action
9
+ initializer :message_class, :message, :stream_name, :expected_version, :reply_stream_name, :test_block
10
10
 
11
- def self.build(writer, message_class, &action)
11
+ def self.build(writer, message_class, &test_block)
12
12
  data = get_data(writer, message_class)
13
13
 
14
14
  message = data&.message
@@ -16,7 +16,7 @@ module Messaging
16
16
  expected_version = data&.expected_version
17
17
  reply_stream_name = data&.reply_stream_name
18
18
 
19
- new(message, stream_name, expected_version, reply_stream_name, action)
19
+ new(message_class, message, stream_name, expected_version, reply_stream_name, test_block)
20
20
  end
21
21
 
22
22
  def self.get_data(writer, message_class)
@@ -38,15 +38,10 @@ module Messaging
38
38
  end
39
39
 
40
40
  def call
41
- message_class = message&.class
42
-
43
- context_name = 'Write'
44
- if not message_class.nil?
45
- context_name = "#{context_name}: #{message_class&.message_type}"
46
- end
41
+ context_name = "Write: #{message_class.message_type}"
47
42
 
48
43
  context context_name do
49
- if action.nil?
44
+ if test_block.nil?
50
45
  raise Error, "Write fixture must be executed with a block"
51
46
  end
52
47
 
@@ -55,16 +50,16 @@ module Messaging
55
50
  written = !message.nil?
56
51
 
57
52
  test "Written" do
58
- if not action.nil?
53
+ if not written
59
54
  detail "Remaining message tests are skipped"
60
55
  end
61
56
 
62
57
  assert(written)
63
58
  end
64
59
 
65
- return if !written
60
+ return if not written
66
61
 
67
- action.call(self)
62
+ test_block.call(self)
68
63
  end
69
64
 
70
65
  message
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-messaging-fixtures
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.0
4
+ version: 1.1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-11 00:00:00.000000000 Z
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evt-entity_store
@@ -74,12 +74,12 @@ files:
74
74
  - lib/messaging/fixtures/handler.rb
75
75
  - lib/messaging/fixtures/message.rb
76
76
  - lib/messaging/fixtures/metadata.rb
77
- - lib/messaging/fixtures/write.rb
77
+ - lib/messaging/fixtures/writer.rb
78
78
  homepage: https://github.com/eventide-project/messaging-fixtures
79
79
  licenses:
80
80
  - MIT
81
81
  metadata: {}
82
- post_install_message:
82
+ post_install_message:
83
83
  rdoc_options: []
84
84
  require_paths:
85
85
  - lib
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  version: '0'
96
96
  requirements: []
97
97
  rubygems_version: 3.1.2
98
- signing_key:
98
+ signing_key:
99
99
  specification_version: 4
100
100
  summary: TestBench fixtures for the Messaging library
101
101
  test_files: []