jets 2.3.19 → 3.0.4
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/.gitmodules +0 -3
- data/.python-version +1 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +45 -2
- data/LICENSE.txt +1 -1
- data/README.md +9 -3
- data/backers.md +1 -0
- data/jets.gemspec +12 -11
- data/lib/jets.rb +9 -13
- data/lib/jets/application.rb +9 -2
- data/lib/jets/application/defaults.rb +17 -15
- data/lib/jets/autoloaders.rb +15 -1
- data/lib/jets/booter.rb +3 -3
- data/lib/jets/builders/code_builder.rb +16 -15
- data/lib/jets/builders/gem_replacer.rb +3 -4
- data/lib/jets/builders/lambda_layer.rb +4 -5
- data/lib/jets/builders/md5_zip.rb +1 -1
- data/lib/jets/builders/ruby_packager.rb +16 -18
- data/lib/jets/builders/tidy.rb +1 -2
- data/lib/jets/bundle.rb +6 -0
- data/lib/jets/cfn/builders/api_gateway_builder.rb +61 -7
- data/lib/jets/cfn/ship.rb +2 -1
- data/lib/jets/cli.rb +6 -1
- data/lib/jets/commands/base.rb +1 -1
- data/lib/jets/commands/call.rb +14 -1
- data/lib/jets/commands/clean.rb +1 -1
- data/lib/jets/commands/clean/base.rb +1 -1
- data/lib/jets/commands/configure.rb +51 -0
- data/lib/jets/commands/delete.rb +2 -2
- data/lib/jets/commands/gems.rb +2 -10
- data/lib/jets/commands/help/call.md +8 -0
- data/lib/jets/commands/help/gems/check.md +3 -5
- data/lib/jets/commands/main.rb +9 -1
- data/lib/jets/commands/new.rb +9 -1
- data/lib/jets/commands/sequence.rb +6 -0
- data/lib/jets/commands/templates/skeleton/Gemfile.tt +1 -1
- data/lib/jets/commands/templates/skeleton/config/application.rb.tt +1 -1
- data/lib/jets/commands/templates/skeleton/public/index.html.tt +1 -1
- data/lib/jets/commands/url.rb +1 -0
- data/lib/jets/controller/base.rb +14 -4
- data/lib/jets/controller/middleware/main.rb +2 -1
- data/lib/jets/controller/params.rb +26 -4
- data/lib/jets/controller/rack/env.rb +18 -1
- data/lib/jets/controller/rendering.rb +5 -2
- data/lib/jets/controller/rendering/rack_renderer.rb +7 -1
- data/lib/jets/core.rb +12 -4
- data/lib/jets/dotenv/ssm.rb +18 -4
- data/lib/jets/generator.rb +2 -3
- data/lib/jets/internal/app/controllers/jets/public_controller.rb +2 -2
- data/lib/jets/internal/app/functions/jets/base_path.rb +10 -149
- data/lib/jets/internal/app/functions/jets/base_path_mapping.rb +81 -0
- data/lib/jets/internal/app/shared/functions/jets/s3_bucket_config.rb +14 -24
- data/lib/jets/overrides/rails/migration_checker.rb +6 -2
- data/lib/jets/resource/api_gateway/base_path/function.rb +6 -1
- data/lib/jets/resource/api_gateway/deployment.rb +2 -0
- data/lib/jets/resource/api_gateway/rest_api/logical_id.rb +34 -0
- data/lib/jets/resource/api_gateway/rest_api/logical_id/message.rb +49 -0
- data/lib/jets/resource/child_stack/api_deployment.rb +2 -0
- data/lib/jets/resource/lambda/function.rb +1 -1
- data/lib/jets/router/dsl.rb +7 -1
- data/lib/jets/router/method_creator/code.rb +1 -1
- data/lib/jets/router/scope.rb +7 -3
- data/lib/jets/spec_helpers/controllers.rb +11 -3
- data/lib/jets/spec_helpers/controllers/request.rb +23 -10
- data/lib/jets/stack/main/dsl/lambda.rb +1 -1
- data/lib/jets/turbo.rb +1 -0
- data/lib/jets/version.rb +1 -1
- metadata +51 -58
- data/vendor/cfn-status/CHANGELOG.md +0 -14
- data/vendor/cfn-status/Gemfile +0 -4
- data/vendor/cfn-status/LICENSE.txt +0 -21
- data/vendor/cfn-status/README.md +0 -56
- data/vendor/cfn-status/Rakefile +0 -6
- data/vendor/cfn-status/bin/console +0 -14
- data/vendor/cfn-status/bin/setup +0 -8
- data/vendor/cfn-status/cfn-status.gemspec +0 -30
- data/vendor/cfn-status/lib/cfn-status.rb +0 -1
- data/vendor/cfn-status/lib/cfn_status.rb +0 -245
- data/vendor/cfn-status/lib/cfn_status/aws_service.rb +0 -51
- data/vendor/cfn-status/lib/cfn_status/version.rb +0 -3
- data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-1.json +0 -1103
- data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-2.json +0 -1104
- data/vendor/cfn-status/spec/fixtures/cfn/pages/fresh/describe_stack_events-3.json +0 -1103
- data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-1.json +0 -1103
- data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-2.json +0 -1104
- data/vendor/cfn-status/spec/fixtures/cfn/pages/updating/describe_stack_events-3.json +0 -1103
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-complete.json +0 -1080
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-in-progress.json +0 -1080
- data/vendor/cfn-status/spec/fixtures/cfn/stack-events-update-rollback-complete.json +0 -1086
- data/vendor/cfn-status/spec/lib/cfn_status_spec.rb +0 -153
- data/vendor/cfn-status/spec/spec_helper.rb +0 -14
@@ -1,153 +0,0 @@
|
|
1
|
-
RSpec.describe CfnStatus do
|
2
|
-
it "has a version number" do
|
3
|
-
expect(CfnStatus::VERSION).not_to be nil
|
4
|
-
end
|
5
|
-
|
6
|
-
let(:status) do
|
7
|
-
status = CfnStatus.new("test-stack")
|
8
|
-
allow(status).to receive(:cfn).and_return(cfn)
|
9
|
-
status
|
10
|
-
end
|
11
|
-
let(:cfn) do
|
12
|
-
service = double("service").as_null_object
|
13
|
-
allow(service).to receive(:describe_stacks).and_return(stack_status)
|
14
|
-
allow(service).to receive(:describe_stack_events).and_return(stack_events)
|
15
|
-
service
|
16
|
-
end
|
17
|
-
|
18
|
-
context "in progress" do
|
19
|
-
let(:stack_status) { "UPDATE_IN_PROGRESS" }
|
20
|
-
let(:stack_events) { JSON.load(IO.read("spec/fixtures/cfn/stack-events-in-progress.json")) }
|
21
|
-
it "lists events since user initiated event" do
|
22
|
-
status.refresh_events
|
23
|
-
i = status.start_index
|
24
|
-
expect(i).to eq 15
|
25
|
-
# uncomment to view and debug
|
26
|
-
# status.show_events
|
27
|
-
# puts "****"
|
28
|
-
# status.show_events # should not show anything
|
29
|
-
end
|
30
|
-
|
31
|
-
it "lists events since last shown event" do
|
32
|
-
# first display
|
33
|
-
status.refresh_events
|
34
|
-
i = status.start_index
|
35
|
-
expect(i).to eq 15
|
36
|
-
|
37
|
-
# move the last event back in time 4 events, so should print 3 events
|
38
|
-
status.instance_variable_set(:@last_shown_event_id, "TargetGroup-ec634c43-b887-4bde-a525-7c69782865a6")
|
39
|
-
|
40
|
-
captured_events = []
|
41
|
-
allow(status).to receive(:print_event) do |e|
|
42
|
-
captured_events << "#{e["resource_type"]} #{e["resource_status"]}"
|
43
|
-
end
|
44
|
-
status.show_events
|
45
|
-
expect(captured_events).to eq([
|
46
|
-
"AWS::ElasticLoadBalancingV2::LoadBalancer DELETE_IN_PROGRESS",
|
47
|
-
"AWS::ElasticLoadBalancingV2::LoadBalancer DELETE_COMPLETE",
|
48
|
-
"AWS::EC2::SecurityGroup DELETE_IN_PROGRESS",
|
49
|
-
])
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
context "complete" do
|
54
|
-
let(:stack_status) { "UPDATE_COMPLETE" }
|
55
|
-
let(:stack_events) { JSON.load(IO.read("spec/fixtures/cfn/stack-events-complete.json")) }
|
56
|
-
it "lists events all the way to completion" do
|
57
|
-
status.refresh_events
|
58
|
-
i = status.start_index
|
59
|
-
expect(i).to eq 17
|
60
|
-
# uncomment to view and debug
|
61
|
-
# status.show_events
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
context "update_rollback" do
|
66
|
-
let(:stack_status) { "UPDATE_ROLLBACK_COMPLETE" }
|
67
|
-
let(:stack_events) { JSON.load(IO.read("spec/fixtures/cfn/stack-events-update-rollback-complete.json")) }
|
68
|
-
it "lists events all the way to update rollback complete" do
|
69
|
-
status.refresh_events
|
70
|
-
expect(status.success?).to be false
|
71
|
-
expect(status.update_rollback?).to be true
|
72
|
-
expect(status.rollback_error_message).to include("STATIC_NAME")
|
73
|
-
|
74
|
-
# i = status.start_index
|
75
|
-
# expect(i).to eq 17
|
76
|
-
# uncomment to view and debug
|
77
|
-
# status.show_events
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
context "huge template with large number of stack_events" do
|
82
|
-
# Grabbed the fixture data with `jets status`
|
83
|
-
context "fresh" do
|
84
|
-
# Special mock for pagination testing
|
85
|
-
let(:cfn) do
|
86
|
-
service = double("service").as_null_object
|
87
|
-
allow(service).to receive(:describe_stacks).and_return(stack_status)
|
88
|
-
|
89
|
-
allow(service).to receive(:describe_stack_events) do |args|
|
90
|
-
case args
|
91
|
-
when {:stack_name=>"test-stack"}
|
92
|
-
stack_events1
|
93
|
-
when {:stack_name=>"test-stack", :next_token=>"2"}
|
94
|
-
stack_events2
|
95
|
-
else
|
96
|
-
stack_events3 # final page since "User Initiated" is found
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
service
|
101
|
-
end
|
102
|
-
let(:stack_status) { "UPDATE_COMPLETE" }
|
103
|
-
let(:stack_events1) { JSON.load(IO.read("spec/fixtures/cfn/pages/fresh/describe_stack_events-1.json")) }
|
104
|
-
let(:stack_events2) { JSON.load(IO.read("spec/fixtures/cfn/pages/fresh/describe_stack_events-2.json")) }
|
105
|
-
let(:stack_events3) { JSON.load(IO.read("spec/fixtures/cfn/pages/fresh/describe_stack_events-3.json")) }
|
106
|
-
|
107
|
-
it "paginates" do
|
108
|
-
status.refresh_events
|
109
|
-
expect(status.events.size).to eq 300 # 3 pages worth of events to find the "User Initiated"
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
# Grabbed the fixture data with `jets jets`
|
114
|
-
context "updating" do
|
115
|
-
# Special mock for pagination testing
|
116
|
-
let(:cfn) do
|
117
|
-
service = double("service").as_null_object
|
118
|
-
allow(service).to receive(:describe_stacks).and_return(stack_status)
|
119
|
-
|
120
|
-
allow(service).to receive(:describe_stack_events) do |args|
|
121
|
-
case args
|
122
|
-
when {:stack_name=>"test-stack"}
|
123
|
-
stack_events1
|
124
|
-
when {:stack_name=>"test-stack", :next_token=>"2"}
|
125
|
-
stack_events2
|
126
|
-
else
|
127
|
-
stack_events3 # final page since "User Initiated" is found
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
service
|
132
|
-
end
|
133
|
-
let(:stack_status) { "UPDATE_COMPLETE" }
|
134
|
-
let(:stack_events1) { JSON.load(IO.read("spec/fixtures/cfn/pages/updating/describe_stack_events-1.json")) }
|
135
|
-
let(:stack_events2) { JSON.load(IO.read("spec/fixtures/cfn/pages/updating/describe_stack_events-2.json")) }
|
136
|
-
let(:stack_events3) { JSON.load(IO.read("spec/fixtures/cfn/pages/updating/describe_stack_events-3.json")) }
|
137
|
-
|
138
|
-
it "found event on page 2" do
|
139
|
-
# random event id grabbed from fixture on page 2
|
140
|
-
status.instance_variable_set(:@last_shown_event_id, "Hard10Job-UPDATE_COMPLETE-2019-10-20T18:03:02.943Z")
|
141
|
-
status.refresh_events
|
142
|
-
expect(status.events.size).to eq 200 # 2 pages worth of events to find the :@last_shown_event_id
|
143
|
-
end
|
144
|
-
|
145
|
-
it "found event on page 3" do
|
146
|
-
# random event id grabbed from fixture on page 3
|
147
|
-
status.instance_variable_set(:@last_shown_event_id, "Hard42Job-UPDATE_COMPLETE-2019-10-20T18:01:33.209Z")
|
148
|
-
status.refresh_events
|
149
|
-
expect(status.events.size).to eq 300 # 3 pages worth of events to find the :@last_shown_event_id
|
150
|
-
end
|
151
|
-
end
|
152
|
-
end
|
153
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require "bundler/setup"
|
2
|
-
require "cfn_status"
|
3
|
-
|
4
|
-
RSpec.configure do |config|
|
5
|
-
# Enable flags like --only-failures and --next-failure
|
6
|
-
config.example_status_persistence_file_path = ".rspec_status"
|
7
|
-
|
8
|
-
# Disable RSpec exposing methods globally on `Module` and `main`
|
9
|
-
config.disable_monkey_patching!
|
10
|
-
|
11
|
-
config.expect_with :rspec do |c|
|
12
|
-
c.syntax = :expect
|
13
|
-
end
|
14
|
-
end
|