def test_cmdrevoke_with_previously_given_grant_and_high_group_level(self):
     # GIVEN
     superadmin = FakeClient(self.console, name="superadmin", guid="superadminguid", groupBits=128)
     superadmin.connects("1")
     mike = FakeClient(self.console, name="mike", guid="mikeguid", groupBits=1)
     mike.connects("2")
     # WHEN
     superadmin.says("!cmdgrant mike cmdlevel")
     mike.groupBits = 64     # this 2 lines simulate mike being added as senioradmin
     mike._maxLevel = 80     # after he obtained a grant for command !cmdlevel he couldn't access before
     superadmin.clearMessageHistory()
     superadmin.says("!cmdrevoke mike cmdlevel")
     # THEN
     self.assertListEqual(['mike\'s grant for cmdlevel command has been removed',
                           'but his group level is high enough to access the command'], superadmin.message_history)
 def test_cmdrevoke_with_previously_given_grant_and_high_group_level(self):
     # GIVEN
     superadmin = FakeClient(self.console, name="superadmin", guid="superadminguid", groupBits=128)
     superadmin.connects("1")
     mike = FakeClient(self.console, name="mike", guid="mikeguid", groupBits=1)
     mike.connects("2")
     # WHEN
     superadmin.says("!cmdgrant mike cmdlevel")
     mike.groupBits = 64     # this 2 lines simulate mike being added as senioradmin
     mike._maxLevel = 80     # after he obtained a grant for command !cmdlevel he couldn't access before
     superadmin.clearMessageHistory()
     superadmin.says("!cmdrevoke mike cmdlevel")
     # THEN
     self.assertListEqual(['mike\'s grant for cmdlevel command has been removed',
                           'but his group level is high enough to access the command'], superadmin.message_history)