Watcher: fix some doc typos
[ganeti-local] / test / ganeti.rapi.resources_unittest.py
index 461cfe9..70f68b5 100755 (executable)
 """Script for unittesting the RAPI resources module"""
 
 
-import os
 import unittest
 import tempfile
-import time
 
 from ganeti import errors
-from ganeti.rapi import connector 
-from ganeti.rapi import httperror
-from ganeti.rapi import RESTHTTPServer
-from ganeti.rapi import rlib1 
+from ganeti import http
+
+from ganeti.rapi import connector
+from ganeti.rapi import rlib2
+
+import testutils
 
 
 class MapperTests(unittest.TestCase):
@@ -44,21 +44,22 @@ class MapperTests(unittest.TestCase):
     self.assertEquals(self.map.getController(uri), result)
 
   def _TestFailingUri(self, uri):
-    self.failUnlessRaises(httperror.HTTPNotFound, self.map.getController, uri)
+    self.failUnlessRaises(http.HttpNotFound, self.map.getController, uri)
 
   def testMapper(self):
     """Testing Mapper"""
 
-    self._TestUri("/tags", (rlib1.R_tags, [], {}))
-    self._TestUri("/instances", (rlib1.R_instances, [], {}))
+    self._TestFailingUri("/tags")
+    self._TestFailingUri("/instances")
+    self._TestUri("/version", (rlib2.R_version, [], {}))
 
-    self._TestUri('/instances/www.test.com',
-                  (rlib1.R_instances_name,
+    self._TestUri('/2/instances/www.test.com',
+                  (rlib2.R_2_instances_name,
                    ['www.test.com'],
                    {}))
 
-    self._TestUri('/instances/www.test.com/tags?f=5&f=6&alt=html',
-                  (rlib1.R_instances_name_tags,
+    self._TestUri('/2/instances/www.test.com/tags?f=5&f=6&alt=html',
+                  (rlib2.R_2_instances_name_tags,
                    ['www.test.com'],
                    {'alt': ['html'],
                     'f': ['5', '6'],
@@ -76,71 +77,11 @@ class R_RootTests(unittest.TestCase):
 
   def testGet(self):
     expected = [
-      {'name': 'info', 'uri': '/info'},
-      {'name': 'instances', 'uri': '/instances'},
-      {'name': 'nodes', 'uri': '/nodes'},
-      {'name': 'os', 'uri': '/os'},
-      {'name': 'tags', 'uri': '/tags'},
+      {'name': '2', 'uri': '/2'},
       {'name': 'version', 'uri': '/version'},
       ]
     self.assertEquals(self.root.GET(), expected)
 
 
-class HttpLogfileTests(unittest.TestCase):
-  """Rests for HttpLogfile class."""
-
-  class FakeRequest:
-    FAKE_ADDRESS = "1.2.3.4"
-
-    def address_string(self):
-      return self.FAKE_ADDRESS
-
-  def setUp(self):
-    self.tmpfile = tempfile.NamedTemporaryFile()
-    self.logfile = RESTHTTPServer.HttpLogfile(self.tmpfile.name)
-
-  def testFormatLogTime(self):
-    self._TestInTimezone(1208646123.0, "Europe/London",
-                         "19/Apr/2008:23:02:03 +0000")
-    self._TestInTimezone(1208646123, "Europe/Zurich",
-                         "19/Apr/2008:23:02:03 +0000")
-    self._TestInTimezone(1208646123, "Australia/Sydney",
-                         "19/Apr/2008:23:02:03 +0000")
-
-  def _TestInTimezone(self, seconds, timezone, expected):
-    """Tests HttpLogfile._FormatLogTime with a specific timezone
-
-    """
-    # Preserve environment
-    old_TZ = os.environ.get("TZ", None)
-    try:
-      os.environ["TZ"] = timezone
-      time.tzset()
-      result = self.logfile._FormatLogTime(seconds)
-    finally:
-      # Restore environment
-      if old_TZ is not None:
-        os.environ["TZ"] = old_TZ
-      elif "TZ" in os.environ:
-        del os.environ["TZ"]
-      time.tzset()
-
-    self.assertEqual(result, expected)
-
-  def testClose(self):
-    self.logfile.Close()
-
-  def testCloseAndWrite(self):
-    request = self.FakeRequest()
-    self.logfile.Close()
-    self.assertRaises(errors.ProgrammerError, self.logfile.LogRequest,
-                      request, "Message")
-
-  def testLogRequest(self):
-    request = self.FakeRequest()
-    self.logfile.LogRequest(request, "This is only a %s", "test")
-    self.logfile.Close()
-
-
 if __name__ == '__main__':
-  unittest.main()
+  testutils.GanetiTestProgram()