elasticsearch_update 1.0.4 → 1.1.0

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
  SHA1:
3
- metadata.gz: f35930c49598a1afdd446aee7be5dc374d3e5ab4
4
- data.tar.gz: 656478858af34cd9cc2e861a69fb2fa29fc7465a
3
+ metadata.gz: 65bb030954dee148bced19b77dd94f0f6c167f37
4
+ data.tar.gz: 30cb25dc590178def7192da6e32b98e6db7305fe
5
5
  SHA512:
6
- metadata.gz: 8a497066f6c4cc0562602b326f6688e01b93fa71b5dff77cea4e869e56b8c68d0f5ba22ebc167c96eca67e23958628ec1b5fa18a180cf314df32c45a9f05d686
7
- data.tar.gz: 38d7b00450d75279dab52f0ff694dab8ff7e8679fca3704c7bf5e3afeb043e1c8adfb9966284d76bdc2c8a82d635065265f90f71199a81a6e8a8f97818bfa2aa
6
+ metadata.gz: 0ffcc7fd3c48d17f17564dc9be020901a91027acdd76023859692bdb8d36371453b4a659d6f442ca47c81f383778131cbdf3b4dcb28a429d205f60186bd0049a
7
+ data.tar.gz: ce7f796aee03b585ba44a03cffe8549d2947017ab5681e1d8e391f8a193cb955ab844cb72308d797b5b8488be8c97c1e46235906cd91549be5d1f0e13a6037d8
@@ -5,4 +5,4 @@ args = ARGV.dup
5
5
  ARGV.clear
6
6
  command = args.shift.strip rescue 'help'
7
7
 
8
- ElasticsearchUpdate::Cli.start
8
+ ElasticsearchUpdate::Cli.new
@@ -14,8 +14,8 @@ module ElasticsearchUpdate
14
14
  #
15
15
  # ==== Example
16
16
  #
17
- # ElasticsearchUpdate::Cli.start
18
- def self.start
17
+ # ElasticsearchUpdate::Cli.new
18
+ def initialize
19
19
  @log = Logger.new(STDOUT)
20
20
  @log.level = Logger::INFO
21
21
 
@@ -1,3 +1,3 @@
1
1
  module ElasticsearchUpdate
2
- VERSION = "1.0.4"
2
+ VERSION = '1.1.0'
3
3
  end
@@ -175,7 +175,9 @@ module ElasticsearchUpdate
175
175
  # wizard = ElasticsearchUpdate::Wizard.new
176
176
  # password = wizard.sudo_password
177
177
  def sudo_password
178
- ask('What password should be used while updating Elasticsearch? ') { |q| q.echo = "x" }
178
+ ask('What password should be used while updating Elasticsearch? ') do |q|
179
+ q.echo = 'x'
180
+ end
179
181
  end
180
182
 
181
183
  # == download_hash
@@ -195,7 +197,7 @@ module ElasticsearchUpdate
195
197
  # hash = wizard.download_hash
196
198
  def download_hash
197
199
  {
198
- base_url: 'download.elasticsearch.org',
200
+ base_url: 'download.elastic.co',
199
201
  version: version,
200
202
  extension: extension
201
203
  }
@@ -18,115 +18,115 @@ module ElasticsearchUpdate
18
18
  it 'should initialize and correctly assign values.' do
19
19
  hash =
20
20
  {
21
- base_url: 'download.elasticsearch.org',
21
+ base_url: 'download.elastic.co',
22
22
  version: '1.4.2',
23
23
  extension: '.deb'
24
24
  }
25
25
 
26
- @downloader = TestDownloader.new(hash, false)
27
- assert_kind_of ElasticsearchUpdate::Downloader, @downloader
26
+ downloader = TestDownloader.new(hash, false)
27
+ assert_kind_of ElasticsearchUpdate::Downloader, downloader
28
28
 
