def test_current_users(self): user1 = factories.UserFactory() user2 = factories.UserFactory() current_user_ids = [user1.pk] form = forms.AddUsersForm(current_user_ids) self.assertNotIn(user1, form.fields['users'].queryset) self.assertIn(user2, form.fields['users'].queryset)
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 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 test_post(self): user = factories.UserFactory() response = self.client.post(reverse("tree_share", args=[self.path])) self.assertEqual(response.status_code, 200) self.assertFalse( models.TreePermission.objects.filter(parent_path="foo/bar", name="baz", user=user).exists()) data = {"users": user.pk} response = self.client.post(reverse("tree_share", args=[self.path]), data=data) self.assertEqual(response.status_code, 302) self.assertTrue( models.TreePermission.objects.filter(parent_path="foo/bar", name="baz", user=user).exists()) # Re-add the same response = self.client.post(reverse("tree_share", args=[self.path]), data=data) self.assertEqual(response.status_code, 200)
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 test_label_from_instance(self): user = factories.UserFactory(first_name="John", last_name="Doe", email="*****@*****.**") field = forms.UsersChoiceField() choice = field.choices.choice(user) self.assertEqual(choice, (user.pk, "John Doe <*****@*****.**>"))
def test_dispatch_not_found(self): request = RequestFactory() request.user = factories.UserFactory() view = views.DummyTreeView() self.assertRaises(Http404, view.dispatch, request, path=Path("tot/coin"))
def test_check_permission(self): user = factories.UserFactory(password="******") assert self.client.login(username=user.username, password="******") response = self.client.get(reverse("repo_browse", args=[""])) self.assertEqual(response.status_code, 403) superuser = factories.SuperUserFactory(password="******") assert self.client.login(username=superuser.username, password="******") response = self.client.get(reverse("repo_browse", args=[""])) self.assertEqual(response.status_code, 200)
def test_filter_hidden(self): request = RequestFactory() request.user = factories.UserFactory() view = views.DummyTreeView(request=request, path=Path("path/with/hidden"), storage=self.storage) blobs = view.filter_blobs() self.assertNotIn(".file", [entry['name'] for entry in blobs]) trees = view.filter_trees(view.path) self.assertNotIn(".directory", [entry['name'] for entry in trees])
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_check_permissions(self): view = views.DummyRepositoryView() self.assertRaises(NotImplementedError, view.check_permissions) request = RequestFactory() request.user = factories.UserFactory() view = views.DummyAdminShareView(request=request, path=Path("")) self.assertRaises(PermissionDenied, view.check_permissions) request = RequestFactory() request.user = factories.SuperUserFactory() view = views.DummyAdminShareView(request=request, path=Path("")) self.assertIsNone(view.check_permissions())
def test_set_author(self): user = factories.UserFactory(first_name="John", last_name="Doe", email="*****@*****.**") self.storage.save("toto.txt", SimpleUploadedFile("toto.txt", b'toto')) commit = self.storage.repository.commit self.assertEqual(commit.author.name, "Git Storage") self.assertEqual(commit.author.email, "git@storage") self.storage.set_author(user) self.storage.save("toto.txt", SimpleUploadedFile("toto.txt", b'toto')) commit = self.storage.repository.commit self.assertEqual(commit.author.name, "John Doe") self.assertEqual(commit.author.email, "*****@*****.**")
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)
def test_password(self): user = factories.UserFactory(password="******") self.assertTrue(user.check_password("passwd")) self.assertFalse(user.check_password("password"))
def test_user(self): factories.UserFactory(username="******") field = forms.UsersChoiceField() self.assertQuerysetEqual(field.queryset, ["john_doe"], transform=lambda obj: obj.username)