11require 'spec_helper'
22
33class ConvergeEfs
4- def self . install_utils ( chef_run , efs_utils_version : , tarball_checksum : )
4+ def self . install_utils ( chef_run )
55 chef_run . converge_dsl ( 'aws-parallelcluster-environment' ) do
66 efs 'install_utils' do
7- efs_utils_checksum tarball_checksum
8- efs_utils_version efs_utils_version
97 action :install_utils
108 end
119 end
@@ -28,14 +26,17 @@ def mock_already_installed(package, expected_version, installed)
2826 context "on amazon2" do
2927 cached ( :efs_utils_version ) { '1.2.3' }
3028 cached ( :tarball_checksum ) { 'tarball_checksum' }
31- let ( :chef_run ) do
32- runner ( platform : 'amazon' , version : '2' , step_into : [ 'efs' ] )
33- end
3429
3530 context "when same version of amazon-efs-utils already installed" do
31+ cached ( :chef_run ) do
32+ runner ( platform : 'amazon' , version : '2' , step_into : [ 'efs' ] )
33+ end
34+ cached ( :node ) { chef_run . node }
3635 before do
36+ node . override [ 'cluster' ] [ 'efs' ] [ 'version' ] = efs_utils_version
37+ node . override [ 'cluster' ] [ 'efs' ] [ 'sha256' ] = tarball_checksum
3738 mock_get_package_version ( 'amazon-efs-utils' , efs_utils_version )
38- ConvergeEfs . install_utils ( chef_run , efs_utils_version : efs_utils_version , tarball_checksum : tarball_checksum )
39+ ConvergeEfs . install_utils ( chef_run )
3940 end
4041
4142 it 'does not install amazon-efs-utils' do
@@ -44,9 +45,13 @@ def mock_already_installed(package, expected_version, installed)
4445 end
4546
4647 context "when newer version of amazon-efs-utils already installed" do
48+ cached ( :chef_run ) do
49+ runner ( platform : 'amazon' , version : '2' , step_into : [ 'efs' ] )
50+ end
51+ cached ( :node ) { chef_run . node }
4752 before do
4853 mock_get_package_version ( 'amazon-efs-utils' , '1.3.2' )
49- ConvergeEfs . install_utils ( chef_run , efs_utils_version : efs_utils_version , tarball_checksum : tarball_checksum )
54+ ConvergeEfs . install_utils ( chef_run )
5055 end
5156
5257 it 'does not install amazon-efs-utils' do
@@ -55,9 +60,15 @@ def mock_already_installed(package, expected_version, installed)
5560 end
5661
5762 context "when amazon-efs-utils not installed" do
63+ cached ( :chef_run ) do
64+ runner ( platform : 'amazon' , version : '2' , step_into : [ 'efs' ] )
65+ end
66+ cached ( :node ) { chef_run . node }
5867 before do
68+ node . override [ 'cluster' ] [ 'efs' ] [ 'version' ] = efs_utils_version
69+ node . override [ 'cluster' ] [ 'efs' ] [ 'sha256' ] = tarball_checksum
5970 mock_get_package_version ( 'amazon-efs-utils' , '' )
60- ConvergeEfs . install_utils ( chef_run , efs_utils_version : efs_utils_version , tarball_checksum : tarball_checksum )
71+ ConvergeEfs . install_utils ( chef_run )
6172 end
6273
6374 it 'installs amazon-efs-utils' do
@@ -67,9 +78,15 @@ def mock_already_installed(package, expected_version, installed)
6778 end
6879
6980 context "when older version of amazon-efs-utils installed" do
81+ cached ( :chef_run ) do
82+ runner ( platform : 'amazon' , version : '2' , step_into : [ 'efs' ] )
83+ end
84+ cached ( :node ) { chef_run . node }
7085 before do
86+ node . override [ 'cluster' ] [ 'efs' ] [ 'version' ] = efs_utils_version
87+ node . override [ 'cluster' ] [ 'efs' ] [ 'sha256' ] = tarball_checksum
7188 mock_get_package_version ( 'amazon-efs-utils' , '1.1.4' )
72- ConvergeEfs . install_utils ( chef_run , efs_utils_version : efs_utils_version , tarball_checksum : tarball_checksum )
89+ ConvergeEfs . install_utils ( chef_run )
7390 end
7491
7592 it 'installs amazon-efs-utils' do
@@ -105,8 +122,10 @@ def mock_already_installed(package, expected_version, installed)
105122 node . override [ 'cluster' ] [ 'efs_utils' ] [ 'tarball_path' ] = tarball_path
106123 node . override [ 'cluster' ] [ 'sources_dir' ] = source_dir
107124 node . override [ 'cluster' ] [ 'region' ] = aws_region
125+ node . override [ 'cluster' ] [ 'efs' ] [ 'version' ] = utils_version
126+ node . override [ 'cluster' ] [ 'efs' ] [ 'sha256' ] = tarball_checksum
108127 end
109- ConvergeEfs . install_utils ( runner , efs_utils_version : utils_version , tarball_checksum : tarball_checksum )
128+ ConvergeEfs . install_utils ( runner )
110129 end
111130 cached ( :node ) { chef_run . node }
112131
@@ -140,8 +159,10 @@ def mock_already_installed(package, expected_version, installed)
140159 runner = runner ( platform : platform , version : version , step_into : [ 'efs' ] ) do |node |
141160 node . override [ 'cluster' ] [ 'efs_utils' ] [ 'tarball_path' ] = tarball_path
142161 node . override [ 'cluster' ] [ 'sources_dir' ] = source_dir
162+ node . override [ 'cluster' ] [ 'efs' ] [ 'version' ] = utils_version
163+ node . override [ 'cluster' ] [ 'efs' ] [ 'sha256' ] = tarball_checksum
143164 end
144- ConvergeEfs . install_utils ( runner , efs_utils_version : utils_version , tarball_checksum : tarball_checksum )
165+ ConvergeEfs . install_utils ( runner )
145166 end
146167 cached ( :node ) { chef_run . node }
147168
@@ -190,9 +211,11 @@ def mock_already_installed(package, expected_version, installed)
190211 runner = runner ( platform : platform , version : version , step_into : [ 'efs' ] ) do |node |
191212 node . override [ 'cluster' ] [ 'efs_utils' ] [ 'tarball_path' ] = tarball_path
192213 node . override [ 'cluster' ] [ 'sources_dir' ] = source_dir
214+ node . override [ 'cluster' ] [ 'efs' ] [ 'version' ] = utils_version
215+ node . override [ 'cluster' ] [ 'efs' ] [ 'sha256' ] = tarball_checksum
193216 node . override [ 'cluster' ] [ 'region' ] = aws_region
194217 end
195- ConvergeEfs . install_utils ( runner , efs_utils_version : utils_version , tarball_checksum : tarball_checksum )
218+ ConvergeEfs . install_utils ( runner )
196219 end
197220
198221 it 'creates sources dir' do
@@ -230,9 +253,11 @@ def mock_already_installed(package, expected_version, installed)
230253 mock_already_installed ( 'amazon-efs-utils' , utils_version , true )
231254 runner = runner ( platform : platform , version : version , step_into : [ 'efs' ] ) do |node |
232255 node . override [ 'cluster' ] [ 'efs_utils' ] [ 'tarball_path' ] = tarball_path
256+ node . override [ 'cluster' ] [ 'efs' ] [ 'version' ] = utils_version
257+ node . override [ 'cluster' ] [ 'efs' ] [ 'sha256' ] = tarball_checksum
233258 node . override [ 'cluster' ] [ 'sources_dir' ] = source_dir
234259 end
235- ConvergeEfs . install_utils ( runner , efs_utils_version : utils_version , tarball_checksum : tarball_checksum )
260+ ConvergeEfs . install_utils ( runner )
236261 end
237262
238263 it 'does not download tarball' do
0 commit comments