コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
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)
コード例 #4
0
    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
コード例 #5
0
 def setUp(self,):
     self.daemon = get_mock_daemon(loopcount = 4)