synapse-core 0.2.0 → 0.4.0

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.
Files changed (69) hide show
  1. data/lib/synapse.rb +3 -0
  2. data/lib/synapse/command/simple_command_bus.rb +2 -2
  3. data/lib/synapse/common/concurrency/identifier_lock.rb +71 -0
  4. data/lib/synapse/common/concurrency/public_lock.rb +96 -0
  5. data/lib/synapse/event_bus/simple_event_bus.rb +1 -1
  6. data/lib/synapse/event_bus/wiring.rb +0 -4
  7. data/lib/synapse/event_sourcing/member.rb +0 -4
  8. data/lib/synapse/event_sourcing/snapshot/count_trigger.rb +2 -2
  9. data/lib/synapse/event_store.rb +1 -9
  10. data/lib/synapse/partitioning.rb +0 -2
  11. data/lib/synapse/process_manager.rb +12 -0
  12. data/lib/synapse/process_manager/lock_manager.rb +22 -0
  13. data/lib/synapse/process_manager/pessimistic_lock_manager.rb +23 -0
  14. data/lib/synapse/process_manager/process.rb +2 -0
  15. data/lib/synapse/process_manager/process_factory.rb +52 -0
  16. data/lib/synapse/process_manager/process_manager.rb +170 -0
  17. data/lib/synapse/process_manager/process_repository.rb +53 -0
  18. data/lib/synapse/process_manager/repository/in_memory.rb +63 -0
  19. data/lib/synapse/process_manager/resource_injector.rb +12 -0
  20. data/lib/synapse/process_manager/simple_process_manager.rb +48 -0
  21. data/lib/synapse/process_manager/wiring/process.rb +27 -0
  22. data/lib/synapse/process_manager/wiring/process_manager.rb +72 -0
  23. data/lib/synapse/repository.rb +1 -0
  24. data/lib/synapse/repository/locking.rb +1 -1
  25. data/lib/synapse/repository/optimistic_lock_manager.rb +128 -0
  26. data/lib/synapse/repository/pessimistic_lock_manager.rb +4 -37
  27. data/lib/synapse/serialization.rb +1 -1
  28. data/lib/synapse/serialization/{converter/factory.rb → converter_factory.rb} +0 -0
  29. data/lib/synapse/serialization/serializer.rb +5 -3
  30. data/lib/synapse/uow/listener_collection.rb +59 -1
  31. data/lib/synapse/version.rb +1 -1
  32. data/lib/synapse/wiring/message_wiring.rb +7 -3
  33. data/lib/synapse/wiring/wire.rb +7 -2
  34. data/test/common/concurrency/identifier_lock_test.rb +36 -0
  35. data/test/common/concurrency/public_lock_test.rb +83 -0
  36. data/test/partitioning/packing/json_test.rb +2 -1
  37. data/test/process_manager/in_memory_test.rb +57 -0
  38. data/test/process_manager/process_factory_test.rb +31 -0
  39. data/test/process_manager/simple_process_manager_test.rb +130 -0
  40. data/test/process_manager/wiring/fixtures.rb +42 -0
  41. data/test/process_manager/wiring/process_manager_test.rb +73 -0
  42. data/test/process_manager/wiring/process_test.rb +35 -0
  43. data/test/repository/optimistic_test.rb +41 -0
  44. data/test/repository/pessimistic_test.rb +20 -0
  45. data/test/serialization/converter/chain_test.rb +31 -0
  46. data/test/serialization/lazy_object_test.rb +1 -1
  47. data/test/serialization/message/serialization_aware_message_test.rb +4 -2
  48. data/test/serialization/message/serialized_message_builder_test.rb +1 -1
  49. data/test/serialization/message/serialized_message_test.rb +3 -2
  50. data/test/serialization/serializer/marshal_test.rb +1 -1
  51. data/test/serialization/serializer/oj_test.rb +1 -1
  52. data/test/serialization/serializer/ox_test.rb +1 -1
  53. data/test/serialization/serializer_test.rb +1 -1
  54. data/test/test_ext.rb +5 -2
  55. data/test/wiring/wire_registry_test.rb +10 -10
  56. data/test/wiring/wire_test.rb +5 -5
  57. metadata +29 -16
  58. data/lib/synapse/event_store/mongo.rb +0 -8
  59. data/lib/synapse/event_store/mongo/cursor_event_stream.rb +0 -63
  60. data/lib/synapse/event_store/mongo/event_store.rb +0 -86
  61. data/lib/synapse/event_store/mongo/per_commit_strategy.rb +0 -253
  62. data/lib/synapse/event_store/mongo/per_event_strategy.rb +0 -143
  63. data/lib/synapse/event_store/mongo/storage_strategy.rb +0 -113
  64. data/lib/synapse/event_store/mongo/template.rb +0 -73
  65. data/lib/synapse/partitioning/amqp.rb +0 -3
  66. data/lib/synapse/partitioning/amqp/amqp_queue_reader.rb +0 -50
  67. data/lib/synapse/partitioning/amqp/amqp_queue_writer.rb +0 -31
  68. data/lib/synapse/partitioning/amqp/key_resolver.rb +0 -26
  69. data/lib/synapse/serialization/converter/bson.rb +0 -28
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+
3
+ module Synapse
4
+ module ProcessManager
5
+
6
+ class OrderEvent
7
+ attr_accessor :order_id
8
+ def initialize(order_id)
9
+ @order_id = order_id
10
+ end
11
+ end
12
+
13
+ class OrderCreated < OrderEvent; end
14
+ class OrderForceCreated < OrderEvent; end
15
+ class OrderUpdated < OrderEvent; end
16
+ class OrderCanceled < OrderEvent; end
17
+ class OrderDerped; end
18
+
19
+ class OrderProcess < WiringProcess
20
+ attr_reader :handled
21
+
22
+ wire OrderCreated, correlate: :order_id, start: true do
23
+ @handled = (@handled or 0).next
24
+ end
25
+
26
+ wire OrderForceCreated, correlate: :order_id, start: true, force_new: true do
27
+ @handled = (@handled or 0).next
28
+ end
29
+
30
+ wire OrderUpdated, correlate: :order_id do
31
+ @handled = (@handled or 0).next
32
+ end
33
+
34
+ wire OrderCanceled, correlate: :order_id, finish: true do
35
+ @handled = (@handled or 0).next
36
+ end
37
+
38
+ wire OrderDerped, correlate: :derpy_key do; end
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,73 @@
1
+ require 'test_helper'
2
+ require 'process_manager/wiring/fixtures'
3
+
4
+ module Synapse
5
+ module ProcessManager
6
+
7
+ class WiringProcessManagerTest < Test::Unit::TestCase
8
+ def setup
9
+ @repository = InMemoryProcessRepository.new
10
+ @factory = GenericProcessFactory.new
11
+ @lock_manager = LockManager.new
12
+
13
+ @manager = WiringProcessManager.new @repository, @factory, @lock_manager, OrderProcess
14
+ end
15
+
16
+ def test_support
17
+ assert_raise ArgumentError do
18
+ WiringProcessManager.new @repository, @factory, @lock_manager, Process
19
+ end
20
+ end
21
+
22
+ def test_correlation
23
+ event = create_event OrderCreated.new 123
24
+ @manager.notify event
25
+
26
+ correlation = Correlation.new :order_id, 123
27
+
28
+ processes = @repository.find OrderProcess, correlation
29
+ assert_equal 1, processes.count
30
+ end
31
+
32
+ def test_creation_policy
33
+ event = create_event OrderCreated.new 123
34
+
35
+ @manager.notify event
36
+ @manager.notify event
37
+
38
+ assert_equal 1, @repository.count
39
+
40
+ event = create_event OrderForceCreated.new 123
41
+
42
+ @manager.notify event
43
+ @manager.notify event
44
+
45
+ assert_equal 3, @repository.count
46
+
47
+ event = create_event OrderUpdated.new 123
48
+
49
+ @manager.notify event
50
+ @manager.notify event
51
+
52
+ assert_equal 3, @repository.count
53
+ end
54
+
55
+ def test_correlation_fails
56
+ event = create_event OrderDerped.new
57
+
58
+ assert_raise RuntimeError do
59
+ @manager.notify event
60
+ end
61
+ end
62
+
63
+ private
64
+
65
+ def create_event(payload)
66
+ Domain::EventMessage.build do |builder|
67
+ builder.payload = payload
68
+ end
69
+ end
70
+ end
71
+
72
+ end
73
+ end
@@ -0,0 +1,35 @@
1
+ require 'test_helper'
2
+ require 'process_manager/wiring/fixtures'
3
+
4
+ module Synapse
5
+ module ProcessManager
6
+
7
+ class WiringProcessTest < Test::Unit::TestCase
8
+ def setup
9
+ @process = OrderProcess.new
10
+ end
11
+
12
+ def test_handle
13
+ event = Domain::EventMessage.build do |builder|
14
+ builder.payload = OrderCreated.new 123
15
+ end
16
+
17
+ @process.handle event
18
+
19
+ assert_equal 1, @process.handled
20
+ end
21
+
22
+ def test_handle_finish
23
+ event = Domain::EventMessage.build do |builder|
24
+ builder.payload = OrderCanceled.new 123
25
+ end
26
+
27
+ @process.handle event
28
+
29
+ assert_equal 1, @process.handled
30
+ refute @process.active?
31
+ end
32
+ end
33
+
34
+ end
35
+ end
@@ -0,0 +1,41 @@
1
+ require 'test_helper'
2
+ require 'domain/fixtures'
3
+
4
+ module Synapse
5
+ module Repository
6
+ class OptimisticLockManagerTest < Test::Unit::TestCase
7
+ def test_fails_on_concurrent_modification
8
+ manager = OptimisticLockManager.new
9
+
10
+ id = SecureRandom.uuid
11
+
12
+ aggregate1 = Domain::Person.new id, 'Calculon'
13
+ aggregate2 = Domain::Person.new id, 'Calculon'
14
+
15
+ manager.obtain_lock aggregate1.id
16
+ manager.obtain_lock aggregate2.id
17
+
18
+
19
+ aggregate1.change_name 'Bender'
20
+ aggregate2.change_name 'Amy'
21
+
22
+ assert manager.validate_lock aggregate1
23
+ refute manager.validate_lock aggregate2
24
+ end
25
+
26
+ def test_lock_cleanup
27
+ manager = OptimisticLockManager.new
28
+
29
+ id = SecureRandom.uuid
30
+
31
+ manager.obtain_lock id
32
+ manager.obtain_lock id
33
+ manager.release_lock id
34
+ manager.release_lock id
35
+
36
+ aggregates = manager.instance_variable_get :@aggregates
37
+ refute aggregates.has_key? id
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,20 @@
1
+ require 'test_helper'
2
+ require 'domain/fixtures'
3
+
4
+ module Synapse
5
+ module Repository
6
+ class PessimisticLockManagerTest < Test::Unit::TestCase
7
+ def test_lifecycle
8
+ @manager = PessimisticLockManager.new
9
+
10
+ aggregate = Domain::Person.new SecureRandom.uuid, 'Bender'
11
+
12
+ refute @manager.validate_lock aggregate
13
+
14
+ @manager.obtain_lock aggregate.id
15
+ assert @manager.validate_lock aggregate
16
+ @manager.release_lock aggregate.id
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,31 @@
1
+ require 'test_helper'
2
+
3
+ module Synapse
4
+ module Serialization
5
+
6
+ class ConverterChainTest < Test::Unit::TestCase
7
+ def test_convert
8
+ converters = Array.new
9
+ converters << ObjectToJsonConverter.new << JsonToObjectConverter.new
10
+
11
+ chain = ConverterChain.new converters
12
+
13
+ assert_equal Object, chain.source_type
14
+ assert_equal Object, chain.target_type
15
+
16
+ content = { 'foo' => 'bar' }
17
+
18
+ type = SerializedType.new 'TestType', 1
19
+ object = SerializedObject.new content, content.class, type
20
+
21
+ converted = chain.convert object
22
+ converted_content = chain.convert_content content
23
+
24
+ assert_equal content, converted.content
25
+ assert_equal content, converted_content
26
+ assert_equal type, converted.type
27
+ end
28
+ end
29
+
30
+ end
31
+ end
@@ -5,7 +5,7 @@ module Synapse
5
5
  module Serialization
