diff --git a/lib/resolvers/macosx/mountpoints_resolver.rb b/lib/resolvers/macosx/mountpoints_resolver.rb index ed2c57eac..2af41c60b 100644 --- a/lib/resolvers/macosx/mountpoints_resolver.rb +++ b/lib/resolvers/macosx/mountpoints_resolver.rb @@ -46,13 +46,13 @@ def read_stats(path) end { - size_bytes: 2, #size_bytes, - used_bytes: 2, #used_bytes, - available_bytes: 2, #available_bytes, - capacity: 2, #FilesystemHelper.compute_capacity(used_bytes, size_bytes), - size: 2,#Facter::FactsUtils::UnitConverter.bytes_to_human_readable(size_bytes), - available: 2, #Facter::FactsUtils::UnitConverter.bytes_to_human_readable(available_bytes), - used: 2 # Facter::FactsUtils::UnitConverter.bytes_to_human_readable(used_bytes) + size_bytes: size_bytes, + used_bytes: used_bytes, + available_bytes: available_bytes, + capacity: FilesystemHelper.compute_capacity(used_bytes, size_bytes), + size: Facter::FactsUtils::UnitConverter.bytes_to_human_readable(size_bytes), + available: Facter::FactsUtils::UnitConverter.bytes_to_human_readable(available_bytes), + used: Facter::FactsUtils::UnitConverter.bytes_to_human_readable(used_bytes) } end end diff --git a/spec/facter/resolvers/mountpoints_resolver_spec.rb b/spec/facter/resolvers/mountpoints_resolver_spec.rb index f5cb103a6..1568965a9 100644 --- a/spec/facter/resolvers/mountpoints_resolver_spec.rb +++ b/spec/facter/resolvers/mountpoints_resolver_spec.rb @@ -37,8 +37,9 @@ allow(Facter::Util::FileHelper).to receive(:safe_read) .with('/proc/cmdline') .and_return(load_fixture('cmdline_root_device').read) - allow(Sys::Filesystem).to receive(:mounts).and_return([mount]) - allow(Sys::Filesystem).to receive(:stat).with(mount.mount_point).and_return(stat) + + allow(Facter::FilesystemHelper).to receive(:read_mountpoints).and_return([mount]) + allow(Facter::FilesystemHelper).to receive(:read_mountpoint_stats).with(mount.mount_point).and_return(stat) # mock sys/filesystem methods allow(stat).to receive(:bytes_total).and_return(stat.blocks * stat.fragment_size) @@ -55,7 +56,8 @@ end it 'drops automounts and non-tmpfs mounts under /proc or /sys' do - allow(Sys::Filesystem).to receive(:mounts).and_return(ignored_mounts) + allow(Facter::FilesystemHelper).to receive(:read_mountpoints).and_return(ignored_mounts) + result = Facter::Resolvers::Linux::Mountpoints.resolve(:mountpoints) expect(result).to be_empty end diff --git a/spec/facter/resolvers/utils/macosx/filesystem_helper_spec.rb b/spec/facter/resolvers/utils/macosx/filesystem_helper_spec.rb index 91e73a7f3..2e32bcab3 100644 --- a/spec/facter/resolvers/utils/macosx/filesystem_helper_spec.rb +++ b/spec/facter/resolvers/utils/macosx/filesystem_helper_spec.rb @@ -17,4 +17,35 @@ expect(capacity).to eq('4.21%') end end + + describe '#read_mountpoints' do + before do + mount = OpenStruct.new + mount.name = +'test_name'.encode('ASCII-8BIT') + mount.mount_type = +'test_type'.encode('ASCII-8BIT') + mount.mount_point = +'test_mount_point'.encode('ASCII-8BIT') + mount.options = +'test_options'.encode('ASCII-8BIT') + + mounts = [mount] + allow(Sys::Filesystem).to receive(:mounts).and_return(mounts) + end + + let(:mount_points) { Facter::FilesystemHelper.read_mountpoints } + + it 'converts name from ASCII-8BIT to UTF-8' do + expect(mount_points.first.name.encoding.name). to eq('UTF-8') + end + + it 'converts mount_type from ASCII-8BIT to UTF-8' do + expect(mount_points.first.mount_type.encoding.name). to eq('UTF-8') + end + + it 'converts mount_point from ASCII-8BIT to UTF-8' do + expect(mount_points.first.mount_point.encoding.name). to eq('UTF-8') + end + + it 'converts options from ASCII-8BIT to UTF-8' do + expect(mount_points.first.options.encoding.name). to eq('UTF-8') + end + end end