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)