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)
def test_public_api_signatures(self): inst = self._get_driver() self.assertPublicAPISignatures(driver.ComputeDriver(None), inst)
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)