예제 #1
0
    def testAccess(self):
        conf.use_test_db(True)
        self.load_fixtures()

        # Cartman has read access to storageauthtest

        # Simple read cases when having read access
        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest', ''))
        self.assertTrue(gitaccess.is_authentic())
        self.assertTrue(gitaccess.has_permission())

        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git', ''))
        self.assertTrue(gitaccess.is_authentic())
        self.assertTrue(gitaccess.has_permission())

        # Simple write cases when having read access
        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git', 'service=git-receive-pack&some=other'))
        self.assertTrue(gitaccess.is_authentic())
        self.assertFalse(gitaccess.has_permission())

        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git', 'some=other&service=git-receive-pack'))
        self.assertTrue(gitaccess.is_authentic())
        self.assertFalse(gitaccess.has_permission())

        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git/refs/jotain/git-receive-pack', ''))
        self.assertTrue(gitaccess.is_authentic())
        self.assertFalse(gitaccess.has_permission())

        # Kenny has write access to storageauthtest

        # Simple read cases when having write access
        gitaccess = GITAccessControl(DummyReq('kenny', 'ohmygod', 'GET', '/git/storageauthtest', ''))
        self.assertTrue(gitaccess.is_authentic())
        self.assertTrue(gitaccess.has_permission())

        gitaccess = GITAccessControl(DummyReq('kenny', 'ohmygod', 'GET', '/git/storageauthtest.git', ''))
        self.assertTrue(gitaccess.is_authentic())
        self.assertTrue(gitaccess.has_permission())

        # Simple write cases when having write access
        gitaccess = GITAccessControl(DummyReq('kenny', 'ohmygod', 'GET', '/git/storageauthtest.git', 'service=git-receive-pack&some=other'))
        self.assertTrue(gitaccess.is_authentic())
        self.assertTrue(gitaccess.has_permission())

        gitaccess = GITAccessControl(DummyReq('kenny', 'ohmygod', 'GET', '/git/storageauthtest.git', 'some=other&service=git-receive-pack'))
        self.assertTrue(gitaccess.is_authentic())
        self.assertTrue(gitaccess.has_permission())

        gitaccess = GITAccessControl(DummyReq('kenny', 'ohmygod', 'GET', '/git/storageauthtest.git/refs/jotain/git-receive-pack', ''))
        self.assertTrue(gitaccess.is_authentic())
        self.assertTrue(gitaccess.has_permission())
예제 #2
0
    def testProjectIdentifier(self):
        conf.use_test_db(False)

        # Without .git
        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest', ''))
        self.assertEquals(gitaccess.environment_identifier(), 'storageauthtest')

        gitaccess = GITAccessControl(DummyReq('kenny', 'ohmygod', 'GET', '/git/iahedfba/dsfgas', ''))
        self.assertEquals(gitaccess.environment_identifier(), 'iahedfba')

        # With .git
        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git', ''))
        self.assertEquals(gitaccess.environment_identifier(), 'storageauthtest')

        gitaccess = GITAccessControl(DummyReq('kenny', 'ohmygod', 'GET', '/git/iahedfba.git/refs/HEAD', ''))
        self.assertEquals(gitaccess.environment_identifier(), 'iahedfba')
예제 #3
0
    def testIsRead(self):
        conf.use_test_db(False)

        # Simple read cases
        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest', ''))
        self.assertTrue(gitaccess.is_read())

        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git', ''))
        self.assertTrue(gitaccess.is_read())

        # Simple write cases
        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git', 'service=git-receive-pack&some=other'))
        self.assertFalse(gitaccess.is_read())

        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git', 'some=other&service=git-receive-pack'))
        self.assertFalse(gitaccess.is_read())

        gitaccess = GITAccessControl(DummyReq('cartman', 'cartmans_pw', 'GET', '/git/storageauthtest.git/refs/jotain/git-receive-pack', ''))
        self.assertFalse(gitaccess.is_read())