From 050ec1340cd3df60c19fd54cc80dc6ac8debef37 Mon Sep 17 00:00:00 2001 From: Ethan Date: Thu, 15 Oct 2015 11:22:39 -0400 Subject: [PATCH] respond to comments, add specs, make rubocop happy --- Rakefile | 7 +++---- lib/dynamo-local-ruby/dynamo_db_local.rb | 2 +- spec/dynamo-local-ruby/dynamo_db_local_spec.rb | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Rakefile b/Rakefile index c55fe0b..f5fe116 100644 --- a/Rakefile +++ b/Rakefile @@ -6,7 +6,8 @@ require 'rspec/core/rake_task' RuboCop::RakeTask.new RSpec::Core::RakeTask.new - +LATEST_WEB_TGZ = 'http://dynamodb-local.s3-website-us-west-2.amazonaws.com'\ + '/dynamodb_local_latest.tar.gz' JAR_NAME = 'DynamoDBLocal.jar' LOCAL_JAR_DIR = '../lib/jars/dynamodb_local' SPEC_JAR_DIR = File.expand_path('./spec/dynamo-local-ruby/support/jars/') @@ -30,9 +31,7 @@ task build: :download_dynamodb_local def download_jar(local_path) latest = File.join(local_path, 'dynamodb_local_latest.tar.gz') - latest_web_tgz = 'http://dynamodb-local.s3-website-us-west-2.amazonaws.com'\ - '/dynamodb_local_latest.tar.gz' - `wget #{latest_web_tgz} -O #{latest}` unless File.exist?(latest) + `wget #{LATEST_WEB_TGZ} -O #{latest}` unless File.exist?(latest) `tar xzf #{latest} -C #{local_path}` `rm #{latest}` if File.exist?(latest) end diff --git a/lib/dynamo-local-ruby/dynamo_db_local.rb b/lib/dynamo-local-ruby/dynamo_db_local.rb index 9c6f75d..31e29d4 100644 --- a/lib/dynamo-local-ruby/dynamo_db_local.rb +++ b/lib/dynamo-local-ruby/dynamo_db_local.rb @@ -44,11 +44,11 @@ def test_connection end end - private def teardown(pid) Process.kill('SIGINT', pid) Process.waitpid2(pid) rescue Errno::ESRCH + nil end end diff --git a/spec/dynamo-local-ruby/dynamo_db_local_spec.rb b/spec/dynamo-local-ruby/dynamo_db_local_spec.rb index 09c5d59..e1a0fe5 100644 --- a/spec/dynamo-local-ruby/dynamo_db_local_spec.rb +++ b/spec/dynamo-local-ruby/dynamo_db_local_spec.rb @@ -10,7 +10,21 @@ describe '.up' do describe 'exit teardown' do + let(:pid) { 123 } + context 'pid exists' do + it 'kills and waits' do + Process.should_receive(:kill).with('SIGINT', pid) + Process.should_receive(:waitpid2).with(pid) + described_class.send(:teardown, pid) + end + end + + context 'no pid' do + it 'does not raise' do + expect { described_class.send(:teardown, pid) }.not_to raise_error + end + end end after(:each) do