def test_no_nesting(self): """Test resolving an alias with no nested aliases.""" data = "Cmnd_Alias SECONDCMDS=/path/to/second/cmd" mopen = self.get_mock_open(data) with mock.patch(self.open_patch_id, mopen) as _: sudoobj = Sudoers(path=self.fake_path) res = sudoobj._resolve_aliases("Cmnd_Alias", "SECONDCMDS") self.assertEqual(res, ['/path/to/second/cmd'])
def test_single_nesting(self): """Test resolving an alias with single level of nested aliases.""" data = """ Cmnd_Alias CMDALIAS=FIRSTCMDS, SECONDCMDS Cmnd_Alias FIRSTCMDS=/path/to/first/cmd,/path/to/first/cmd2 Cmnd_Alias SECONDCMDS=/path/to/second/cmd """ mopen = self.get_mock_open(data) with mock.patch(self.open_patch_id, mopen) as _: sudoobj = Sudoers(path=self.fake_path) res1 = sudoobj._resolve_aliases("Cmnd_Alias", "CMDALIAS") res2 = sudoobj._resolve_aliases("Cmnd_Alias", "FIRSTCMDS") res3 = sudoobj._resolve_aliases("Cmnd_Alias", "SECONDCMDS") self.assertEqual(res1, [ '/path/to/first/cmd', '/path/to/first/cmd2', '/path/to/second/cmd' ]) self.assertEqual(res2, ['/path/to/first/cmd', '/path/to/first/cmd2']) self.assertEqual(res3, ['/path/to/second/cmd'])