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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a9d1758b9cf5639179f69e82564243522214cac3ec54d29c2eb4f8ed251bd58
4
- data.tar.gz: 9df37a6e80fbdd5334d54f869a95813175206ff317ec241b1582cfb1b84f2106
3
+ metadata.gz: c7d373a0f4bb5821c355ae4e7c8e275131bee8250b97697b0ed3c34ec50e525d
4
+ data.tar.gz: 1ec3dddb8f86aa754384aed0143b86b348a5050e1f08afd6a87f12ae8c0d58cc
5
5
  SHA512:
6
- metadata.gz: fde4c2cf9bf517c4825606c46a5af50d6b44c0cdeed5eeff9725bfa770cf19280668e1143bbb602cb9d0be1775171e0ec5bb0757cd3e4d1fe683f7db8552e6f2
7
- data.tar.gz: af99ca315ba03df3e585a78ee5f302afe5e399cd51dbdfd8bced6329e2c1a93e62cad1706ce824996771fdd995c5f94d8d90622fb0fc7dd623179e5ac7e29f29
6
+ metadata.gz: 4d860a7e41e248768fe6fa687c596bfbb7519758766df047164e68c91f92a3e33d51a3520b1f8e9d3e60c2552b372c8d2cc9c2c411bbcb4c45b2c55b7cabf11a
7
+ data.tar.gz: 9e76bdbc11dcba4269b7408e38cb8ed3300f2e14493ecd4fe3b342712c20855a5eae6eab4931b70ddff041c969e5a4cc266579ea819ac573545d6e813d5975e9
@@ -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: "#{subject} (#{instance_id}, #{my_region})",
37
+ subject: subject,
36
38
  message: message)
37
39
  end
38
40
  end
@@ -1,5 +1,5 @@
1
1
  module MovableInk
2
2
  class AWS
3
- VERSION = '0.2.1'
3
+ VERSION = '0.2.2'
4
4
  end
5
5
  end
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.1
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-09-21 00:00:00.000000000 Z
11
+ date: 2018-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk