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 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