6
6
  class LazyObjectTest < Test::Unit::TestCase
7
7
  def test_deserialize_once
8
- serializer = MarshalSerializer.new
8
+ serializer = MarshalSerializer.new ConverterFactory.new
9
9
  event = TestEvent.new 'a', 'b'
10
10
 
11
11
  serialized = serializer.serialize event, String
@@ -32,8 +32,10 @@ module Synapse
32
32
 
33
33
  aware = SerializationAwareDomainEventMessage.new message
34
34
 
35
- serializer_a = MarshalSerializer.new
36
- serializer_b = MarshalSerializer.new
35
+ converter_factory = ConverterFactory.new
36
+
37
+ serializer_a = MarshalSerializer.new converter_factory
38
+ serializer_b = MarshalSerializer.new converter_factory
37
39
 
38
40
  [:serialize_metadata, :serialize_payload].each do |method|
39
41
  serialized_a = aware.send method, serializer_a, String
@@ -7,7 +7,7 @@ module Synapse
7
7
  def test_from_data
8
8
  builder = SerializedDomainEventMessageBuilder.new
9
9
 
10
- serializer = MarshalSerializer.new
10
+ serializer = MarshalSerializer.new ConverterFactory.new
11
11
 
12
12
  data = StubSerializedDomainEventData.new
