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, [])