# Inspec test for recipe irrigate-docker::install

prerequisite_packages = %w(
  ca-certificates
  curl
  gpg
)

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

describe apt('https://download.docker.com/linux/debian') do
  it { should exist }
  it { should be_enabled }
end

docker_packages = %w(
  docker-ce
  docker-ce-cli
  containerd.io
  docker-buildx-plugin
  docker-compose-plugin
)

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

describe json('/etc/docker/daemon.json') do
  its(['default-address-pools', 0, 'base']) { should eq '172.17.0.0/16' }
  its(['default-address-pools', 0, 'size']) { should eq 24 }
end

# Check if docker service is running
describe systemd_service('docker.service') do
  it { should be_installed }
  it { should be_enabled }
  it { should be_running }
end