29
- @downloader.base.must_equal 'download.elasticsearch.org'
30
- @downloader.extension.must_equal '.deb'
31
- @downloader.version.must_equal '1.4.2'
32
- @downloader.download_url.must_equal 'https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.2.deb'
33
- @downloader.verify_url.must_equal 'https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.2.deb.sha1.txt'
29
+ downloader.base.must_equal 'download.elastic.co'
30
+ downloader.extension.must_equal '.deb'
31
+ downloader.version.must_equal '1.4.2'
32
+ downloader.download_url.must_equal 'https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.4.2.deb'
33
+ downloader.verify_url.must_equal 'https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.4.2.deb.sha1.txt'
34
34
  end
35
35
 
36
36
  it 'should retrieve the correct SHA1 value from Elasticsearch\'s website' do
37
37
  hash =
38
38
  {
39
- base_url: 'download.elasticsearch.org',
39
+ base_url: 'download.elastic.co',
40
40
  version: '1.4.2',
41
41
  extension: '.deb'
42
42
  }
43
43
 
44
- @mock_file = Minitest::Mock.new
45
- @mock_file.expect(:read, 'd377e39343e5cc277104beee349e1578dc50f7f8 elasticsearch-1.4.2.deb')
44
+ mock_file = Minitest::Mock.new
45
+ mock_file.expect(:read, 'd377e39343e5cc277104beee349e1578dc50f7f8 elasticsearch-1.4.2.deb')
46
46
 
47
- Kernel.stub :open, nil, @mock_file do
48
- @downloader = TestDownloader.new(hash, true)
49
- @downloader.download_remote_sha1.must_equal 'd377e39343e5cc277104beee349e1578dc50f7f8'
47
+ Kernel.stub :open, nil, mock_file do
48
+ downloader = TestDownloader.new(hash, true)
49
+ downloader.download_remote_sha1.must_equal 'd377e39343e5cc277104beee349e1578dc50f7f8'
50
50
  end
51
51
  end
52
52
 
53
53
  it "should retrieve the verify the file's SHA1 value against Elasticsearch's" do
54
54
  hash =
55
55
  {
56
- base_url: 'download.elasticsearch.org',
56
+ base_url: 'download.elastic.co',
57
57
  version: '1.4.2',
58
58
  extension: '.deb'
59
59
  }
60
60
 
61
- @mock_file_obj = Minitest::Mock.new
62
- @mock_result = 'd377e39343e5cc277104beee349e1578dc50f7f8'
63
- @mock_file_obj.expect(:hexdigest, @mock_result)
61
+ mock_file_obj = Minitest::Mock.new
62
+ mock_result = 'd377e39343e5cc277104beee349e1578dc50f7f8'
63
+ mock_file_obj.expect(:hexdigest, mock_result)
64
64
 
65
- @mock_file = Minitest::Mock.new
66
- @mock_file.expect(:path, 'fake/path')
65
+ mock_file = Minitest::Mock.new
66
+ mock_file.expect(:path, 'fake/path')
67
67
 
68
- Digest::SHA1.stub :file, @mock_file_obj do
69
- @downloader = TestDownloader.new(hash, true)
70
- @downloader.update_file = @mock_file
71
- @downloader.verify_update_file.must_equal true
68
+ Digest::SHA1.stub :file, mock_file_obj do
69
+ downloader = TestDownloader.new(hash, true)
70
+ downloader.update_file = mock_file
71
+ downloader.verify_update_file.must_equal true
72
72
  end
73
73
  end
74
74
 
75
75
  it "should retrieve the verify the file's SHA1 value against Elasticsearch's" do
76
76
  hash =
77
77
  {
78
- base_url: 'download.elasticsearch.org',
78
+ base_url: 'download.elastic.co',
79
79
  version: '1.4.2',
80
80
  extension: '.deb'
81
81
  }
82
82
 
83
- @mock_file_obj = Minitest::Mock.new
84
- @mock_result = '0'
85
- @mock_file_obj.expect(:hexdigest, @mock_result)
83
+ mock_file_obj = Minitest::Mock.new
84
+ mock_result = '0'
85
+ mock_file_obj.expect(:hexdigest, mock_result)
86
86
 
87
- @mock_file = Minitest::Mock.new
88
- @mock_file.expect(:path, 'fake/path')
87
+ mock_file = Minitest::Mock.new
88
+ mock_file.expect(:path, 'fake/path')
89
89
 