13
13
  data.id = 0
@@ -23,8 +23,9 @@ module Synapse
23
23
 
24
24
  class SerializedDomainEventMessageTest < Test::Unit::TestCase
25
25
  def setup
26
- @serializer_a = MarshalSerializer.new
27
- @serializer_b = MarshalSerializer.new
26
+ converter_factory = ConverterFactory.new
27
+ @serializer_a = MarshalSerializer.new converter_factory
28
+ @serializer_b = MarshalSerializer.new converter_factory
28
29
  end
29
30
 
30
31
  def test_serialization
@@ -7,7 +7,7 @@ module Synapse
7
7
  class MarshalSerializerTest < Test::Unit::TestCase
8
8
 
9
9
  def test_serialize_deserialize
10
- serializer = MarshalSerializer.new
10
+ serializer = MarshalSerializer.new ConverterFactory.new
11
11
  event = TestEvent.new 'derp', 'herp'
12
12
 
13
13
  serialized_obj = serializer.serialize event, String
@@ -10,7 +10,7 @@ module Synapse
10
10
  end
11
11
 
12
12
  def test_serialize_deserialize
13
- serializer = OjSerializer.new
13
+ serializer = OjSerializer.new ConverterFactory.new
14
14
  event = TestEvent.new 'derp', 'herp'
