def testIsProtocolRequest(self): # No command => not protocol request hgaccess = MercurialAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/hg/storageauthtest', '')) self.assertFalse(hgaccess.is_protocol_request()) # Not protocol command => not protocol request hgaccess = MercurialAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/hg/storageauthtest', 'cmd=log')) self.assertFalse(hgaccess.is_protocol_request()) # Path continues after project name => not protocol request hgaccess = MercurialAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/hg/storageauthtest/branches', 'cmd=log')) self.assertFalse(hgaccess.is_protocol_request()) # Ending slash in the request and wrong command, => not protocol request hgaccess = MercurialAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/hg/storageauthtest/', 'cmd=log')) self.assertFalse(hgaccess.is_protocol_request()) # Ending slash in the request but no path, => protocol request hgaccess = MercurialAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/hg/storageauthtest/', 'cmd=branches')) self.assertTrue(hgaccess.is_protocol_request()) # Valid cmd, valid path => protocol request hgaccess = MercurialAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/hg/storageauthtest', 'cmd=branches&foo=bar')) self.assertTrue(hgaccess.is_protocol_request()) # Valid cmd, valid path => protocol request hgaccess = MercurialAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/hg/storageauthtest', 'foo=bar&cmd=branches')) self.assertTrue(hgaccess.is_protocol_request())