Exemple #1
0
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()
Exemple #2
0
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')
Exemple #3
0
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()