15
15
 
16
16
  serialized_obj = serializer.serialize event, String
@@ -8,7 +8,7 @@ module Synapse
8
8
  def setup
9
9
  skip 'Ox not supported on JRuby' if defined? JRUBY_VERSION
10
10
 
11
- @serializer = OxSerializer.new
11
+ @serializer = OxSerializer.new ConverterFactory.new
12
12
  end
13
13
 
14
14
  def test_serialize_and_deserialize
@@ -7,7 +7,7 @@ module Synapse
7
7
  def test_revision
8
8
  revision = '123'
9
9
 
10
- serializer = Serializer.new
10
+ serializer = Serializer.new ConverterFactory.new
11
11
  serializer.revision_resolver = FixedRevisionResolver.new revision
12
12
 
13
13
  type = serializer.type_for Object
data/test/test_ext.rb CHANGED
@@ -4,10 +4,13 @@ class Test::Unit::TestCase
4
4
  # @param [Integer] timeout In seconds
5
5
  # @param [Float] retry_interval In seconds
6
6
  # @return [undefined]
7
- def wait_until(timeout = 2, retry_interval = 0.1, &block)
7
+ def wait_until(timeout = 5, retry_interval = 0.01, &block)
8
8
  start = Time.now
9
9
  until !!block.call
10
- raise if (Time.now - start).to_i >= timeout
10
+ if (Time.now - start).to_i >= timeout
11
+ raise 'Operation timed out'
12
+ end
13
+
11
14
  sleep retry_interval
