# InSpec test for odbc

# Get node attributes
nodes_dir = '/tmp/kitchen/nodes'
output = command("ls #{nodes_dir}").stdout.strip
node_json = "#{nodes_dir}/#{output}"
if file(node_json).exist?
  node = json(node_json).params

  case node['automatic']['platform_family']
  when 'rhel', 'amazon'
    if node['automatic']['platform_version'].start_with?('2', '7')

      describe command('yum repolist') do
        its('stdout') { should include 'orchard-snowflake' }
      end

      packages = %w(
        gcc
        gcc-c++
        krb5-devel
        libcurl-devel
        libedit-devel
        libiodbc
        make
        openssl-devel
        pygpgme
        unixODBC
        unixODBC-devel
        unzip
        zip
      )
    end
  when 'debian'
    packages = %w(
      build-essential
      iodbc
      libcurl4
      libedit2
      libedit-dev
      libiodbc2
      libssl3
      libssl-dev
      openssl
      unixodbc-common
      unixodbc-dev
      unzip
      zip
    )
  end

  packages.append('snowflake-odbc')

  packages.each do |package|
    describe package(package) do
      it { should be_installed }
    end
  end

else
  puts "File #{node_json} does not exist - skipping attribute-dependent checks"
end
