aws-flow 2.4.0 → 3.0.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 (41) hide show
  1. checksums.yaml +8 -8
  2. data/aws-flow.gemspec +1 -0
  3. data/lib/aws/decider.rb +0 -1
  4. data/lib/aws/decider/starter.rb +6 -8
  5. data/lib/aws/decider/utilities.rb +6 -0
  6. data/lib/aws/decider/version.rb +1 -1
  7. data/lib/aws/decider/worker.rb +6 -0
  8. data/lib/aws/flow/future.rb +86 -6
  9. data/lib/aws/flow/implementation.rb +84 -13
  10. data/lib/aws/runner.rb +1 -1
  11. data/lib/aws/templates.rb +2 -0
  12. data/lib/aws/templates/activity.rb +41 -0
  13. data/lib/aws/templates/default.rb +11 -8
  14. data/lib/aws/templates/result.rb +183 -0
  15. data/lib/aws/templates/starter.rb +152 -226
  16. data/lib/aws/templates/utilities.rb +59 -0
  17. data/spec/aws/decider/integration/activity_spec.rb +1 -0
  18. data/spec/aws/decider/integration/options_spec.rb +16 -9
  19. data/spec/aws/decider/integration/starter_spec.rb +6 -7
  20. data/spec/aws/decider/unit/starter_spec.rb +2 -2
  21. data/spec/aws/decider/unit/worker_spec.rb +42 -0
  22. data/spec/aws/flow/{async_backtrace_spec.rb → unit/async_backtrace_spec.rb} +0 -0
  23. data/spec/aws/flow/{async_scope_spec.rb → unit/async_scope_spec.rb} +0 -0
  24. data/spec/aws/flow/{begin_rescue_ensure_spec.rb → unit/begin_rescue_ensure_spec.rb} +0 -0
  25. data/spec/aws/flow/unit/external_condition_variable_spec.rb +59 -0
  26. data/spec/aws/flow/{external_task_spec.rb → unit/external_task_spec.rb} +0 -0
  27. data/spec/aws/flow/{factories.rb → unit/factories.rb} +0 -0
  28. data/spec/aws/flow/{fiber_condition_variable_spec.rb → unit/fiber_condition_variable_spec.rb} +0 -0
  29. data/spec/aws/flow/{fiber_spec.rb → unit/fiber_spec.rb} +0 -0
  30. data/spec/aws/flow/{flow_spec.rb → unit/flow_spec.rb} +0 -0
  31. data/spec/aws/flow/{future_spec.rb → unit/future_spec.rb} +188 -0
  32. data/spec/aws/flow/{simple_dfa_spec.rb → unit/simple_dfa_spec.rb} +0 -0
  33. data/spec/aws/runner/integration/runner_integration_spec.rb +1 -0
  34. data/spec/aws/runner/unit/runner_unit_spec.rb +3 -3
  35. data/spec/aws/templates/unit/activity_spec.rb +9 -10
  36. data/spec/aws/templates/unit/base_spec.rb +10 -11
  37. data/spec/aws/templates/unit/default_spec.rb +23 -6
  38. data/spec/aws/templates/unit/result_spec.rb +130 -0
  39. data/spec/aws/templates/unit/starter_spec.rb +32 -105
  40. data/spec/aws/templates/unit/utilities_spec.rb +80 -0
  41. metadata +19 -13