12
15
  end
13
16
  end
@@ -7,19 +7,19 @@ module Synapse
7
7
  def test_duplicates
8
8
  registry = WireRegistry.new false
9
9
 
10
- registry.register Wire.new Object, :test
11
- registry.register Wire.new Integer, :test
10
+ registry.register Wire.new Object, Hash.new, :test
11
+ registry.register Wire.new Integer, Hash.new, :test
12
12
 
13
13
  assert_raise DuplicateWireError do
14
- registry.register Wire.new Object, :test
14
+ registry.register Wire.new Object, Hash.new, :test
15
15
  end
16
16
  end
17
17
 
18
18
  def test_each_type
19
19
  registry = WireRegistry.new false
20
20
 
21
- registry.register Wire.new Integer, :test
22
- registry.register Wire.new Object, :test
21
+ registry.register Wire.new Integer, Hash.new, :test
22
+ registry.register Wire.new Object, Hash.new, :test
23
23
 
24
24
  types = Array.new
25
25
  registry.each_type do |type|
@@ -32,8 +32,8 @@ module Synapse
32
32
  def test_wire_for
33
33
  registry = WireRegistry.new false
34
34
 
35
- registry.register Wire.new Object, :test
36
- registry.register Wire.new Integer, :test
35
+ registry.register Wire.new Object, Hash.new, :test
36
+ registry.register Wire.new Integer, Hash.new, :test
37
37
 
38
38
  wire = registry.wire_for Integer
39
39
  assert_equal Integer, wire.type
@@ -45,9 +45,9 @@ module Synapse
45
45
  def test_wires_for
46
46
  registry = WireRegistry.new false
47
47
 
48
- registry.register Wire.new String, :test
49
- registry.register Wire.new Object, :test
50
- registry.register Wire.new Integer, :test
48
+ registry.register Wire.new String, Hash.new, :test
49
+ registry.register Wire.new Object, Hash.new, :test
50
+ registry.register Wire.new Integer, Hash.new, :test
51
51
 
52
52
  wires = registry.wires_for Integer
53
53
 
@@ -10,7 +10,7 @@ module Synapse
10
10
  target = Object.new
11
11
  mock(target).test(payload)
12
12
 
13
- wire = Wire.new TestEvent, :test
13
+ wire = Wire.new TestEvent, Hash.new, :test
14
14
  wire.invoke target, payload
15
15
  end
16
16
 
@@ -28,14 +28,14 @@ module Synapse
28
28
  raise 'Oh noes' unless @secret == 5
29
29
  end
30
30
 
31
- wire = Wire.new TestEvent, handler
31
+ wire = Wire.new TestEvent, Hash.new, handler
32
32
  wire.invoke target, payload
33
33
  end
34
34
 
35
35
  def test_comparison_and_equality