90
- Digest::SHA1.stub :file, @mock_file_obj do
91
- @downloader = TestDownloader.new(hash, true)
92
- @downloader.update_file = @mock_file
93
- @downloader.verify_update_file.must_equal 'File was not downloaded correctly. Please try again.'
90
+ Digest::SHA1.stub :file, mock_file_obj do
91
+ downloader = TestDownloader.new(hash, true)
92
+ downloader.update_file = mock_file
93
+ downloader.verify_update_file.must_equal 'File was not downloaded correctly. Please try again.'
94
94
  end
95
95
  end
96
96
 
97
97
  it 'creates a tempfile to store the Elasticsearch deb file' do
98
98
  hash =
99
99
  {
100
- base_url: 'download.elasticsearch.org',
100
+ base_url: 'download.elastic.co',
101
101
  version: '1.4.2',
102
102
  extension: '.deb'
103
103
  }
104
104
 
105
- @downloader = TestDownloader.new(hash, true)
106
- assert_kind_of Tempfile, @downloader.download_file(true)
105
+ downloader = TestDownloader.new(hash, true)
106
+ assert_kind_of Tempfile, downloader.download_file(true)
107
107
  end
108
108
 
109
109
  it 'writes a downloaded file' do
110
110
  hash =
111
111
  {
112
- base_url: 'download.elasticsearch.org',
112
+ base_url: 'download.elastic.co',
113
113
  version: '1.4.2',
114
114
  extension: '.deb'
115
115
  }
116
116
 
117
- @mock_resp = Minitest::Mock.new
118
- @mock_resp.expect(:read_body, 'Test')
117
+ mock_resp = Minitest::Mock.new
118
+ mock_resp.expect(:read_body, 'Test')
119
119
 
120
- @mock_http = Minitest::Mock.new
121
- @mock_http.expect(:request_get, @mock_resp, [String])
120
+ mock_http = Minitest::Mock.new
121
+ mock_http.expect(:request_get, mock_resp, [String])
122
122
 
123
- @mock_file = Minitest::Mock.new
124
- @mock_file.expect(:write, true, [String])
125
- @mock_file.expect(:close, true)
123
+ mock_file = Minitest::Mock.new
124
+ mock_file.expect(:write, true, [String])
125
+ mock_file.expect(:close, true)
126
126
 
127
- @downloader = TestDownloader.new(hash, true)
128
- Net::HTTP.stub :start, true, @mock_http do
129
- @downloader.write_file_from_url(@mock_file, 'http://test.org')
127
+ downloader = TestDownloader.new(hash, true)
128
+ Net::HTTP.stub :start, true, mock_http do
129
+ downloader.write_file_from_url(mock_file, 'http://test.org')
130
130
  end
131
131
  end
132
132
  end
@@ -1,89 +1,90 @@
1
1
  require 'minitest_helper'
2
2
 
3
3
  module ElasticsearchUpdate
4
+ # Overrides the std Elasticsearch class for testing purposes
4
5
  class TestElasticsearch < Elasticsearch
5
6
  def system(command)
6
7
  command
7
8
  end
8
9
  end
10
+
9
11
  # The TestInstaller class below tests the Downloader class from the library
10
12
  class TestElasticsearch
11
13
  describe 'Elasticsearch', 'Used to interact with Elasticsearch' do
12
-
13
14
  it 'should initialize without errors' do
14
- @es_client = TestElasticsearch.new
15
- assert_kind_of Elasticsearch, @es_client
15
+ es_client = TestElasticsearch.new
16
+ assert_kind_of Elasticsearch, es_client
16
17
 
17
- @es_client.es_port.must_equal 9200
18
- @es_client.es_host.must_equal 'localhost'
18
+ es_client.es_port.must_equal 9200
19
+ es_client.es_host.must_equal 'localhost'
19
20
  end
20
21
 
21
22
  it 'should disable cluster allocation' do
22
- @es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
23
+ es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
23
24
 
24
- @mock_http = Minitest::Mock.new
25
- @mock_http.expect(:start, 200)
25
+ mock_http = Minitest::Mock.new
26
+ mock_http.expect(:start, 200)
26
27
 
