def test_remote_watcher_loop_calls_git_fetch_periodically(self, ): daemon = get_mock_daemon(loopcount=4) async def nowaiting(*args): pass with unittest.mock.patch('asyncio.sleep', new=nowaiting) as sleep: asyncio.run(mut.remote_watcher(daemon)) self.assertEqual(daemon.gitbackend.fetch.call_count, 4)
def test_remote_watcher_loop_calls_dont_merge_after_fetch_which_dont_any_anything( self, ): daemon = get_mock_daemon(loopcount=4) daemon.gitbackend.fetch.return_value = False async def nowaiting(*args): pass with unittest.mock.patch('asyncio.sleep', new = nowaiting) as sleep,\ unittest.mock.patch('gitdrop.merge.do_merge') as merge: asyncio.run(mut.remote_watcher(daemon)) self.assertEqual(merge.call_count, 0)
def test_remote_watcher_loop_calls_fetch_only_after_a_delay(self, ): daemon = get_mock_daemon(loopcount=4) sleep_call_count = 0 async def nowaiting(*args): nonlocal sleep_call_count self.assertEqual(args[0], mut.FETCH_PERIOD) sleep_call_count += 1 with unittest.mock.patch('asyncio.sleep', new=nowaiting) as sleep: asyncio.run(mut.remote_watcher(daemon)) self.assertEqual(sleep_call_count, 4)
def setUp(self,): self.daemon = get_mock_daemon(loopcount = 4) self.cloned = False self.merged = False tdir = unittest.mock.MagicMock() self.tmpDir_name = tdir.__enter__.return_value self.tempdir = unittest.mock.patch('tempfile.TemporaryDirectory', return_value = tdir) self.merge_on_rv = None def clone_to(dest): self.cloned = True self.assertEqual(dest,self.tmpDir_name) def merge_on(dest): self.merged = True self.assertTrue(self.cloned) self.assertEqual(dest,self.tmpDir_name) return self.merge_on_rv self.daemon.gitbackend.clone_to = clone_to self.daemon.gitbackend.merge_origin_on = merge_on
def setUp(self,): self.daemon = get_mock_daemon(loopcount = 4)