Adding doc strings and tests
[nepi.git] / test / lib / test_utils.py
index e783a62..7fcb980 100644 (file)
@@ -20,6 +20,7 @@
 from nepi.resources.linux.node import LinuxNode
 
 import os
+import sys
 
 class DummyEC(object):
     @property
@@ -88,8 +89,7 @@ def skipIfNotPLCredentials(func):
     def wrapped(*args, **kwargs):
         pl_user = os.environ.get("PL_USER")
         pl_pass = os.environ.get("PL_PASS")
-        pl_slice = os.environ.get("PL_SLICE")
-        if not (pl_user and pl_pass and pl_slice):
+        if not (pl_user and pl_pass):
             print "*** WARNING: Skipping test %s: Planetlab user, password and slicename not defined\n" % name
             return
 
@@ -97,3 +97,41 @@ def skipIfNotPLCredentials(func):
 
     return wrapped
 
+def skipIfNotPythonVersion(func):
+    name = func.__name__
+    def wrapped(*args, **kwargs):
+        if sys.version_info < 2.7:
+            print "*** WARNING: Skipping test %s: total_seconds() method doesn't exist\n" % name
+            return
+
+        return func(*args, **kwargs)
+
+    return wrapped
+
+def skipIfNotSfaCredentials(func):
+    name = func.__name__
+    def wrapped(*args, **kwargs):
+        sfa_user = os.environ.get("SFA_USER")
+        sfa_pk = os.environ.get("SFA_PK")
+        
+        if not (sfa_user and os.path.exists(os.path.expanduser(sfa_pk))):
+            print "*** WARNING: Skipping test %s: SFA path to private key doesn't exist\n" % name
+            return
+
+        return func(*args, **kwargs)
+
+    return wrapped
+
+def skipIfNotSfi(func):
+    name = func.__name__
+    def wrapped(*args, **kwargs):
+        try:
+            from sfa.client.sfi import Sfi
+            from sfa.util.xrn import hrn_to_urn
+        except ImportError:
+            print "*** WARNING: Skipping test %s: sfi-client or sfi-common not installed\n" % name
+            return
+
+        return func(*args, **kwargs)
+
+    return wrapped