On Tue, Aug 20, 2013 at 1:44 PM, Thomas Thrainer <[email protected]> wrote: > > > > On Tue, Aug 20, 2013 at 1:28 PM, Guido Trotter <[email protected]> wrote: >> >> On Tue, Aug 20, 2013 at 1:08 PM, Thomas Thrainer <[email protected]> >> wrote: >> > This patch adds basic unit tests for instance import in >> > LUInstanceCreate. It does not provide full coverage though. >> > >> > Signed-off-by: Thomas Thrainer <[email protected]> >> > --- >> > test/py/cmdlib/instance_unittest.py | 121 >> > ++++++++++++++++++++++++++++++++++++ >> > 1 file changed, 121 insertions(+) >> > >> > diff --git a/test/py/cmdlib/instance_unittest.py >> > b/test/py/cmdlib/instance_unittest.py >> > index 4b7e54a..0556978 100644 >> > --- a/test/py/cmdlib/instance_unittest.py >> > +++ b/test/py/cmdlib/instance_unittest.py >> > @@ -626,6 +626,127 @@ class TestLUInstanceCreate(CmdlibTestCase): >> > wait_for_sync=False) >> > self.ExecOpCode(op) >> > >> > + def testImportPlainFromGivenSrcNode(self): >> > + exp_info = """ >> > +[export] >> > +version=0 >> > +os=mock_os >> > +[instance] >> > +name=old_name.example.com >> > +""" >> > + >> > + self.rpc.call_export_info.return_value = \ >> > + self.RpcResultsBuilder() \ >> > + .CreateSuccessfulNodeResult(self.master, exp_info) >> > + op = self.CopyOpCode(self.plain_op, >> > + mode=constants.INSTANCE_IMPORT, >> > + src_node=self.master.name) >> > + self.ExecOpCode(op) >> > + >> > + def testImportPlainWithoutSrcNodeNotFound(self): >> > + op = self.CopyOpCode(self.plain_op, >> > + mode=constants.INSTANCE_IMPORT) >> > + self.ExecOpCodeExpectOpPrereqError( >> > + op, "No export found for relative path") >> > + >> > + def testImportPlainWithoutSrcNode(self): >> > + exp_info = """ >> > +[export] >> > +version=0 >> > +os=mock_os >> > +[instance] >> > +name=old_name.example.com >> > +""" >> >> Would it be better to keep the export info files under data/ and open >> them with utils.ReadFile()? > > > I kept the info in the test instead of in separate files for multiple > reasons: 1) it's easier to understand the test if all the relevant > information is close together rather than distributed over multiple files, > 2) the export info is reasonable short and 3) I try to have unit tests as > pure as possible (so no I/O, networking, etc.).
mmmm, ok, ok, LGTM Thanks, Guido
