Re: [PATCH test-API 1/2] lib: pass instance of ConnectAPI into other lib modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/29/2012 05:14 PM, Martin Kletzander wrote:
On 03/26/2012 07:18 PM, Guannan Ren wrote:
      This change make any instance of subclasses in libvirt.py
      invisible to testcases in order to catch libvirtError.

        connectAPI.py
        domainAPI.py
        interfaceAPI.py
        networkAPI.py
        nodedevAPI.py
        nwfilterAPI.py
        secretAPI.py
        snapshotAPI.py
        storageAPI.py
        streamAPI.py
---
  lib/connectAPI.py   |   21 +++++++++++----------
  lib/domainAPI.py    |    2 +-
  lib/interfaceAPI.py |    2 +-
  lib/networkAPI.py   |    2 +-
  lib/nodedevAPI.py   |    2 +-
  lib/nwfilterAPI.py  |    2 +-
  lib/secretAPI.py    |    2 +-
  lib/snapshotAPI.py  |    2 +-
  lib/storageAPI.py   |    2 +-
  lib/streamAPI.py    |    5 +++--
  10 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/lib/connectAPI.py b/lib/connectAPI.py
index 9f2b728..796df33 100644
--- a/lib/connectAPI.py
+++ b/lib/connectAPI.py
@@ -39,36 +39,37 @@ append_path(result.group(0))
  import exception

  class ConnectAPI(object):
-    def __init__(self):
+    def __init__(self, uri):
+        self.uri = uri
          self.conn = None

-    def open(self, uri):
+    def open(self):
          try:
-            self.conn = libvirt.open(uri)
-            return self.conn
+            self.conn = libvirt.open(self.uri)
          except libvirt.libvirtError, e:
              message = e.get_error_message()
              code = e.get_error_code()
              raise exception.LibvirtAPI(message, code)

-    def open_read_only(self, uri):
+    def open_read_only(self):
          try:
-            self.conn = libvirt.openReadOnly(uri)
-            return self.conn
+            self.conn = libvirt.openReadOnly(self.uri)
          except libvirt.libvirtError, e:
              message = e.get_error_message()
              code = e.get_error_code()
              raise exception.LibvirtAPI(message, code)

-    def openAuth(self, uri, auth, flags = 0):
+    def openAuth(self, auth, flags = 0):
          try:
-            self.conn = libvirt.openAuth(uri, auth, flags)
-            return self.conn
+            self.conn = libvirt.openAuth(self.uri, auth, flags)
          except libvirt.libvirtError, e:
              message = e.get_error_message()
              code = e.get_error_code()
              raise exception.LibvirtAPI(message, code)

+    def get_conn(self):
+        return self.conn
+
      def get_caps(self):
          try:
              caps = self.conn.getCapabilities()
diff --git a/lib/domainAPI.py b/lib/domainAPI.py
index 43565c2..e38acb6 100644
--- a/lib/domainAPI.py
+++ b/lib/domainAPI.py
@@ -42,7 +42,7 @@ import exception

  class DomainAPI(object):
      def __init__(self, connection):
-        self.conn = connection
+        self.conn = connection.get_conn()

This is one option how to keep the object, however maybe we can make use
of the encapsulation everywhere, not just in the test cases, but this
would require rewriting a lot more code and is not needed at this point.

      yes, I agree.

ACK with the second patch modified as written in it.

Martin

         Thanks and pushed.

         Guannan Ren

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]