def setUp(self): super().setUp() self.repo = repository.Repository() if self.path is None: raise ValueError("Forgot to declare a path!") self.path = Path(self.path) self.user = factories.UserFactory(password="******") assert self.client.login(username=self.user.username, password="******") git_obj = self.repo.open(self.path) self.git_obj = git_obj if git_obj.type == pygit2.GIT_OBJ_BLOB: # Permission to parent path parent = self.path.parent self.permission = factories.TreePermissionFactory( parent_path=parent.parent, name=parent.name, user=self.user) # Blob object self.blob = factories.BlobFactory.from_blob(self.git_obj) elif git_obj.type == pygit2.GIT_OBJ_TREE: # Permission to itself factories.TreePermissionFactory(parent_path=self.path.parent, name=self.path.name, user=self.user)
def setUp(self): super(BaseViewTestCase, self).setUp() self.storage = storage.GitStorage(self.location) if self.path is None: raise ValueError("Forgot to declare a path!") self.path = Path(self.path) self.user = factories.UserFactory(password="******") self.client.login(username=self.user.username, password="******") git_obj = self.storage.repository.open(self.path) if git_obj.type == pygit2.GIT_OBJ_BLOB: self.blob = git_obj # Permission to parent path parent = Path(self.path.parent_path) self.permission = factories.TreePermissionFactory( parent_path=parent.parent_path, name=parent.name, user=self.user ) # Blob metadata self.metadata = factories.BlobMetadataFactory(id=self.blob.hex, mimetype="text/plain") elif git_obj.type == pygit2.GIT_OBJ_TREE: self.tree = git_obj # Permission to itself factories.TreePermissionFactory(parent_path=self.path.parent_path, name=self.path.name, user=self.user)
def setUp(self): self.anonymous = factories.AnonymousUserFactory() self.superuser = factories.SuperUserFactory() self.user = factories.UserFactory(username="******") self.other_user = factories.UserFactory(username="******") self.permission = factories.TreePermissionFactory( parent_path="my/path", name="my_name", user=self.user)
def test_check_permissions(self): response = self.client.get(reverse('repo_browse', args=[self.path])) self.assertEqual(response.status_code, 200) user = factories.UserFactory(password="******") self.client.login(username=user.username, password="******") response = self.client.get(reverse('repo_browse', args=[self.path])) self.assertEqual(response.status_code, 403) factories.TreePermissionFactory(parent_path=self.path.parent_path, name=self.path.name, user=user) response = self.client.get(reverse('repo_browse', args=[self.path])) self.assertEqual(response.status_code, 200)
def test_post(self): user = factories.UserFactory() factories.TreePermissionFactory(parent_path=self.path.parent_path, name=self.path.name, user=user) response = self.client.post(reverse('tree_shares', args=[self.path])) self.assertEqual(response.status_code, 200) data = {'users': user.pk} response = self.client.post(reverse('tree_shares', args=[self.path]), data=data) self.assertEqual(response.status_code, 302) self.assertFalse( models.TreePermission.objects.filter(parent_path="foo/bar", name="baz", user=user).exists() ) # Re-remove the same response = self.client.post(reverse('tree_shares', args=[self.path]), data=data) self.assertEqual(response.status_code, 200)