27
- Net::HTTP.stub :new, @mock_http do
28
- @es_client.cluster_routing_allocation('none').must_equal 200
28
+ Net::HTTP.stub :new, mock_http do
29
+ es_client.cluster_routing_allocation('none').must_equal 200
29
30
  end
30
31
  end
31
32
 
32
33
  it 'should enable cluster allocation' do
33
- @es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
34
+ es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
34
35
 
35
- @mock_http = Minitest::Mock.new
36
- @mock_http.expect(:start, 200)
36
+ mock_http = Minitest::Mock.new
37
+ mock_http.expect(:start, 200)
37
38
 
38
- Net::HTTP.stub :new, @mock_http do
39
- @es_client.cluster_routing_allocation('all').must_equal 200
39
+ Net::HTTP.stub :new, mock_http do
40
+ es_client.cluster_routing_allocation('all').must_equal 200
40
41
  end
41
42
  end
42
43
 
43
44
  it 'should shutdown the local node' do
44
- @es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
45
+ es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
45
46
 
46
47
  Net::HTTP.stub :post_form, 200 do
47
- @es_client.shutdown_local_node.must_equal 200
48
+ es_client.shutdown_local_node.must_equal 200
48
49
  end
49
50
  end
50
51
 
51
52
  it 'start elasticsearch service' do
52
- @es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
53
+ es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
53
54
 
54
- result = @es_client.start_elasticsearch_service('test')
55
+ result = es_client.start_elasticsearch_service('test')
55
56
 
56
57
  result.must_equal 'echo test | sudo -S service elasticsearch start'
57
58
  end
58
59
 
59
60
  it 'start elasticsearch binary' do
60
- @es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
61
+ es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
61
62
 
62
- result = @es_client.start_elasticsearch_binary('/path/to/elasticsearch/')
63
+ result = es_client.start_elasticsearch_binary('/path/to/elasticsearch/')
63
64
 
64
65
  result.must_equal '/path/to/elasticsearch/bin/elasticsearch'
65
66
  end
66
67
 
67
68
  it 'start elasticsearch service from the deb extension' do
68
- @mock = Minitest::Mock.new
69
- @mock.expect(:extension, '.deb')
70
- @mock.expect(:sudo_password, 'test')
69
+ mock = Minitest::Mock.new
70
+ mock.expect(:extension, '.deb')
71
+ mock.expect(:sudo_password, 'test')
71
72
 
72
- @es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
73
+ es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
73
74
 
74
- result = @es_client.start_elasticsearch(@mock)
75
+ result = es_client.start_elasticsearch(mock)
75
76
 
76
77
  result.must_equal 'echo test | sudo -S service elasticsearch start'
77
78
  end
78
79
 
79
80
  it 'start elasticsearch service from the rpm extension' do
80
- @mock = Minitest::Mock.new
81
- @mock.expect(:extension, '.rpm')
82
- @mock.expect(:sudo_password, 'test')
81
+ mock = Minitest::Mock.new
82
+ mock.expect(:extension, '.rpm')
83
+ mock.expect(:sudo_password, 'test')
83
84
 
84
- @es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
85
+ es_client = TestElasticsearch.new({ host: 'localhost', port: 9200 }, true)
85
86
 
86
- result = @es_client.start_elasticsearch(@mock)
87
+ result = es_client.start_elasticsearch(mock)
87
88
 
88
89
  result.must_equal 'echo test | sudo -S service elasticsearch start'
89
90
  end
@@ -4,58 +4,57 @@ module ElasticsearchUpdate
4
4
  # The TestInstaller class below tests the Downloader class from the library
5
5
  class TestInstaller < Minitest::Test
6
6
  describe 'Installer', 'Used to install Elasticsearch file' do
7
-
8
7
  it 'should initialize and correctly assign values.' do
9
- @installer = ElasticsearchUpdate::Installer.new('test_password', '.deb', false)
10
- assert_kind_of ElasticsearchUpdate::Installer, @installer
8
+ installer = ElasticsearchUpdate::Installer.new('test_password', '.deb', false)
9
+ assert_kind_of ElasticsearchUpdate::Installer, installer
11
10
 
