示例#1
0
    def test_generate_command_uwsgi_service_option_nginx_conf_redhat(
            self, mock_os_path_isfile, mock_file, mock_env,
            mock_os_path_exists, mock_linux_distribution, mock_context):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_UWSGI_SERVICE_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False
        mock_env.side_effect = ['/foo/conda', 'conda_env']
        mock_os_path_exists.return_value = True
        mock_linux_distribution.return_value = ['redhat']
        # First open is for the Template, next two are for /etc/nginx/nginx.conf and /etc/passwd, and the final
        # open is to "write" out the resulting file.  The middle two opens return information about a user, while
        # the first and last use MagicMock.
        handlers = (mock_file.return_value,
                    mock.mock_open(read_data='user foo_user').return_value,
                    mock.mock_open(
                        read_data=
                        'foo_user:x:1000:1000:Foo User,,,:/foo/nginx:/bin/bash'
                    ).return_value, mock_file.return_value)
        mock_file.side_effect = handlers

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')
        mock_os_path_exists.assert_called_once_with('/etc/nginx/nginx.conf')
        context = mock_context().update.call_args_list[0][0][0]
        self.assertEqual('http-', context['user_option_prefix'])
示例#2
0
    def test_generate_command_uwsgi_service_option_nginx_conf_redhat(self, mock_os_path_isfile, mock_file, mock_env,
                                                                     mock_os_path_exists, mock_linux_distribution,
                                                                     mock_context):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_UWSGI_SERVICE_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False
        mock_env.side_effect = ['/foo/conda', 'conda_env']
        mock_os_path_exists.return_value = True
        mock_linux_distribution.return_value = ['redhat']
        # First open is for the Template, next two are for /etc/nginx/nginx.conf and /etc/passwd, and the final
        # open is to "write" out the resulting file.  The middle two opens return information about a user, while
        # the first and last use MagicMock.
        handlers = (mock_file.return_value,
                    mock.mock_open(read_data='user foo_user').return_value,
                    mock.mock_open(read_data='foo_user:x:1000:1000:Foo User,,,:/foo/nginx:/bin/bash').return_value,
                    mock_file.return_value)
        mock_file.side_effect = handlers

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')
        mock_os_path_exists.assert_called_once_with('/etc/nginx/nginx.conf')
        context = mock_context().update.call_args_list[0][0][0]
        self.assertEqual('http-', context['user_option_prefix'])
示例#3
0
    def test_generate_command_nginx_service(self, mock_os_path_isfile, mock_file):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_NGINX_SERVICE_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
示例#4
0
    def test_generate_command_settings_option(self, mock_os_path_isfile, mock_file):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_SETTINGS_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
示例#5
0
    def test_generate_command_settings_option(self, mock_os_path_isfile, mock_file):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_SETTINGS_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
示例#6
0
    def test_generate_command_nginx_option(self, mock_os_path_isfile, mock_file, mock_settings):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_NGINX_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False
        mock_settings.side_effect = ['/foo/workspace', '/foo/static']

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_settings.assert_any_call('TETHYS_WORKSPACES_ROOT')
        mock_settings.assert_called_with('STATIC_ROOT')
示例#7
0
    def test_generate_command_uwsgi_service_option(self, mock_os_path_isfile, mock_file, mock_env):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_UWSGI_SERVICE_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False
        mock_env.side_effect = ['/foo/conda', 'conda_env']

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')
示例#8
0
    def test_generate_command_nginx_option(self, mock_os_path_isfile, mock_file, mock_settings):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_NGINX_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False
        mock_settings.side_effect = ['/foo/workspace', '/foo/static']

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_settings.assert_any_call('TETHYS_WORKSPACES_ROOT')
        mock_settings.assert_called_with('STATIC_ROOT')
示例#9
0
    def test_generate_command_uwsgi_service_option(self, mock_os_path_isfile,
                                                   mock_file, mock_env):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_UWSGI_SERVICE_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False
        mock_env.side_effect = ['/foo/conda', 'conda_env']

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')
示例#10
0
    def test_generate_command_uwsgi_settings_pre_existing_overwrite(self, mock_os_path_isfile, mock_file, mock_env):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_UWSGI_SETTINGS_OPTION
        mock_args.directory = None
        mock_args.overwrite = True
        mock_os_path_isfile.return_value = True
        mock_env.side_effect = ['/foo/conda', 'conda_env']

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')
示例#11
0
    def test_generate_command_uwsgi_settings_pre_existing_overwrite(
            self, mock_os_path_isfile, mock_file, mock_env):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_UWSGI_SETTINGS_OPTION
        mock_args.directory = None
        mock_args.overwrite = True
        mock_os_path_isfile.return_value = True
        mock_env.side_effect = ['/foo/conda', 'conda_env']

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')
示例#12
0
    def test_generate_command_uwsgi_settings_option_directory(self, mock_os_path_isfile, mock_file, mock_env,
                                                              mock_os_path_isdir):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_UWSGI_SETTINGS_OPTION
        mock_args.directory = '/foo/temp'
        mock_os_path_isfile.return_value = False
        mock_env.side_effect = ['/foo/conda', 'conda_env']
        mock_os_path_isdir.return_value = True

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_os_path_isdir.assert_called_once_with(mock_args.directory)
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')
示例#13
0
    def test_generate_command_asgi_service_option_directory(self, mock_os_path_isfile, mock_file, mock_env,
                                                            mock_os_path_isdir):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_ASGI_SERVICE_OPTION
        mock_args.directory = '/foo/temp'
        mock_os_path_isfile.return_value = False
        mock_env.side_effect = [8000, '/foo/conda', 'conda_env']
        mock_os_path_isdir.return_value = True

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_os_path_isdir.assert_called_with(mock_args.directory)
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')
示例#14
0
    def test_generate_command_asgi_service_option_distro(self, mock_os_path_isfile, mock_file, mock_env,
                                                         mock_distribution):
        mock_args = mock.MagicMock()
        mock_args.type = GEN_ASGI_SERVICE_OPTION
        mock_args.directory = None
        mock_os_path_isfile.return_value = False
        mock_env.side_effect = [8000, '/foo/conda', 'conda_env']
        mock_distribution.return_value = ('redhat', 'linux', '')

        generate_command(args=mock_args)

        mock_os_path_isfile.assert_called_once()
        mock_file.assert_called()
        mock_env.assert_any_call('TETHYS_PORT')
        mock_env.assert_any_call('CONDA_HOME')
        mock_env.assert_called_with('CONDA_ENV_NAME')