old_contents: import os
  import pytest
  import re
  from testinfra.utils.ansible_runner import AnsibleRunner
  
  testinfra_hosts = ["ansible://all:!borgbackup_servers"]
  
  
  def test_log(host):
      logfile = host.file("/var/log/borg-backup.log")
      assert logfile.contains("Backup succeeded")
      assert logfile.user == "root"
      assert logfile.group == "root"
  
  
  # to do read inventory variable : export BORG_PASSPHRASE="{{ borgbackup_passphrase }}"
  def test_passphrase(host):
      pfile = host.file("/root/.borg.passphrase")
      assert pfile.contains("BORG_PASSPHRASE=")
      assert pfile.user == "root"
      assert pfile.group == "root"
  
  
  @pytest.mark.parametrize('server', AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('borgbackup_servers'))
  def test_sshconfig(host, server):
      sshconf = host.file("/root/.ssh/config")
      assert sshconf.contains(" ANSIBLE MANAGED BLOCK %s " % server)
      assert sshconf.contains("Host %s" % server)
      assert sshconf.user == "root"
      assert sshconf.group == "root"
  
  
  def test_scriptfile(host):
      script = host.file("/usr/local/bin/borg-backup")
      assert script.user == "root"
      assert script.group == "root"
      assert script.mode == 0o744
  
  
  @pytest.mark.parametrize('server', AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('borgbackup_servers'))
  def test_list_backups(host, server):
      command = host.run("bash /usr/local/bin/borg-backup list")
      assert command.rc == 0
      assert command.stderr == ''
      assert re.match("Archives on %s :\n[0-9]{8}-[0-9]{4}.*" % server, command.stdout) is not None
  
new_contents: import os
  import pytest
  import re
  from testinfra.utils.ansible_runner import AnsibleRunner
  
  testinfra_hosts = ["ansible://all:!borgbackup_servers"]
  
  
  def test_log(host):
      logfile = host.file("/var/log/borg-backup.log")
      assert logfile.contains("Backup succeeded")
      assert logfile.user == "root"
      assert logfile.group == "root"
  
  
  # to do read inventory variable : export BORG_PASSPHRASE="{{ borgbackup_passphrase }}"
  def test_passphrase(host):
      pfile = host.file("/root/.borg.passphrase")
      assert pfile.contains("BORG_PASSPHRASE=")
      assert pfile.user == "root"
      assert pfile.group == "root"
  
  
  @pytest.mark.parametrize('server', AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('borgbackup_servers'))
  def test_sshconfig(host, server):
      sshconf = host.file("/root/.ssh/config")
      assert sshconf.contains(" ANSIBLE MANAGED BLOCK %s " % server)
      assert sshconf.contains("Host %s" % server)
      assert sshconf.user == "root"
      assert sshconf.group == "root"
  
  
  def test_scriptfile(host):
      script = host.file("/usr/local/bin/borg-backup")
      assert script.user == "root"
      assert script.group == "root"
      assert script.mode == 0o744
  
  
  @pytest.mark.parametrize('server', AnsibleRunner(os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('borgbackup_servers'))
  def test_list_backups(host, server):
      command = host.run("bash /usr/local/bin/borg-backup list")
      assert command.rc == 0
      assert command.stderr == ''
      assert "Archives on %s :\n2" % server in command.stdout
  
subject: Fix multiple client test