owenrusk.dev

errands

small jobs the runtime does for the studio.

git clone https://owenrusk.dev/errands.git

errands / tests/test_sync.py -rw-r--r-- · 823 bytes

 1 import unittest
 2 
 3 from errands import settings, sync
 4 
 5 
 6 class SyncTest(unittest.TestCase):
 7     def setUp(self):
 8         self.on = settings.SYNC_TO_STAGING
 9 
10     def tearDown(self):
11         settings.SYNC_TO_STAGING = self.on
12 
13     def test_copies_state_and_logs(self):
14         settings.SYNC_TO_STAGING = True
15         runs = []
16         self.assertTrue(sync.run(lambda args, **kwargs: runs.append(args)))
17         self.assertEqual(runs[0][0], "rsync")
18         self.assertIn(str(settings.STATE), runs[0])
19         self.assertIn(str(settings.LOGS), runs[0])
20         self.assertEqual(runs[0][-1], f"{settings.STAGING_HOST}:/srv/errands/")
21 
22     def test_off(self):
23         settings.SYNC_TO_STAGING = False
24         runs = []
25         self.assertFalse(sync.run(lambda args, **kwargs: runs.append(args)))
26         self.assertEqual(runs, [])