MovableInkAWS 0.2.1 → 0.2.2
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/lib/movable_ink/aws/sns.rb +3 -1
- data/lib/movable_ink/version.rb +1 -1
- data/spec/aws_spec.rb +4 -0
- data/spec/ec2_spec.rb +2 -0
- data/spec/sns_spec.rb +16 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7d373a0f4bb5821c355ae4e7c8e275131bee8250b97697b0ed3c34ec50e525d
|
4
|
+
data.tar.gz: 1ec3dddb8f86aa754384aed0143b86b348a5050e1f08afd6a87f12ae8c0d58cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d860a7e41e248768fe6fa687c596bfbb7519758766df047164e68c91f92a3e33d51a3520b1f8e9d3e60c2552b372c8d2cc9c2c411bbcb4c45b2c55b7cabf11a
|
7
|
+
data.tar.gz: 9e76bdbc11dcba4269b7408e38cb8ed3300f2e14493ecd4fe3b342712c20855a5eae6eab4931b70ddff041c969e5a4cc266579ea819ac573545d6e813d5975e9
|
data/lib/movable_ink/aws/sns.rb
CHANGED
@@ -30,9 +30,11 @@ module MovableInk
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def notify_slack(subject:, message:)
|
33
|
+
required_info = " (#{instance_id}, #{my_region})"
|
34
|
+
subject = "#{subject.slice(0, 99-required_info.length)}#{required_info}"
|
33
35
|
run_with_backoff do
|
34
36
|
sns.publish(topic_arn: sns_slack_topic_arn,
|
35
|
-
subject:
|
37
|
+
subject: subject,
|
36
38
|
message: message)
|
37
39
|
end
|
38
40
|
end
|
data/lib/movable_ink/version.rb
CHANGED
data/spec/aws_spec.rb
CHANGED
@@ -4,6 +4,10 @@ describe MovableInk::AWS do
|
|
4
4
|
context "outside EC2" do
|
5
5
|
it "should raise an error if EC2 is required" do
|
6
6
|
aws = MovableInk::AWS.new
|
7
|
+
allow(aws).to receive(:`).with('ec2metadata --instance-id 2>/dev/null').and_return("")
|
8
|
+
allow(aws).to receive(:`).with('ec2metadata --availability-zone 2>/dev/null').and_return("")
|
9
|
+
|
10
|
+
|
7
11
|
expect{ aws.instance_id }.to raise_error(MovableInk::AWS::Errors::EC2Required)
|
8
12
|
expect{ aws.availability_zone }.to raise_error(MovableInk::AWS::Errors::EC2Required)
|
9
13
|
end
|
data/spec/ec2_spec.rb
CHANGED
@@ -4,6 +4,8 @@ describe MovableInk::AWS::EC2 do
|
|
4
4
|
context "outside EC2" do
|
5
5
|
it "should raise an error if trying to load mi_env outside of EC2" do
|
6
6
|
aws = MovableInk::AWS.new
|
7
|
+
allow(aws).to receive(:`).with('ec2metadata --instance-id 2>/dev/null').and_return("")
|
8
|
+
allow(aws).to receive(:`).with('ec2metadata --availability-zone 2>/dev/null').and_return("")
|
7
9
|
expect{ aws.mi_env }.to raise_error(MovableInk::AWS::Errors::EC2Required)
|
8
10
|
end
|
9
11
|
|
data/spec/sns_spec.rb
CHANGED
@@ -26,5 +26,21 @@ describe MovableInk::AWS::SNS do
|
|
26
26
|
allow(aws).to receive(:sns).and_return(sns)
|
27
27
|
|
28
28
|
expect(aws.notify_slack(subject: 'Test subject', message: 'Test message').message_id).to eq('messageId')
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should truncate subjects longer than 100 characters" do
|
33
|
+
sns.stub_responses(:list_topics, topic_data)
|
34
|
+
allow(aws).to receive(:my_region).and_return('us-east-1')
|
35
|
+
allow(aws).to receive(:instance_id).and_return('test instance')
|
36
|
+
|
37
|
+
allow(aws).to receive(:sns).and_return(sns)
|
38
|
+
message = 'Test message'
|
39
|
+
subject = "a"*100
|
40
|
+
expected_subject = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (test instance, us-east-1)"
|
41
|
+
expect(sns).to receive(:publish).with({:topic_arn=>"slack-aws-alerts", :message=>"Test message", :subject => expected_subject})
|
42
|
+
|
43
|
+
aws.notify_slack(subject: subject, message: message)
|
44
|
+
|
29
45
|
end
|
30
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: MovableInkAWS
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Chesler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|