def setUp(self): class FirstClient: def exists(self, pos_arg, kw_arg='first'): if pos_arg < 10: return pos_arg elif pos_arg < 20: return kw_arg elif kw_arg == 'raise_fae': raise luigi.target.FileAlreadyExists('oh noes!') else: raise Exception() class SecondClient: def exists(self, pos_arg, other_kw_arg='second', kw_arg='for-backwards-compatibility'): if pos_arg < 30: return -pos_arg elif pos_arg < 40: return other_kw_arg else: raise Exception() self.clients = [FirstClient(), SecondClient()] self.client = CascadingClient(self.clients)
def test_method_names_kwarg(self): self.client = CascadingClient(self.clients, method_names=[]) self.assertRaises(AttributeError, lambda: self.client.exists()) self.client = CascadingClient(self.clients, method_names=['exists']) self.assertEqual(5, self.client.exists(5))