class TestSessionEnter(LiveSessionMixin, unittest.TestCase): session_name = TESTING_SESSION_NAME def setUp(self): self.start_tmux_session() self.session = Session(self.session_name, enable_auto_advance=True) def test_noop(self): """Test some cases of calling Enter that don't actually do anything.""" contents = self.get_tmux_session_contents() self.session.enter(after=None) self.session.enter(teletype=False, after=None) self.assertEqual(contents, self.get_tmux_session_contents()) def test_enter_without_text(self): original_contents = self.get_tmux_session_contents() original_count = original_contents.count(SHELL_PROMPT) logging.debug("Before: %s", repr(original_contents)) self.session.enter() self.session.enter(teletype=False) @assert_after_timeout def _assertion(): contents = self.get_tmux_session_contents() logging.debug("After: %s", repr(contents)) self.assertEqual(original_count + 2, contents.count(SHELL_PROMPT)) _assertion() def test_keys_with_enter(self): self.session.enter("echo 'test_keys_with_enter'") output = self.get_tmux_session_contents() self.assertEqual(output.count('test_keys_with_enter'), 2) def test_keys_without_enter(self): self.session.enter("echo 'test_keys_without_enter'", after=None) output = self.get_tmux_session_contents() self.assertEqual(output.count('test_keys_without_enter'), 1) self.session.enter() def test_keys_without_teletype_without_after(self): self.session.enter("echo 'test_keys_without_teletype_without_after'", teletype=False, after=None) self.assertIn('test_keys_without_teletype_without_after', self.get_tmux_session_contents()) def test_keys_without_teletype_with_enter(self): self.session.enter("echo 'test_keys_without_teletype_with_enter'") output = self.get_tmux_session_contents() self.assertEqual(output.count('test_keys_without_teletype_with_enter'), 2) def tearDown(self): self.kill_tmux_session()
from lib import helpers, settings from oraide import Session, keys # stary clean helpers.reset() s = Session('demo') with s.auto_advance(): s.enter('cd') s.enter('mkdir {}'.format(settings.DEMO_PATH)) s.enter('cd {}'.format(settings.DEMO_PATH)) with s.auto_advance(): s.enter('vim Dockerfile') s.teletype('i') s.enter('FROM debian:jessie') s.enter('RUN apt-get update') s.enter('RUN apt-get install -y cowsay', after=keys.escape) s.enter(':x') s.enter('docker build -t cowsay .') s.enter('docker run cowsay') s.enter('docker run cowsay /usr/games/cowsay') s.enter('docker run cowsay /usr/games/cowsay "hola mundo"') with s.auto_advance(): s.enter('vim Dockerfile') s.teletype('jjo') s.enter('CMD ["/usr/games/cowsay"]', after=keys.escape) s.enter(':x')
class TestSessionEnter(LiveSessionMixin, unittest.TestCase): session_name = TESTING_SESSION_NAME def setUp(self): self.start_tmux_session() self.session = Session(self.session_name, enable_auto_advance=True) def test_noop(self): """Test some cases of calling Enter that don't actually do anything.""" contents = self.get_tmux_session_contents() self.session.enter(after=None) self.session.enter(teletype=False, after=None) self.assertEqual(contents, self.get_tmux_session_contents()) def test_enter_without_text(self): original_contents = self.get_tmux_session_contents() original_count = original_contents.count(SHELL_PROMPT) logging.debug("Before: %s", repr(original_contents)) self.session.enter() self.session.enter(teletype=False) @assert_after_timeout def _assertion(): contents = self.get_tmux_session_contents() logging.debug("After: %s", repr(contents)) self.assertEqual(original_count + 2, contents.count(SHELL_PROMPT)) _assertion() def test_keys_with_enter(self): self.session.enter("echo 'test_keys_with_enter'") output = self.get_tmux_session_contents() self.assertEqual(output.count('test_keys_with_enter'), 2) def test_keys_without_enter(self): self.session.enter("echo 'test_keys_without_enter'", after=None) output = self.get_tmux_session_contents() self.assertEqual(output.count('test_keys_without_enter'), 1) self.session.enter() def test_keys_without_teletype_without_after(self): self.session.enter("echo 'test_keys_without_teletype_without_after'", teletype=False, after=None) self.assertIn( 'test_keys_without_teletype_without_after', self.get_tmux_session_contents() ) def test_keys_without_teletype_with_enter(self): self.session.enter("echo 'test_keys_without_teletype_with_enter'") output = self.get_tmux_session_contents() self.assertEqual(output.count('test_keys_without_teletype_with_enter'), 2) def tearDown(self): self.kill_tmux_session()