void TestTaskManager::fail_registerMachine_command_not_found() { TaskManager *manager = new TaskManager(); QSignalSpy sig_reg(manager, SIGNAL(registerMachineStatus(TaskStatus, QString))); QVariantList response; TaskStatus status; QString reason; // Fail to register with a non-existent tarsnap dir. manager->registerMachine("fake-user", "fake-password", "fake-machine", "fake.key", "/fake/dir", "/tmp/gui-test-tarsnap-cache"); QTest::qWait(TASK_CMDLINE_WAIT_MS); // Get failure message. QVERIFY(sig_reg.count() == 1); response = sig_reg.takeFirst(); status = response.at(0).value<TaskStatus>(); reason = response.at(1).toString(); QVERIFY(status == TaskStatus::Failed); QVERIFY(reason == "Could not find the command-line program"); delete manager; }
void TestTaskManager::fail_registerMachine_empty_key() { TARSNAP_CLI_OR_SKIP; TaskManager *manager = new TaskManager(); QSignalSpy sig_reg(manager, SIGNAL(registerMachineStatus(TaskStatus, QString))); QVariantList response; TaskStatus status; QString reason; // Fail to register with a key that doesn't support --fsck-prune. manager->registerMachine("fake-user", "fake-password", "fake-machine", "empty.key", tarsnapPath, "/tmp/gui-test-tarsnap-cache"); QTest::qWait(TASK_CMDLINE_WAIT_MS); // Get failure message. QVERIFY(sig_reg.count() == 1); response = sig_reg.takeFirst(); status = response.at(0).value<TaskStatus>(); reason = response.at(1).toString(); QVERIFY(status == TaskStatus::Failed); QVERIFY(reason.contains("tarsnap: Key file has unreasonable size")); delete manager; }