diff --git a/test/backupninja.bats b/test/backupninja.bats
index 6055af7734957a3adc7b4120fba905fb1716c3cd..b0a5a3e8d15c6ec063bb1328ae49f5763a644e15 100644
--- a/test/backupninja.bats
+++ b/test/backupninja.bats
@@ -2,6 +2,7 @@ load common
 
 teardown_backupninja() {
     [ -x /usr/bin/mail.moved ] && mv /usr/bin/mail.moved /usr/bin/mail
+    [ -x /usr/bin/rsync.moved ] && mv /usr/bin/rsync.moved /usr/bin/rsync
 }
 
 create_test_action() {
@@ -157,6 +158,83 @@ create_test_action() {
     grep -q '^=\{100\}$' /var/mail/vagrant
 }
 
+@test "reports: reporthost sends report to remote host" {
+    cleanup_backups remote
+    create_test_action info test_info
+    setconfig backupninja.conf reportsuccess yes
+    setconfig backupninja.conf reportinfo yes
+    setconfig backupninja.conf reporthost "$BN_REMOTEHOST"
+    setconfig backupninja.conf reportuser "$BN_REMOTEUSER"
+    setconfig backupninja.conf reportdirectory "$BN_BACKUPDIR"
+    run backupninja --now -f "${BATS_TMPDIR}/backupninja.conf" --run "${BATS_TMPDIR}/backup.d/test.sh"
+    [ "$status" -eq 0 ]
+    ssh "${BN_REMOTEUSER}@${BN_REMOTEHOST}" test -s "${BN_BACKUPDIR}/backupninja.log"
+}
+
+@test "reports: emits error when reportuser is empty" {
+    create_test_action info test_info
+    setconfig backupninja.conf reportsuccess yes
+    setconfig backupninja.conf reportinfo yes
+    setconfig backupninja.conf reporthost "$BN_REMOTEHOST"
+    setconfig backupninja.conf reportdirectory "$BN_BACKUPDIR"
+    run backupninja --now -f "${BATS_TMPDIR}/backupninja.conf" --run "${BATS_TMPDIR}/backup.d/test.sh"
+    [ "$status" -eq 1 ]
+}
+
+@test "reports: emits error when reportdirectory is empty" {
+    create_test_action info test_info
+    setconfig backupninja.conf reportsuccess yes
+    setconfig backupninja.conf reportinfo yes
+    setconfig backupninja.conf reporthost "$BN_REMOTEHOST"
+    setconfig backupninja.conf reportuser "$BN_REMOTEUSER"
+    run backupninja --now -f "${BATS_TMPDIR}/backupninja.conf" --run "${BATS_TMPDIR}/backup.d/test.sh"
+    [ "$status" -eq 1 ]
+}
+
+@test "reports: emits error when rsync is not found" {
+    create_test_action info test_info
+    setconfig backupninja.conf reportsuccess yes
+    setconfig backupninja.conf reportinfo yes
+    setconfig backupninja.conf reporthost "$BN_REMOTEHOST"
+    setconfig backupninja.conf reportuser "$BN_REMOTEUSER"
+    mv /usr/bin/rsync /usr/bin/rsync.moved
+    run backupninja --now -f "${BATS_TMPDIR}/backupninja.conf" --run "${BATS_TMPDIR}/backup.d/test.sh"
+    [ "$status" -eq 1 ]
+}
+
+@test "reports: emits error when reporthost is invalid" {
+    create_test_action info test_info
+    setconfig backupninja.conf reportsuccess yes
+    setconfig backupninja.conf reportinfo yes
+    setconfig backupninja.conf reporthost foo
+    setconfig backupninja.conf reportuser "$BN_REMOTEUSER"
+    setconfig backupninja.conf reportdirectory "$BN_BACKUPDIR"
+    run backupninja --now -f "${BATS_TMPDIR}/backupninja.conf" --run "${BATS_TMPDIR}/backup.d/test.sh"
+    [ "$status" -eq 1 ]
+}
+
+@test "reports: emits error when reportuser is invalid" {
+    create_test_action info test_info
+    setconfig backupninja.conf reportsuccess yes
+    setconfig backupninja.conf reportinfo yes
+    setconfig backupninja.conf reporthost "$BN_REMOTEHOST"
+    setconfig backupninja.conf reportuser foo
+    setconfig backupninja.conf reportdirectory "$BN_BACKUPDIR"
+    run backupninja --now -f "${BATS_TMPDIR}/backupninja.conf" --run "${BATS_TMPDIR}/backup.d/test.sh"
+    [ "$status" -eq 1 ]
+}
+
+@test "reports: emits error when reportdirectory is unwritable" {
+    create_test_action info test_info
+    setconfig backupninja.conf reportsuccess yes
+    setconfig backupninja.conf reportinfo yes
+    setconfig backupninja.conf reporthost "$BN_REMOTEHOST"
+    setconfig backupninja.conf reportuser "$BN_REMOTEUSER"
+    setconfig backupninja.conf reportdirectory "/foo"
+    run backupninja --now -f "${BATS_TMPDIR}/backupninja.conf" --run "${BATS_TMPDIR}/backup.d/test.sh"
+    [ "$status" -eq 1 ]
+}
+
 @test "scheduling: runs when = 'everyday at 01' and time matches" {
     create_test_action info test_info
     setconfig backupninja.conf when 'everyday at 01'
diff --git a/test/common.bash b/test/common.bash
index 28d85837185749a6d3bab02ecd37dc06f9e4edf9..45c193f945515b7c6da7b9fc69776c20f903b19c 100644
--- a/test/common.bash
+++ b/test/common.bash
@@ -15,10 +15,6 @@ reportsuccess = yes
 reportinfo = no
 reportwarning = yes
 reportspace = no
-reporthost =
-reportuser = ninja
-reportdirectory = /var/lib/backupninja/reports
-admingroup = root
 logfile = ${BATS_TMPDIR}/log/backupninja.log
 configdirectory = ${BATS_TMPDIR}/backup.d
 scriptdirectory = /usr/share/backupninja