Пример #1
0
    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)
Пример #2
0
 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))