12
- @installer.sudo_password.must_equal 'test_password'
13
- @installer.extension.must_equal '.deb'
11
+ installer.sudo_password.must_equal 'test_password'
12
+ installer.extension.must_equal '.deb'
14
13
  end
15
14
 
16
15
  it 'should install the .deb file' do
17
- @mock_file = Minitest::Mock.new
18
- @mock_file.expect(:path, '/path/to/file.deb')
16
+ mock_file = Minitest::Mock.new
17
+ mock_file.expect(:path, '/path/to/file.deb')
19
18
 
20
19
  Kernel.stub :system, true do
21
- @installer = ElasticsearchUpdate::Installer.new('test_password', '.deb', true)
22
- response = @installer.install_file(@mock_file)
20
+ installer = ElasticsearchUpdate::Installer.new('test_password', '.deb', true)
21
+ response = installer.install_file(mock_file)
23
22
 
24
23
  response.must_equal true
25
24
  end
26
25
  end
27
26
 
28
27
  it 'should install the .rpm file' do
29
- @mock_file = Minitest::Mock.new
30
- @mock_file.expect(:path, '/path/to/file.rpm')
28
+ mock_file = Minitest::Mock.new
29
+ mock_file.expect(:path, '/path/to/file.rpm')
31
30
 
32
31
  Kernel.stub :system, true do
33
- @installer = ElasticsearchUpdate::Installer.new('test_password', '.rpm', true)
34
- response = @installer.install_file(@mock_file)
32
+ installer = ElasticsearchUpdate::Installer.new('test_password', '.rpm', true)
33
+ response = installer.install_file(mock_file)
35
34
 
36
35
  response.must_equal true
37
36
  end
38
37
  end
39
38
 
40
39
  it 'should install the .zip file' do
41
- @mock_file = Minitest::Mock.new
42
- @mock_file.expect(:path, '/path/to/file.rpm')
40
+ mock_file = Minitest::Mock.new
41
+ mock_file.expect(:path, '/path/to/file.rpm')
43
42
 
44
43
  Kernel.stub :system, true do
45
- @installer = ElasticsearchUpdate::Installer.new('test_password', '.zip', true)
46
- response = @installer.install_file(@mock_file)
44
+ installer = ElasticsearchUpdate::Installer.new('test_password', '.zip', true)
45
+ response = installer.install_file(mock_file)
47
46
 
48
47
  response.must_equal true
49
48
  end
50
49
  end
51
50
 
52
51
  it 'should install the .rpm file' do
53
- @mock_file = Minitest::Mock.new
54
- @mock_file.expect(:path, '/path/to/file.rpm')
52
+ mock_file = Minitest::Mock.new
53
+ mock_file.expect(:path, '/path/to/file.rpm')
55
54
 
56
55
  Kernel.stub :system, true do
57
- @installer = ElasticsearchUpdate::Installer.new('test_password', '.tar.gz', true)
58
- response = @installer.install_file(@mock_file)
56
+ installer = ElasticsearchUpdate::Installer.new('test_password', '.tar.gz', true)
57
+ response = installer.install_file(mock_file)
59
58
 
60
59
  response.must_equal true
61
60
  end
@@ -1,6 +1,7 @@
1
1
  require 'minitest_helper'
2
2
 
3
3
  module ElasticsearchUpdate
4
+ # Test wizard overrides the Wizard class methods for testing.
4
5
  class TestWizard < Wizard
5
6
  def ask(_question, _type = String, &_block)
6
7
  'Question asked.'
@@ -85,7 +86,7 @@ module ElasticsearchUpdate
85
86
 
86
87
  result = wizard.download_hash
87
88
 
88
- result.must_equal(base_url: 'download.elasticsearch.org',
89
+ result.must_equal(base_url: 'download.elastic.co',
89
90
  version: 'Question asked.',
90
91
  extension: '.deb')
91
92
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: elasticsearch_update
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Kirsche
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-23 00:00:00.000000000 Z
11
+ date: 2015-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  requirements: []
118
118
  rubyforge_project:
119
- rubygems_version: 2.2.2
119
+ rubygems_version: 2.4.6
120
120
  signing_key:
121
121
  specification_version: 4
122
122
  summary: Updates the elasticsearch instance on the local machine.