diff --git a/test/hooks.on-add.t b/test/hooks.on-add.t index c2a0f4760..1642ad591 100755 --- a/test/hooks.on-add.t +++ b/test/hooks.on-add.t @@ -48,11 +48,14 @@ class TestHooksOnAdd(TestCase): self.t.hooks.add_default(hookname, log=True) code, out, err = self.t(("add", "foo")) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onadd_builtin_reject(self): """on-add-reject - a well-behaved, failing, on-add hook.""" @@ -60,11 +63,14 @@ class TestHooksOnAdd(TestCase): self.t.hooks.add_default(hookname, log=True) code, out, err = self.t.runError(("add", "foo")) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(1) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(1) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onadd_builtin_misbehave1(self): """on-add-misbehave1 - does not consume input.""" @@ -72,11 +78,14 @@ class TestHooksOnAdd(TestCase): self.t.hooks.add_default(hookname, log=True) code, out, err = self.t.runError(("add", "foo")) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(1) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(1) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onadd_builtin_misbehave2(self): """on-add-misbehave2 - does not emit JSON.""" @@ -85,10 +94,11 @@ class TestHooksOnAdd(TestCase): code, out, err = self.t.runError(("add", "foo")) self.assertIn("Hook Error: Expected 1 JSON task(s), found 0", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) def test_onadd_builtin_misbehave3(self): """on-add-misbehave3 - emits additional JSON.""" @@ -97,10 +107,11 @@ class TestHooksOnAdd(TestCase): code, out, err = self.t.runError(("add", "foo")) self.assertIn("Hook Error: Expected 1 JSON task(s), found 2", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) def test_onadd_builtin_misbehave4(self): """on-add-misbehave4 - emits different task JSON.""" @@ -109,11 +120,14 @@ class TestHooksOnAdd(TestCase): code, out, err = self.t.runError(("add", "foo")) self.assertIn("Hook Error: JSON must be for the same task:", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onadd_builtin_misbehave5(self): """on-add-misbehave5 - emits syntactically wrong JSON.""" @@ -122,12 +136,15 @@ class TestHooksOnAdd(TestCase): code, out, err = self.t.runError(("add", "foo")) self.assertIn("Hook Error: JSON syntax error in: {\"}", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - self.t.hooks[hookname].assertInvalidJSONOutput() - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + hook.assertInvalidJSONOutput() + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onadd_builtin_misbehave6(self): """on-add-misbehave6 - emits incomplete JSON.""" @@ -136,11 +153,14 @@ class TestHooksOnAdd(TestCase): code, out, err = self.t.runError(("add", "foo")) self.assertIn("Hook Error: JSON Object missing 'uuid' attribute.", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") if __name__ == "__main__": from simpletap import TAPTestRunner diff --git a/test/hooks.on-exit.t b/test/hooks.on-exit.t index ebc4c2529..24cddfea8 100755 --- a/test/hooks.on-exit.t +++ b/test/hooks.on-exit.t @@ -49,11 +49,14 @@ class TestHooksOnExit(TestCase): code, out, err = self.t(("version",)) self.assertIn("Taskwarrior", out) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onexit_builtin_bad(self): """on-exit-bad - a well-behaved, failing, on-exit hook.""" @@ -63,11 +66,14 @@ class TestHooksOnExit(TestCase): # Failing hook should prevent processing. code, out, err = self.t.runError(("version",)) self.assertIn("Taskwarrior", out) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(1) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(1) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onexit_builtin_misbehave1(self): """on-exit-misbehave1 - Does not consume input.""" @@ -77,11 +83,14 @@ class TestHooksOnExit(TestCase): # Failing hook should prevent processing. code, out, err = self.t(("version",)) self.assertIn("Taskwarrior", out) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onexit_builtin_misbehave2(self): """on-exit-misbehave2 - Emits unexpected JSON.""" @@ -91,11 +100,14 @@ class TestHooksOnExit(TestCase): # Failing hook should prevent processing. code, out, err = self.t.runError(("version",)) self.assertIn("Hook Error: Expected 0 JSON task(s), found 1", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") if __name__ == "__main__": from simpletap import TAPTestRunner diff --git a/test/hooks.on-launch.t b/test/hooks.on-launch.t index 9a2955286..5721e6410 100755 --- a/test/hooks.on-launch.t +++ b/test/hooks.on-launch.t @@ -49,11 +49,14 @@ class TestHooksOnLaunch(TestCase): code, out, err = self.t(("version",)) self.assertIn("Taskwarrior", out) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onlaunch_builtin_bad(self): """on-launch-bad - a well-behaved, failing, on-launch hook.""" @@ -63,11 +66,14 @@ class TestHooksOnLaunch(TestCase): # Failing hook should prevent processing. code, out, err = self.t.runError(("version",)) self.assertNotIn("Taskwarrior", out) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(1) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(1) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onlaunch_builtin_misbehave1(self): """on-launch-misbehave1 - Hook kills itself.""" @@ -76,12 +82,15 @@ class TestHooksOnLaunch(TestCase): # Failing hook should prevent processing. code, out, err = self.t.runError(("version",)) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(137) self.assertNotIn("Could not get Hook exit status!", err) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(137) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onlaunch_builtin_misbehave2(self): """on-launch-misbehave2 - Hook emits unexpected JSON.""" @@ -91,11 +100,14 @@ class TestHooksOnLaunch(TestCase): # Failing hook should prevent processing. code, out, err = self.t.runError(("version",)) self.assertIn("Hook Error: Expected 0 JSON task(s), found 1", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") if __name__ == "__main__": from simpletap import TAPTestRunner diff --git a/test/hooks.on-modify.t b/test/hooks.on-modify.t index fd6bc1aba..26da130a3 100755 --- a/test/hooks.on-modify.t +++ b/test/hooks.on-modify.t @@ -49,11 +49,14 @@ class TestHooksOnModify(TestCase): code, out, err = self.t(("add", "foo")) code, out, err = self.t(("1", "modify", "+tag")) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onmodify_builtin_reject(self): """on-modify-reject - a well-behaved, failing, on-modify hook.""" @@ -62,11 +65,14 @@ class TestHooksOnModify(TestCase): code, out, err = self.t(("add", "foo")) code, out, err = self.t.runError(("1", "modify", "+tag")) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(1) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(1) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onmodify_builtin_misbehave2(self): """on-modify-misbehave2 - does not emit JSON.""" @@ -76,11 +82,14 @@ class TestHooksOnModify(TestCase): code, out, err = self.t(("add", "foo")) code, out, err = self.t.runError(("1", "modify", "+tag")) self.assertIn("Hook Error: Expected 1 JSON task(s), found 0", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onmodify_builtin_misbehave3(self): """on-modify-misbehave3 - emits additional JSON.""" @@ -90,11 +99,14 @@ class TestHooksOnModify(TestCase): code, out, err = self.t(("add", "foo")) code, out, err = self.t.runError(("1", "modify", "+tag")) self.assertIn("Hook Error: Expected 1 JSON task(s), found 2", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onmodify_builtin_misbehave4(self): """on-modify-misbehave4 - emits different task JSON.""" @@ -104,11 +116,14 @@ class TestHooksOnModify(TestCase): code, out, err = self.t(("add", "foo")) code, out, err = self.t.runError(("1", "modify", "+tag")) self.assertIn("Hook Error: JSON must be for the same task:", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onmodify_builtin_misbehave5(self): """on-modify-misbehave5 - emits syntactically wrong JSON.""" @@ -118,11 +133,14 @@ class TestHooksOnModify(TestCase): code, out, err = self.t(("add", "foo")) code, out, err = self.t.runError(("1", "modify", "+tag")) self.assertIn("Hook Error: JSON syntax error in: {\"}", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") def test_onmodify_builtin_misbehave6(self): """on-modify-misbehave6 - emits incomplete JSON.""" @@ -132,11 +150,14 @@ class TestHooksOnModify(TestCase): code, out, err = self.t(("add", "foo")) code, out, err = self.t.runError(("1", "modify", "+tag")) self.assertIn("Hook Error: JSON Object missing 'uuid' attribute.", err) - self.t.hooks[hookname].assertTriggered() - self.t.hooks[hookname].assertTriggeredCount(1) - self.t.hooks[hookname].assertExitcode(0) - logs = self.t.hooks[hookname].get_logs() - self.assertEqual(self.t.hooks[hookname].get_logs()["output"]["msgs"][0], "FEEDBACK") + + hook = self.t.hooks[hookname] + hook.assertTriggered() + hook.assertTriggeredCount(1) + hook.assertExitcode(0) + + logs = hook.get_logs() + self.assertEqual(logs["output"]["msgs"][0], "FEEDBACK") if __name__ == "__main__": from simpletap import TAPTestRunner