~xubuntu-dev/ubiquity/lp1437180_feh

« back to all changes in this revision

Viewing changes to tests/test_misc.py

  • Committer: Dmitrijs Ledkovs
  • Date: 2013-08-01 19:56:12 UTC
  • Revision ID: dmitrijs.ledkovs@canonical.com-20130801195612-cvc50juo6l88olq6
Properly drop privileges with pkexec by deriving UID/GID/username from
PKEXEC_UID.

Show diffs side-by-side

added added

removed removed

Lines of Context:
249
249
        os.getuid.return_value = 0
250
250
 
251
251
        pwd.getpwuid.return_value.pw_name = 'fakegrp'
 
252
        pwd.getpwuid.return_value.pw_gid = '1000'
252
253
        gr = mock.Mock()
253
254
        gr.gr_mem = ['fakegrp']
254
255
        gr.gr_gid = 1234
263
264
    @mock.patch('os.setgroups')
264
265
    def test_drop_privileges(self, *args):
265
266
        with EnvironmentVarGuard() as env:
266
 
            env['SUDO_UID'] = '1000'
267
 
            env['SUDO_GID'] = '1000'
 
267
            env['PKEXEC_UID'] = '1000'
268
268
            misc.drop_privileges()
269
269
        os.seteuid.assert_called_once_with(1000)
270
270
        os.setegid.assert_called_once_with(1000)
285
285
    def test_drop_all_privileges(self, *args):
286
286
        pwd.getpwuid.return_value.pw_dir = 'fakeusr'
287
287
        with EnvironmentVarGuardRestore():
288
 
            os.environ['SUDO_UID'] = '1000'
289
 
            os.environ['SUDO_GID'] = '1000'
 
288
            os.environ['PKEXEC_UID'] = '1000'
290
289
            misc.drop_all_privileges()
291
290
            os.setreuid.assert_called_once_with(1000, 1000)
292
291
            os.setregid.assert_called_once_with(1000, 1000)