
On Sex, 2014-10-03 at 11:15 -0300, Aline Manera wrote:
Hi Cristian,
Sorry about the time but let me clarify some things. The mockmodel exists to make the tests easier but also to allow user run Kimchi without affecting it system (with --test option). It permits user uses Kimchi without the fear of breaking something on system.
But I completely agree with you that what we have today is not the best solution for it. Because that I proposed a mockmodel refactor for the next release.
---- The mockmodel was designed to provide a way to user tests Kimchi without affecting the system (by "kimchid --test") and also to make the tests easier to do. But in fact, we have a bunch of code that completely differs from the real model, so the developer needs to do 2 kinds of implementations while developing a new feature. My proposal is simplify that by using Model() with "test:///default" URI. This configuration does not affect the system in real and also can provide us a way to test the new feature in a closer scenario to the real one: by connecting to libvirt and doing the operations. As you may know "test:///default" driver has some limitations that prevents some operations, for example, screenshots. To solve it we could only override what is not supported by this driver and create a simpler mockmodel.
Example: class MockModel(Model): super(Model, self).__init__("test:///default")
def vmscreenshot_lookup(): # do some mock code
I think in this way we will have a significant reduction in our mockmodel code. ----
I think with this refactoring we can make mockmodel more devel friendly and avoid a lot of duplicated code.
I totally agree with you. If I didn't have that many features to implement for the next release, I'd help on this one :-) -- Best regards, Crístian.