def test_last_version_on(self): """Workflow: last_version_run not empty""" vstr = '1.9.7' with InfoPlist(): with VersionFile(vstr): wf = Workflow() wf.set_last_version(vstr) self.assertEqual(Version(vstr), wf.last_version_run) wf.reset() # Set automatically with VersionFile(vstr): wf = Workflow() wf.set_last_version() self.assertEqual(Version(vstr), wf.last_version_run) wf.reset()
def test_first_run_with_version(self): """Workflow: first_run""" vstr = '1.9.7' with VersionFile(vstr): with InfoPlist(): wf = Workflow() self.assertTrue(wf.first_run) wf.reset()
def test_last_version_auto_version(self): """Workflow: last_version auto version""" vstr = '1.9.7' with VersionFile(vstr): with InfoPlist(): wf = Workflow() self.assertTrue(wf.set_last_version()) self.assertEqual(wf.last_version_run, Version(vstr)) wf.reset()
def test_versions_from_version_file(self): """Workflow: version from `version`""" vstr = '1.9.7' with VersionFile(vstr): with InfoPlist(): wf = Workflow() self.assertEqual(str(wf.version), vstr) self.assertTrue(isinstance(wf.version, Version)) self.assertEqual(wf.version, Version(vstr))
def test_first_run_with_previous_run(self): """Workflow: first_run with previous run""" vstr = '1.9.7' last_vstr = '1.9.6' with VersionFile(vstr): with InfoPlist(): wf = Workflow() wf.set_last_version(last_vstr) self.assertTrue(wf.first_run) self.assertEqual(wf.last_version_run, Version(last_vstr)) wf.reset()
def test_last_version_set_after_run(self): """Workflow: last_version set after `run()`""" vstr = '1.9.7' def cb(wf): return with VersionFile(vstr): with InfoPlist(): wf = Workflow() self.assertTrue(wf.last_version_run is None) wf.run(cb) wf = Workflow() self.assertEqual(wf.last_version_run, Version(vstr)) wf.reset()
def test_version_magic(info2): """Magic: version magic""" # TODO: Verify output somehow vstr = '1.9.7' # Versioned with WorkflowMock(['script', 'workflow:version']) as c: with VersionFile(vstr): wf = Workflow() # Process magic arguments wf.args assert not c.cmd # wf.logger.debug('STDERR : {0}'.format(c.stderr)) # Unversioned with WorkflowMock(['script', 'workflow:version']) as c: wf = Workflow() # Process magic arguments wf.args assert not c.cmd