You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
#!/usr/bin/env python
|
|
|
|
import os
|
|
import unittest
|
|
from helpers import Node, Cluster, d_
|
|
|
|
RQLITED_PATH = os.environ['RQLITED_PATH']
|
|
|
|
class TestUpgrade_v7(unittest.TestCase):
|
|
'''Test that a v7 cluster can be upgraded to this version code'''
|
|
def test(self):
|
|
n0 = Node(RQLITED_PATH, '1', api_addr='localhost:4001', raft_addr='localhost:4002', dir='testdata/v7/data.1')
|
|
n0.start()
|
|
|
|
n1 = Node(RQLITED_PATH, '2', api_addr='localhost:4003', raft_addr='localhost:4004', dir='testdata/v7/data.2')
|
|
n1.start()
|
|
|
|
n2 = Node(RQLITED_PATH, '3', api_addr='localhost:4005', raft_addr='localhost:4006', dir='testdata/v7/data.3')
|
|
n2.start()
|
|
|
|
self.cluster = Cluster([n0, n1, n2])
|
|
l = self.cluster.wait_for_leader()
|
|
|
|
# Check that each node upgraded a snapshot.
|
|
for n in self.cluster.nodes:
|
|
self.assertTrue(n.expvar()['snapshot']['upgrade_ok'] == 1)
|
|
|
|
# Check that each node has the right data.
|
|
for n in self.cluster.nodes:
|
|
self.assertEqual(n.query('SELECT COUNT(*) FROM foo', level='none'), d_("{'results': [{'values': [[28]], 'types': ['integer'], 'columns': ['COUNT(*)']}]}"))
|
|
|
|
def tearDown(self):
|
|
self.cluster.deprovision()
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main(verbosity=2)
|