36
- wire_a = Wire.new TestEvent, :test
37
- wire_b = Wire.new TestEvent, :test
38
- wire_c = Wire.new TestSubEvent, :test
36
+ wire_a = Wire.new TestEvent, Hash.new, :test
37
+ wire_b = Wire.new TestEvent, Hash.new, :test
38
+ wire_c = Wire.new TestSubEvent, Hash.new, :test
39
39
 
40
40
  assert wire_a == wire_b
41
41
  assert wire_b == wire_a
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synapse-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-10 00:00:00.000000000 Z
12
+ date: 2013-05-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -92,6 +92,7 @@ files:
92
92
  - lib/synapse/event_store.rb
93
93
  - lib/synapse/repository/lock_manager.rb
94
94
  - lib/synapse/repository/pessimistic_lock_manager.rb
95
+ - lib/synapse/repository/optimistic_lock_manager.rb
95
96
  - lib/synapse/repository/errors.rb
96
97
  - lib/synapse/repository/locking.rb
97
98
  - lib/synapse/repository/repository.rb
@@ -114,22 +115,25 @@ files:
114
115
  - lib/synapse/upcasting/context.rb
115
116
  - lib/synapse/version.rb
116
117
  - lib/synapse/process_manager.rb
118
+ - lib/synapse/process_manager/process_repository.rb
119
+ - lib/synapse/process_manager/lock_manager.rb
117
120
  - lib/synapse/process_manager/correlation_set.rb
121
+ - lib/synapse/process_manager/pessimistic_lock_manager.rb
118
122
  - lib/synapse/process_manager/correlation.rb
123
+ - lib/synapse/process_manager/repository/in_memory.rb
119
124
  - lib/synapse/process_manager/correlation_resolver.rb
125
+ - lib/synapse/process_manager/process_manager.rb
126
+ - lib/synapse/process_manager/process_factory.rb
127
+ - lib/synapse/process_manager/resource_injector.rb
128
+ - lib/synapse/process_manager/simple_process_manager.rb
129
+ - lib/synapse/process_manager/wiring/process_manager.rb
130
+ - lib/synapse/process_manager/wiring/process.rb
120
131
  - lib/synapse/process_manager/process.rb
121
132
  - lib/synapse/command.rb
122
133
  - lib/synapse/upcasting.rb
123
- - lib/synapse/event_store/mongo/cursor_event_stream.rb
124
- - lib/synapse/event_store/mongo/event_store.rb
125
- - lib/synapse/event_store/mongo/storage_strategy.rb
126
- - lib/synapse/event_store/mongo/template.rb
127
- - lib/synapse/event_store/mongo/per_commit_strategy.rb
128
- - lib/synapse/event_store/mongo/per_event_strategy.rb
129
134
  - lib/synapse/event_store/event_store.rb
130
135
  - lib/synapse/event_store/errors.rb
131
136
  - lib/synapse/event_store/in_memory.rb
132
- - lib/synapse/event_store/mongo.rb
133
137
  - lib/synapse/wiring.rb
134
138
  - lib/synapse/auditing/audit_logger.rb
135
139
  - lib/synapse/auditing/data_provider.rb
@@ -140,6 +144,8 @@ files:
140
144
  - lib/synapse/domain.rb
141
145
  - lib/synapse/common/identifier.rb
142
146
  - lib/synapse/common/duplication.rb
147
+ - lib/synapse/common/concurrency/public_lock.rb
148
+ - lib/synapse/common/concurrency/identifier_lock.rb
143
149
  - lib/synapse/common/message.rb
144
150
  - lib/synapse/common/errors.rb
145
151
  - lib/synapse/common/message_builder.rb
@@ -159,14 +165,10 @@ files:
159
165
  - lib/synapse/domain/message_builder.rb
160
166
  - lib/synapse/domain/aggregate_root.rb
161
167
  - lib/synapse/partitioning/memory_queue_writer.rb