@@ -0,0 +1,80 @@
1
+ require 'spec_helper'
2
+
3
+ describe AWS::Flow::Templates::Utils do
4
+
5
+ context "#register_on_failure" do
6
+
7
+ it "calls the register_default methods on failure and calls the block again" do
8
+
9
+ block = double
10
+ expect(block).to receive(:test).once.and_raise(AWS::SimpleWorkflow::Errors::UnknownResourceFault)
11
+ expect(block).to receive(:test).once
12
+
13
+ expect(AWS::Flow::Templates::Utils).to receive(:register_defaults).with("foo")
14
+ AWS::Flow::Templates::Utils.register_on_failure("foo") { block.test }
15
+
16
+ end
17
+
18
+ it "calls the block once if no failure" do
19
+
20
+ block = double
21
+ expect(block).to receive(:test).once
22
+
23
+ AWS::Flow::Templates::Utils.register_on_failure("foo") { block.test }
24
+ end
25
+
26
+ end
27
+
28
+ context "#register_defaults" do
29
+
30
+ it "registers default workflow and activity in default domain" do
31
+ expect(AWS::Flow::Utilities).to receive(:register_domain) do |x|
32
+ x.should == FlowConstants.defaults[:domain]
33
+ end
34
+
35
+ expect(AWS::Flow::Templates::Utils).to receive(:register_default_workflow)
36
+ expect(AWS::Flow::Templates::Utils).to receive(:register_default_result_activity)
37
+ AWS::Flow::Templates::Utils.register_defaults
38
+ end
39
+
40
+ it "registers default workflow and activity in a non default domain" do
41
+ expect(AWS::Flow::Utilities).to receive(:register_domain) do |x|
42
+ x.should == "foo"
43
+ end
44
+
45
+ expect(AWS::Flow::Templates::Utils).to receive(:register_default_workflow)
46
+ expect(AWS::Flow::Templates::Utils).to receive(:register_default_result_activity)
47
+ AWS::Flow::Templates::Utils.register_defaults("foo")
48
+ end
49
+
50
+ end
51
+
52
+ context "#register_default_workflow" do
53
+
54
+ it "registers the default workflow" do
55
+ domain = double
56
+ allow(domain).to receive(:client).and_return(domain)
57
+ expect_any_instance_of(AWS::Flow::WorkflowWorker).to receive(:add_implementation) do |k|
58
+ k.should == AWS::Flow::Templates.const_get("#{FlowConstants.defaults[:prefix_name]}")
59
+ end
60
+ expect_any_instance_of(AWS::Flow::WorkflowWorker).to receive(:register)
61
+ AWS::Flow::Templates::Utils.register_default_workflow(domain)
62
+ end
63
+
64
+ end
65
+
66
+ context "#register_default_result_activity" do
67
+
68
+ it "registers the default result activity" do
69
+ domain = double
70
+ allow(domain).to receive(:client).and_return(domain)
71
+ expect_any_instance_of(AWS::Flow::ActivityWorker).to receive(:add_implementation) do |k|
72
+ k.should == AWS::Flow::Templates.const_get("#{FlowConstants.defaults[:result_activity_prefix]}")
73
+ end
74
+ expect_any_instance_of(AWS::Flow::ActivityWorker).to receive(:register)
75
+ AWS::Flow::Templates::Utils.register_default_result_activity(domain)
76
+ end
77
+
78
+ end
79
+
80
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-flow
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Steger, Paritosh Mohan, Jacques Thomas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-22 00:00:00.000000000 Z
11
+ date: 2015-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-v1
@@ -108,7 +108,9 @@ files:
108
108
  - lib/aws/templates/activity.rb
109
109
  - lib/aws/templates/base.rb
110
110
  - lib/aws/templates/default.rb
111
+ - lib/aws/templates/result.rb
111
112
  - lib/aws/templates/starter.rb
113
+ - lib/aws/templates/utilities.rb
112
114
  - lib/aws/utils.rb
113
115
  - spec/aws/decider/integration/activity_spec.rb
114
116
  - spec/aws/decider/integration/data_converter_spec.rb
@@ -130,16 +132,17 @@ files:
130
132
  - spec/aws/decider/unit/starter_spec.rb
131
133
  - spec/aws/decider/unit/worker_spec.rb
132
134
  - spec/aws/decider/unit/workflow_client_spec.rb
133
- - spec/aws/flow/async_backtrace_spec.rb
134
- - spec/aws/flow/async_scope_spec.rb
135
- - spec/aws/flow/begin_rescue_ensure_spec.rb
136
- - spec/aws/flow/external_task_spec.rb
137
- - spec/aws/flow/factories.rb
138
- - spec/aws/flow/fiber_condition_variable_spec.rb
139
- - spec/aws/flow/fiber_spec.rb
140
- - spec/aws/flow/flow_spec.rb
141
- - spec/aws/flow/future_spec.rb
142
- - spec/aws/flow/simple_dfa_spec.rb
135
+ - spec/aws/flow/unit/async_backtrace_spec.rb
136
+ - spec/aws/flow/unit/async_scope_spec.rb
137
+ - spec/aws/flow/unit/begin_rescue_ensure_spec.rb
138
+ - spec/aws/flow/unit/external_condition_variable_spec.rb
139
+ - spec/aws/flow/unit/external_task_spec.rb
140
+ - spec/aws/flow/unit/factories.rb
141
+ - spec/aws/flow/unit/fiber_condition_variable_spec.rb
142
+ - spec/aws/flow/unit/fiber_spec.rb
143
+ - spec/aws/flow/unit/flow_spec.rb
144
+ - spec/aws/flow/unit/future_spec.rb
145
+ - spec/aws/flow/unit/simple_dfa_spec.rb
143
146
  - spec/aws/replayer/integration/replayer_spec.rb
144
147
  - spec/aws/replayer/unit/replayer_spec.rb
145
148
  - spec/aws/runner/integration/runner_integration_spec.rb
@@ -147,10 +150,13 @@ files:
147
150
  - spec/aws/templates/unit/activity_spec.rb
148
151
  - spec/aws/templates/unit/base_spec.rb
149
152
  - spec/aws/templates/unit/default_spec.rb
153
+ - spec/aws/templates/unit/result_spec.rb
150
154
  - spec/aws/templates/unit/starter_spec.rb
155
+ - spec/aws/templates/unit/utilities_spec.rb
151
156
  - spec/spec_helper.rb
152
157
  homepage: https://aws.amazon.com/swf/details/flow/
153
- licenses: []
158
+ licenses:
159
+ - Apache-2.0
154
160
  metadata: {}
155
161
  post_install_message:
156
162
  rdoc_options: []