summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
authorsommerfeld <sommerfeld@sommerfeld.dev>2026-09-26 22:23:04 +0100
committersommerfeld <sommerfeld@sommerfeld.dev>2026-09-26 22:23:04 +0100
commitdeb462188fc2adc168c782fca51fae746a299cca (patch)
treefd5a99dfd7647dace178040eb23d77e084309543 /tests
parent1f79a073474b41263f50c3c0b35dc17b5cdddcf7 (diff)
downloaddotfiles-deb462188fc2adc168c782fca51fae746a299cca.tar.gz
dotfiles-deb462188fc2adc168c782fca51fae746a299cca.tar.bz2
dotfiles-deb462188fc2adc168c782fca51fae746a299cca.zip
Declare official Keybase APT setup for Canonical
Diffstat (limited to 'tests')
-rw-r--r--tests/test_canonical.py29
1 files changed, 26 insertions, 3 deletions
diff --git a/tests/test_canonical.py b/tests/test_canonical.py
index 4097b3c..1a9be82 100644
--- a/tests/test_canonical.py
+++ b/tests/test_canonical.py
@@ -39,11 +39,34 @@ class PackageTests(unittest.TestCase):
canonical.install()
self.assertFalse(any("set" in call.args[0] for call in command.call_args_list))
- def test_keybase_is_not_installed_or_autostarted(self):
+ def test_keybase_is_installed_and_autostarted_through_apt(self):
+ self.assertIn("keybase", canonical.packages("apt"))
self.assertNotIn("keybase", canonical.packages("snap"))
- self.assertFalse(
- (ROOT / "dot_config/autostart/dotfiles-keybase.desktop").exists()
+ entry = (ROOT / "dot_config/autostart/keybase.desktop").read_text()
+ self.assertIn("Exec=/usr/bin/run_keybase -a", entry)
+ self.assertIn("OnlyShowIn=GNOME;", entry)
+
+ def test_installed_keybase_is_not_bootstrapped_again(self):
+ with patch.object(canonical.subprocess, "run") as run:
+ run.return_value = subprocess.CompletedProcess(
+ [], 0, "install ok installed"
+ )
+ canonical.install_keybase()
+ self.assertEqual(run.call_count, 1)
+
+ def test_missing_keybase_uses_official_bootstrap_package(self):
+ with (
+ patch.object(canonical.platform, "machine", return_value="x86_64"),
+ patch.object(canonical.subprocess, "run") as run,
+ ):
+ run.return_value = subprocess.CompletedProcess([], 1, "")
+ canonical.install_keybase()
+ commands = [call.args[0] for call in run.call_args_list]
+ self.assertEqual(
+ commands[1][-1], "https://prerelease.keybase.io/keybase_amd64.deb"
)
+ self.assertEqual(commands[2][:3], ["sudo", "apt-get", "install"])
+ self.assertTrue(commands[2][-1].endswith("/keybase_amd64.deb"))
def test_extensions_install_without_shell_confirmation(self):
with (