18761: use repository keyring instead of key_id
[arvados-formula.git] / test / integration / repo / controls / repo_spec.rb
index 8f5edafacd2c5d8e802d3ac73709a7ccc4560ddd..49078c606d380bb9b7112a3c0b2c101790e73d15 100644 (file)
@@ -1,29 +1,45 @@
-# frozen_string_literal: true
-
 # Copyright (C) The Arvados Authors. All rights reserved.
 #
 # SPDX-License-Identifier: Apache-2.0
 
+# frozen_string_literal: true
+
 case os[:name]
 when 'centos'
   repo_file = '/etc/yum.repos.d/arvados.repo'
   repo_url = 'baseurl=http://rpm.arvados.org/CentOS/$releasever/os/$basearch/'
 when 'debian', 'ubuntu'
   # Inspec does not provide a `codename` matcher, so we add ours
-  case os[:release]
+  case platform[:release].to_f.truncate
   # ubuntu
-  when '18.04'
+  when 18
     codename = 'bionic'
-  when '20.04'
+  when 20
     codename = 'focal'
   # debian
-  when '10'
+  when 10
     codename = 'buster'
-  when '11'
+  when 11
     codename = 'bullseye'
   end
   repo_file = '/etc/apt/sources.list.d/arvados.list'
-  repo_url = "deb http://apt.arvados.org/#{codename} #{codename} main"
+  repo_keyring = '/usr/share/keyrings/arvados-archive-keyring.gpg'
+  repo_url = "deb [signed-by=/usr/share/keyrings/arvados-archive-keyring.gpg arch=amd64] http://apt.arvados.org/#{codename} #{codename} main"
+end
+
+control 'arvados repository keyring' do
+  title 'should be installed'
+
+  only_if('Requirement for Debian family') do
+    platform.family == 'debian'
+  end
+
+  describe file(repo_keyring) do
+    it { should exist }
+    it { should be_owned_by 'root' }
+    it { should be_grouped_into 'root' }
+    its('mode') { should cmp '0644' }
+  end
 end
 
 control 'arvados repository' do