def test_env_object(self): class S(Node): class Hosts: role1 = LocalHost role2 = LocalHost2 def my_action(self): return 'result' def return_name_of_self(self): return self.__class__.__name__ def echo_on_all(self): return self.hosts.run('/bin/echo echo', interactive=False) def echo_on_role1(self): return self.hosts.filter('role1').run('/bin/echo echo', interactive=False) def echo_on_role2(self): return self.hosts.get('role2').run('/bin/echo echo', interactive=False) s = S() env = Env(s) self.assertEqual(env.my_action(), 'result') self.assertEqual(env.return_name_of_self(), 'Env') self.assertEqual(env.echo_on_all(), [ 'echo\r\n', 'echo\r\n' ]) self.assertEqual(env.echo_on_role1(), [ 'echo\r\n' ]) self.assertEqual(env.echo_on_role2(), 'echo\r\n') # Isinstance hooks self.assertIsInstance(s, S) self.assertIsInstance(env, S)
def test_env_object(self): class S(Node): class Hosts: role1 = LocalHost role2 = LocalHost2 def my_action(self): return 'result' def return_name_of_self(self): return self.__class__.__name__ def echo_on_all(self): return self.hosts.run('/bin/echo echo', interactive=False) def echo_on_role1(self): return self.hosts.filter('role1').run('/bin/echo echo', interactive=False) def echo_on_role2(self): return self.hosts.filter('role2')[0].run('/bin/echo echo', interactive=False) s = S() env = Env(s) self.assertEqual(env.my_action(), 'result') self.assertEqual(env.return_name_of_self(), 'Env') self.assertEqual(env.echo_on_all(), ['echo\r\n', 'echo\r\n']) self.assertEqual(env.echo_on_role1(), ['echo\r\n']) self.assertEqual(env.echo_on_role2(), 'echo\r\n') # Isinstance hooks self.assertIsInstance(s, S) self.assertIsInstance(env, S)