162
- - lib/synapse/partitioning/amqp/amqp_queue_reader.rb
163
- - lib/synapse/partitioning/amqp/amqp_queue_writer.rb
164
- - lib/synapse/partitioning/amqp/key_resolver.rb
165
168
  - lib/synapse/partitioning/packing.rb
166
169
  - lib/synapse/partitioning/memory_queue_reader.rb
167
170
  - lib/synapse/partitioning/packing/json_unpacker.rb
168
171
  - lib/synapse/partitioning/packing/json_packer.rb
169
- - lib/synapse/partitioning/amqp.rb
170
172
  - lib/synapse/partitioning/queue_reader.rb
171
173
  - lib/synapse/partitioning/queue_writer.rb
172
174
  - lib/synapse/partitioning/message_receipt.rb
@@ -182,11 +184,10 @@ files:
182
184
  - lib/synapse/serialization/message/serializer.rb
183
185
  - lib/synapse/serialization/serialized_type.rb
184
186
  - lib/synapse/serialization/converter/ox.rb
185
- - lib/synapse/serialization/converter/bson.rb
186
187
  - lib/synapse/serialization/converter/chain.rb
187
- - lib/synapse/serialization/converter/factory.rb
188
188
  - lib/synapse/serialization/converter/json.rb
189
189
  - lib/synapse/serialization/converter/identity.rb
190
+ - lib/synapse/serialization/converter_factory.rb
190
191
  - lib/synapse/serialization/serializer/ox.rb
191
192
  - lib/synapse/serialization/serializer/oj.rb
192
193
  - lib/synapse/serialization/serializer/marshal.rb
@@ -210,6 +211,8 @@ files:
210
211
  - test/command/simple_command_bus_test.rb
211
212
  - test/command/serialization_test.rb
212
213
  - test/command/validation_test.rb
214
+ - test/repository/pessimistic_test.rb
215
+ - test/repository/optimistic_test.rb
213
216
  - test/repository/locking_test.rb
214
217
  - test/test_helper.rb
215
218
  - test/event_sourcing/storage_listener_test.rb
@@ -224,11 +227,19 @@ files:
224
227
  - test/upcasting/chain_test.rb
225
228
  - test/process_manager/process_test.rb
226
229
  - test/process_manager/correlation_set_test.rb
230
+ - test/process_manager/simple_process_manager_test.rb
227
231
  - test/process_manager/correlation_test.rb
232
+ - test/process_manager/process_factory_test.rb
233
+ - test/process_manager/wiring/process_test.rb
234
+ - test/process_manager/wiring/process_manager_test.rb
235
+ - test/process_manager/wiring/fixtures.rb
236
+ - test/process_manager/in_memory_test.rb
228
237
  - test/event_store/in_memory_test.rb
229
238
  - test/auditing/dispatch_interceptor_test.rb
230
239
  - test/auditing/data_provider_test.rb
231
240
  - test/auditing/unit_listener_test.rb
241
+ - test/common/concurrency/identifier_lock_test.rb
242
+ - test/common/concurrency/public_lock_test.rb
232
243
  - test/event_bus/wiring_test.rb
233
244
  - test/wiring/wire_registry_test.rb
234
245
  - test/wiring/wire_test.rb
@@ -247,6 +258,7 @@ files:
247
258
  - test/serialization/converter/ox_test.rb
248
259
  - test/serialization/converter/identity_test.rb
249
260
  - test/serialization/converter/json_test.rb
261
+ - test/serialization/converter/chain_test.rb
250
262
  - test/serialization/serializer_test.rb
251
263
  - test/serialization/lazy_object_test.rb
252
264
  - test/serialization/serializer/oj_test.rb
@@ -257,7 +269,8 @@ files:
257
269
  - test/serialization/fixtures.rb
258
270
  - test/serialization/serialized_type_test.rb
259
271
  homepage: https://github.com/iunruh/synapse
260
- licenses: []
272
+ licenses:
273
+ - Apache 2.0
261
274
  post_install_message:
262
275
  rdoc_options: []
263
276
  require_paths: