Ejemplo n.º 1
0
    def test_exit_status_unknown_user(self):
        '''
        Ensure correct exit status when the proxy is configured to run as an unknown user.

        Skip on Windows because daemonization not supported
        '''

        proxy = testprogram.TestDaemonSaltProxy(
            name='proxy-unknown_user',
            config_base={'user': '******'},
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=['-d'],
            catch_stderr=True,
            with_retcode=True,
        )
        try:
            self.assert_exit_status(
                status,
                'EX_NOUSER',
                message='unknown user not on system',
                stdout=stdout,
                stderr=tests.integration.utils.decode_byte_list(stderr))
        finally:
            # Although the start-up should fail, call shutdown() to set the
            # internal _shutdown flag and avoid the registered atexit calls to
            # cause timeout exeptions and respective traceback
            proxy.shutdown()
Ejemplo n.º 2
0
    def test_exit_status_unknown_argument(self):
        '''
        Ensure correct exit status when an unknown argument is passed to salt-proxy.

        Skip on Windows because daemonization not supported
        '''

        proxy = testprogram.TestDaemonSaltProxy(
            name='proxy-unknown_argument',
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=['-d', '--unknown-argument'],
            catch_stderr=True,
            with_retcode=True,
        )
        try:
            self.assert_exit_status(status,
                                    'EX_USAGE',
                                    message='unknown argument',
                                    stdout=stdout,
                                    stderr=stderr)
        finally:
            # Although the start-up should fail, call shutdown() to set the
            # internal _shutdown flag and avoid the registered atexit calls to
            # cause timeout exeptions and respective traceback
            proxy.shutdown()
Ejemplo n.º 3
0
    def test_exit_status_correct_usage(self):
        '''
        Ensure correct exit status when salt-proxy starts correctly.

        Skip on Windows because daemonization not supported
        '''

        proxy = testprogram.TestDaemonSaltProxy(
            name='proxy-correct_usage',
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=['-d'],
            catch_stderr=True,
            with_retcode=True,
        )
        try:
            self.assert_exit_status(
                status,
                'EX_OK',
                message='correct usage',
                stdout=stdout,
                stderr=tests.integration.utils.decode_byte_list(stderr))
        finally:
            proxy.shutdown(wait_for_orphans=3)
Ejemplo n.º 4
0
    def test_exit_status_unknown_argument(self):
        """
        Ensure correct exit status when an unknown argument is passed to
        salt-proxy.
        """

        proxy = testprogram.TestDaemonSaltProxy(
            name="proxy-unknown_argument",
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        args = ["--unknown-argument"]
        if not salt.utils.platform.is_windows():
            args.append("-b")
        stdout, stderr, status = proxy.run(
            args=args,
            catch_stderr=True,
            with_retcode=True,
        )
        try:
            self.assert_exit_status(
                status,
                "EX_USAGE",
                message="unknown argument",
                stdout=stdout,
                stderr=stderr,
            )
        finally:
            # Although the start-up should fail, call shutdown() to set the
            # internal _shutdown flag and avoid the registered atexit calls to
            # cause timeout exceptions and respective traceback
            proxy.shutdown()
Ejemplo n.º 5
0
    def test_exit_status_unknown_user(self):
        """
        Ensure correct exit status when the proxy is configured to run as an
        unknown user.
        """

        proxy = testprogram.TestDaemonSaltProxy(
            name="proxy-unknown_user",
            config_base={"user": "******"},
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=["-d"] if not salt.utils.platform.is_windows() else [],
            catch_stderr=True,
            with_retcode=True,
        )
        try:
            self.assert_exit_status(
                status,
                "EX_NOUSER",
                message="unknown user not on system",
                stdout=stdout,
                stderr=tests.integration.utils.decode_byte_list(stderr),
            )
        finally:
            # Although the start-up should fail, call shutdown() to set the
            # internal _shutdown flag and avoid the registered atexit calls to
            # cause timeout exceptions and respective traceback
            proxy.shutdown()
Ejemplo n.º 6
0
    def test_exit_status_correct_usage(self):
        """
        Ensure correct exit status when salt-proxy starts correctly.

        Skip on Windows because daemonization not supported
        """
        proxy = testprogram.TestDaemonSaltProxy(
            name="proxy-correct_usage",
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=["-d"] if not salt.utils.platform.is_windows() else [],
            catch_stderr=True,
            with_retcode=True,
        )
        try:
            self.assert_exit_status(
                status,
                "EX_OK",
                message="correct usage",
                stdout=stdout,
                stderr=tests.integration.utils.decode_byte_list(stderr),
            )
        finally:
            proxy.shutdown(wait_for_orphans=3)
Ejemplo n.º 7
0
    def test_exit_status_no_proxyid(self):
        '''
        Ensure correct exit status when --proxyid argument is missing.
        '''

        proxy = testprogram.TestDaemonSaltProxy(
            name='proxy-no_proxyid',
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=[
                '--config-dir', proxy.abs_path(proxy.config_dir),  # Needed due to verbatim_args=True
                '-d',
            ],
            verbatim_args=True,   # prevents --proxyid from being added automatically
            catch_stderr=True,
            with_retcode=True,
            # The proxy minion had a bug where it would loop forever
            # without daemonizing - protect that with a timeout.
            timeout=60,
        )
        try:
            self.assert_exit_status(
                status, 'EX_USAGE',
                message='no --proxyid specified',
                stdout=stdout,
                stderr=tests.integration.utils.decode_byte_list(stderr)
            )
        finally:
            # Although the start-up should fail, call shutdown() to set the
            # internal _shutdown flag and avoid the registered atexit calls to
            # cause timeout exceptions and respective traceback
            proxy.shutdown()
Ejemplo n.º 8
0
    def test_exit_status_no_proxyid(self):
        '''
        Ensure correct exit status when --proxyid argument is missing.
        '''

        proxy = testprogram.TestDaemonSaltProxy(
            name='proxy-no_proxyid',
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=[
                '--config-dir',
                proxy.abs_path(
                    proxy.config_dir),  # Needed due to verbatim_args=True
                '-d',
            ],
            verbatim_args=
            True,  # prevents --proxyid from being added automatically
            catch_stderr=True,
            with_retcode=True,
            # The proxy minion had a bug where it would loop forever
            # without daemonizing - protect that with a timeout.
            timeout=60,
        )
        self.assert_exit_status(
            status,
            'EX_USAGE',
            message='no --proxyid specified',
            stdout=stdout,
            stderr=tests.integration.utils.decode_byte_list(stderr))
Ejemplo n.º 9
0
    def test_exit_status_unknown_argument(self):
        '''
        Ensure correct exit status when an unknown argument is passed to salt-proxy.
        '''

        proxy = testprogram.TestDaemonSaltProxy(
            name='proxy-unknown_argument',
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=['-d', '--unknown-argument'],
            catch_stderr=True,
            with_retcode=True,
        )
        self.assert_exit_status(status,
                                'EX_USAGE',
                                message='unknown argument',
                                stdout=stdout,
                                stderr=stderr)
Ejemplo n.º 10
0
    def test_exit_status_no_proxyid(self):
        """
        Ensure correct exit status when --proxyid argument is missing.
        """

        proxy = testprogram.TestDaemonSaltProxy(
            name="proxy-no_proxyid",
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        # Needed due to verbatim_args=True
        args = ["--config-dir", proxy.abs_path(proxy.config_dir)]
        if not salt.utils.platform.is_windows():
            args.append("-d")
        stdout, stderr, status = proxy.run(
            args=args,
            # verbatim_args prevents --proxyid from being added automatically
            verbatim_args=True,
            catch_stderr=True,
            with_retcode=True,
            # The proxy minion had a bug where it would loop forever
            # without daemonizing - protect that with a timeout.
            timeout=60,
        )
        try:
            self.assert_exit_status(
                status,
                "EX_USAGE",
                message="no --proxyid specified",
                stdout=stdout,
                stderr=tests.integration.utils.decode_byte_list(stderr),
            )
        finally:
            # Although the start-up should fail, call shutdown() to set the
            # internal _shutdown flag and avoid the registered atexit calls to
            # cause timeout exceptions and respective traceback
            proxy.shutdown()
Ejemplo n.º 11
0
    def test_exit_status_unknown_user(self):
        '''
        Ensure correct exit status when the proxy is configured to run as an unknown user.
        '''

        proxy = testprogram.TestDaemonSaltProxy(
            name='proxy-unknown_user',
            config_base={'user': '******'},
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=['-d'],
            catch_stderr=True,
            with_retcode=True,
        )
        self.assert_exit_status(
            status,
            'EX_NOUSER',
            message='unknown user not on system',
            stdout=stdout,
            stderr=tests.integration.utils.decode_byte_list(stderr))
Ejemplo n.º 12
0
    def test_exit_status_correct_usage(self):
        '''
        Ensure correct exit status when salt-proxy starts correctly.
        '''

        proxy = testprogram.TestDaemonSaltProxy(
            name='proxy-correct_usage',
            parent_dir=self._test_dir,
        )
        # Call setup here to ensure config and script exist
        proxy.setup()
        stdout, stderr, status = proxy.run(
            args=['-d'],
            catch_stderr=True,
            with_retcode=True,
        )
        self.assert_exit_status(
            status,
            'EX_OK',
            message='correct usage',
            stdout=stdout,
            stderr=tests.integration.utils.decode_byte_list(stderr))
        proxy.shutdown()