Skip to content

Commit 569ff3d

Browse files
committed
Abstract a helper function for server.xxx() tests.
The test cases for server.xxx() are all the same, with one or more faked servers. So use a helper function to reduce code duplicate. Change-Id: I660c7731e2de8bf4d815b414a621d8d9ca6d5a8b Implements: blueprint osc-unit-test-framework-improvement
1 parent 9633168 commit 569ff3d

1 file changed

Lines changed: 24 additions & 59 deletions

File tree

openstackclient/tests/compute/v2/test_server.py

Lines changed: 24 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,28 @@ def setup_servers_mock(self, count):
6363
# This is the return value for utils.find_resource()
6464
self.servers_mock.get = compute_fakes.FakeServer.get_servers(servers,
6565
0)
66-
6766
return servers
6867

68+
def run_method_with_servers(self, method_name, server_count):
69+
servers = self.setup_servers_mock(server_count)
70+
71+
arglist = []
72+
verifylist = []
73+
74+
for s in servers:
75+
arglist.append(s.id)
76+
verifylist = [
77+
('server', arglist),
78+
]
79+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
80+
81+
# DisplayCommandBase.take_action() returns two tuples
82+
self.cmd.take_action(parsed_args)
83+
84+
for s in servers:
85+
method = getattr(s, method_name)
86+
method.assert_called_with()
87+
6988

7089
class TestServerCreate(TestServer):
7190

@@ -606,38 +625,10 @@ def setUp(self):
606625
}
607626

608627
def test_server_pause_one_server(self):
609-
servers = self.setup_servers_mock(1)
610-
611-
arglist = [
612-
servers[0].id,
613-
]
614-
verifylist = [
615-
('server', [servers[0].id]),
616-
]
617-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
618-
619-
# DisplayCommandBase.take_action() returns two tuples
620-
self.cmd.take_action(parsed_args)
621-
622-
servers[0].pause.assert_called_with()
628+
self.run_method_with_servers('pause', 1)
623629

624630
def test_server_pause_multi_servers(self):
625-
servers = self.setup_servers_mock(3)
626-
arglist = []
627-
verifylist = []
628-
629-
for i in range(0, len(servers)):
630-
arglist.append(servers[i].id)
631-
verifylist = [
632-
('server', arglist),
633-
]
634-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
635-
636-
# DisplayCommandBase.take_action() returns two tuples
637-
self.cmd.take_action(parsed_args)
638-
639-
for i in range(0, len(servers)):
640-
servers[i].pause.assert_called_with()
631+
self.run_method_with_servers('pause', 3)
641632

642633

643634
class TestServerResize(TestServer):
@@ -834,33 +825,7 @@ def setUp(self):
834825
}
835826

836827
def test_shelve_one_server(self):
837-
server = self.setup_servers_mock(1)[0]
838-
839-
arglist = [
840-
server.id,
841-
]
842-
verifylist = [
843-
('server', [server.id]),
844-
]
845-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
846-
847-
self.cmd.take_action(parsed_args)
848-
849-
server.shelve.assert_called_with()
828+
self.run_method_with_servers('shelve', 1)
850829

851830
def test_shelve_multi_servers(self):
852-
servers = self.setup_servers_mock(3)
853-
arglist = []
854-
verifylist = []
855-
856-
for i in range(0, len(servers)):
857-
arglist.append(servers[i].id)
858-
verifylist = [
859-
('server', arglist),
860-
]
861-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
862-
863-
self.cmd.take_action(parsed_args)
864-
865-
for i in range(0, len(servers)):
866-
servers[i].shelve.assert_called_with()
831+
self.run_method_with_servers('shelve', 3)

0 commit comments

Comments
 (0)