Example #1
0
    def assertPublicAPISignatures(self, inst):
        def get_public_apis(inst):
            methods = {}
            for (name, value) in inspect.getmembers(inst, inspect.ismethod):
                if name.startswith("_"):
                    continue
                methods[name] = value
            return methods

        base = driver.ComputeDriver(None)
        basemethods = get_public_apis(base)
        implmethods = get_public_apis(inst)

        extranames = []
        for name in sorted(implmethods.keys()):
            if name not in basemethods:
                extranames.append(name)

        self.assertEqual([], extranames,
                         "public APIs not listed in base class")

        for name in sorted(implmethods.keys()):
            baseargs = inspect.getargspec(basemethods[name])
            implargs = inspect.getargspec(implmethods[name])

            self.assertEqual(baseargs, implargs,
                             "%s args don't match base" % name)
Example #2
0
 def test_public_api_signatures(self):
     inst = self._get_driver()
     self.assertPublicAPISignatures(driver.ComputeDriver(None), inst)
Example #3
0
 def test_public_api_signatures(self):
     self.assertPublicAPISignatures(driver.ComputeDriver(None), self._conn)
 def test_public_api_signatures(self):
     baseinst = driver.ComputeDriver(None)
     inst = fake.FakeDriver(fake.FakeVirtAPI(), True)
     self.assertPublicAPISignatures(baseinst, inst)