MovableInkAWS 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|