def test_history(self): """ History """ from invenio.modules.upgrader.engine import InvenioUpgrader upgrades = dictify([ TestUpgrade('1', [], 'invenio'), TestUpgrade('2', ['1'], 'invenio'), TestUpgrade('3', ['1'], 'invenio'), TestUpgrade('4', ['2'], 'invenio'), TestUpgrade('5', ['3', '4'], 'invenio'), TestUpgrade('6', [ '5', ], 'invenio'), ]) history = dictify(['1', '2', '4'], value=1) m = InvenioUpgrader() self.assertEqual(upgrades_str(m.order_upgrades(upgrades, history)), "[3, 5, 6]") history = dictify(['3', '5'], value=1) m = InvenioUpgrader() self.assertEqual(upgrades_str(m.order_upgrades(upgrades, history)), "[6]")
def test_two_graphs(self): """ Two independent graphs """ from invenio.modules.upgrader.engine import InvenioUpgrader upgrades = dictify([ TestUpgrade('1', [], 'invenio'), TestUpgrade('2', ['1'], 'invenio'), TestUpgrade('3', ['1'], 'invenio'), TestUpgrade('a', [], 'other'), TestUpgrade('b', ['a'], 'other'), TestUpgrade('c', ['a'], 'other'), TestUpgrade('4', ['2'], 'invenio'), TestUpgrade('5', ['3', '4'], 'invenio'), TestUpgrade('6', [ '5', ], 'invenio'), TestUpgrade('d', ['b'], 'other'), TestUpgrade('e', ['c', 'd'], 'other'), TestUpgrade('f', [ 'e', ], 'other'), ]) m = InvenioUpgrader() self.assertEqual(upgrades_str(m.order_upgrades(upgrades)), "[1, 2, 4, 3, 5, 6, a, b, d, c, e, f]")
def test_two_graphs(self): """ Two independent graphs """ from invenio.modules.upgrader.engine import InvenioUpgrader upgrades = dictify([ TestUpgrade('1', [], 'invenio'), TestUpgrade('2', ['1'], 'invenio'), TestUpgrade('3', ['1'], 'invenio'), TestUpgrade('a', [], 'other'), TestUpgrade('b', ['a'], 'other'), TestUpgrade('c', ['a'], 'other'), TestUpgrade('4', ['2'], 'invenio'), TestUpgrade('5', ['3', '4'], 'invenio'), TestUpgrade('6', ['5', ], 'invenio'), TestUpgrade('d', ['b'], 'other'), TestUpgrade('e', ['c', 'd'], 'other'), TestUpgrade('f', ['e', ], 'other'), ]) m = InvenioUpgrader() self.assertEqual(upgrades_str(m.order_upgrades(upgrades)), "[1, 2, 4, 3, 5, 6, a, b, d, c, e, f]")
def test_history(self): """ History """ from invenio.modules.upgrader.engine import InvenioUpgrader upgrades = dictify([ TestUpgrade('1', [], 'invenio'), TestUpgrade('2', ['1'], 'invenio'), TestUpgrade('3', ['1'], 'invenio'), TestUpgrade('4', ['2'], 'invenio'), TestUpgrade('5', ['3', '4'], 'invenio'), TestUpgrade('6', ['5', ], 'invenio'), ]) history = dictify(['1', '2', '4'], value=1) m = InvenioUpgrader() self.assertEqual(upgrades_str(m.order_upgrades(upgrades, history)), "[3, 5, 6]") history = dictify(['3', '5'], value=1) m = InvenioUpgrader() self.assertEqual( upgrades_str(m.order_upgrades(upgrades, history)), "[6]")
def test_normal(self): """ Normal dependency graph """ from invenio.modules.upgrader.engine import InvenioUpgrader upgrades = dictify([ TestUpgrade('1', [], 'invenio'), TestUpgrade('2', ['1'], 'invenio'), TestUpgrade('3', ['1'], 'invenio'), TestUpgrade('4', ['2'], 'invenio'), TestUpgrade('5', ['3', '4'], 'invenio'), TestUpgrade('6', ['5', ], 'invenio'), ]) m = InvenioUpgrader() self.assertEqual(upgrades_str(m.order_upgrades(upgrades)), "[1, 2, 4, 3, 5, 6]")
def test_cross_graph_dependency(self): """ Missing dependency 0 """ from invenio.modules.upgrader.engine import InvenioUpgrader upgrades = dictify([ TestUpgrade('1', [], 'invenio'), TestUpgrade('2', ['1'], 'invenio'), TestUpgrade('3', ['1', 'b'], 'invenio'), TestUpgrade('a', [], 'other'), TestUpgrade('b', ['a'], 'other'), TestUpgrade('c', ['2'], 'other'), ]) m = InvenioUpgrader() #self.assertRaises(StandardError, m.order_upgrades, upgrades) self.assertEqual(upgrades_str(m.order_upgrades(upgrades)), "[1, 2, c, a, b, 3]")
def test_normal(self): """ Normal dependency graph """ from invenio.modules.upgrader.engine import InvenioUpgrader upgrades = dictify([ TestUpgrade('1', [], 'invenio'), TestUpgrade('2', ['1'], 'invenio'), TestUpgrade('3', ['1'], 'invenio'), TestUpgrade('4', ['2'], 'invenio'), TestUpgrade('5', ['3', '4'], 'invenio'), TestUpgrade('6', [ '5', ], 'invenio'), ]) m = InvenioUpgrader() self.assertEqual(upgrades_str(m.order_upgrades(upgrades)), "[1, 2, 4, 3, 5, 6]")