def test_multiple_pages(self): # create a user to test user = User.objects.create() # create a and save page to DB Page(title='My test page', content='test', author=user) Page(title='Another test page', content='test again', author=user) response = self.client.get('/') self.assertEqual(response.status_code, 200)
def test_page_slugify_on_save(self): """ Test if we generate the proper slug. """ user = User() user.save() page = Page(title="My Test Page", content="Test", author=user) page.save() page1 = Page(title="My Second - / Test Page", content="secont test", author=user) self.assertEqual(page.slug, "my-test-page")
def setUp(self): #Settings are kept in between tests, so we need to reset this: settings.IS_TESTING_WIKI = False #Make sure we create a user and sign up for a wiki first. User.objects.create_user('test', '*****@*****.**', 'test') self.assertTrue(self.client.login(username='******', password='******')) #Now create a wiki: r = self.client.post( '/signup/', { 'subdomain': 'mywiki', #'submit': 'Claim', 'title': 'My Excellent Wiki', }) self.failUnlessEqual(r.status_code, 302) #redirect #Now we force the middleware to pretend that we're in a subdomain. settings.IS_TESTING_WIKI = True #Create a HomePage so that settings can be set. w = Wiki.objects.get(tag='mywiki') p = Page() p.wiki = w p.tag = 'HomePage' p.content = 'Welcome to your new wiki!' p.ip_address = '127.0.0.1' p.save()
def test_page(self): response = self.client.get(self.addr, follow=True) self.assertRedirects(response, reverse('login') + "?next=" + self.addr) self.client.login(username="******", password="******") response = self.client.get(self.addr, follow=True) self.assertEqual(response.status_code, 200) for x in ('All Pages', 'Page Name', 'No wiki pages have been added yet'): self.assertContains(response, x) page = Page(slug="page") page.save() revision = Revision(page=page, content="page", content_html="", created_ip="0.0.0.0", created_at=datetime.now(), created_by=self.u) revision.save() response = self.client.get(self.addr, follow=True) self.assertEqual(response.status_code, 200) for x in ('Page', 'Last Edited', 'page'): self.assertContains(response, x)
def test_page_slugify_on_save(self): user = User() user.save() page = Page(title="My Test Page", content="test", author=user) page.save() self.assertEqual(page.slug, "my-test-page")
def test_page_slugify_on_save(self): """ Tests the slug generated when saving a page""" # Create a user for this test user = User() user.save() # Create and save Page to DB. page = Page(title="My Test Page", content="test", author=user) page.save() self.assertEqual(page.slug, 'my-test-page')
def test_was_published_recently_with_future_page(self): """ was_published_recently() returns False for questions whose pub_date is in the future. """ time = timezone.now() + datetime.timedelta(days=30) future_question = Page(pub_date=time) self.assertIs(future_question.was_published_recently(), False)
def test_page_slugify_on_save(self): """ Tests the slug generated when saving a Page. """ user = User() user.save() page = Page(title="My Test Page", content="test", author=user) page.save() self.assertEqual(page.slug, "my-test-page")
def test_page_slugify_on_save(self): """ Tests the slug generated when saving a page """ user = User() user.save() page = Page(title="My Test Page", content="test", author=user) page.save() #Make sure the slug that was generated in Page.save() matches what we think it should be self.assertEqual(page.slug, "my-test-page")
def __init__(self, user, page_tag): self.user = user self.page_tag = page_tag #Get page object try: self.page = Page.objects.filter(wiki = settings.WIKI, tag = page_tag).order_by('-id')[0] except IndexError: #If page doesn't exist, we pass a dummy Page object in so that we #use global perm. We need to set the Wiki object. self.page = Page(wiki = settings.WIKI)
def test_page_slugify_on_save(self): """Test the slug generated when saving a Page.""" #Create a user to properly test code user = User() user.save() page = Page(title="My Test Page", content="test", author=user) page.save() self.assertEqual(page.slug, 'my-test-page')
def save_page(request, page_name): content = request.POST['content'] try: page = Page.objects.get(pk=page_name) page.content = content except Page.DoesNotExist: page = Page(name=page_name, content=content) page.save() page = RequestContext(request, {'page': page}) return HttpResponseRedirect("/wiki/" + page_name + "/")
def test_single_page(self): user = User.objects.create() page = Page(title="Test Page", content="Test", author=user) page.save() response = self.client.get( reverse('wiki-details-page', args=[page.slug])) self.assertEqual(response.status_code, 200)
def test_page_slugify_on_save(self): """ Tests the slug generated when ssaving a Page. """ # Create a user for this test. user = User() user.save() # Create and save Page to database page = Page(title="My Test Page", content="test") page.save() self.assertEqual(page.slug, 'my-test-page')
def addPage(request): """ A view to create a new wiki page, or save an addition in progress """ name = request.matchdict['pagename'] if 'form.submitted' in request.params: session = DBSession() body = request.params['body'] page = Page(name, body) session.add(page) result = HTTPFound( location=route_url('viewPage', request, pagename=name)) else: result = { 'page': Page('', ''), 'save_url': route_url('addPage', request, pagename=name), 'logged_in': authenticated_userid(request) } return result
def test_page_slugify_on_save(self): '''test the slug generated when saving a page''' # create a user to test user = User() user.save() # create a and save page to DB page = Page(title='My test page', content='test', author=user) page.save() self.assertEqual(page.slug, 'my-test-page')
def test_page_load(self): '''tests to make sure the page is loading properly''' # create a user to test user = User.objects.create() # create a and save page to DB page = Page(title='My test page', content='test', author=user) page.save() response = self.client.get(f'/{page.slug}') self.assertEqual(response.status_code, 301)
def test_page_contents(self): '''tests if the page is displaying correctly''' # create a user to test user = User.objects.create() # create a and save page to DB page = Page(title='My test page', content='test', author=user) page.save() response = self.client.get(f'/{page.slug}') self.assertEqual(response.page.title, 'my test page')
def test_page_slugify_on_save(self): """ Tests the slug generated when saving a page """ user = User() user.save() page = Page( title="Charmander's Bio", content= "Charmander, known as Hitokage in Japan, is a Pokémon species in Nintendo's and Game Freak's Pokémon franchise.", author=user) page.save() #Make sure the slug that was generated in Page.save() matches what we think it should be self.assertEqual(page.slug, "charmanders-bio")
def test_page_slugify_on_save(self): """ Tests the slug generated when saving a Page.""" # Author is a required field in our model. # Create a user for this test and save it to the test database. user = User() user.save() # Create and save a new page to the test database. page = Page(title="My Test Page", content="test", author=user) page.save() # Make sure the slug that was generated in Page.save() matches the one we think it should be. self.assertEqual(page.slug, "my-test-page")
def test_page_edit(self): user = User.objects.create() user.save() page = Page(title="New Test Page", content="this is a test.", author=user) page.save() self.assertEqual(page.slug, "new-test-page") edit_info = {'title': 'A New Name', 'content': 'Some New Contetnet'} response = self.client.post(f'/page/{page.slug}/', edit_info) self.assertEqual(response.status_code, 302) page = Page.objects.get(id=1) self.assertEqual(page.title, 'A New Name')
def test_detail_page(self): user = User.objects.create() user.save() page = Page(title="New Test Page", content="this is a test.", author=user) page.save() self.assertEqual(page.slug, "new-test-page") response = self.client.get(f'/page/{page.slug}/') self.assertEqual(response.status_code, 200) self.assertContains(response, "this is a test.")
def save_page(request, page_name): content = request.POST.get("content", "") cate = request.POST.get("cate", "") try: page = Page.objects.get( pk=page_name.replace("?", "__").replace("/", "^^")) page.content = content page.cate = cate except Page.DoesNotExist: page = Page(name=page_name.replace("?", "__").replace("/", "^^"), content=content, cate=cate) page.save() return HttpResponseRedirect("/wiki/" + page_name + "/")
def get_page_or_temp(title): """ Attempts to retrieve a page from the provided id, otherwise returns a new page with using the provided id as its title. :param title: id of the page. :return: page matching provided id or temporary blank page. """ page = get_page(title) if page is None: page = Page(page_title=title) return page
def test_page_slugify_on_save(self): #Model's integration test """ Tests the slug generated when saving a Page. """ # Author is a required field in our model. # Create a user for this test and save it to the test database. #user = User.objects.create() #creates and saves a user just like the 2 lines below user = User() user.save() # Create and save a new page to the test database. page = Page(title="My Test Page", content="test", author=user) page.save() # Make sure the slug that was generated in Page.save() # matches what we think it should be. self.assertEqual(page.slug, "my-test-page")
def edit(req, pagename): if req.user.get_profile().banned: return HttpResponseRedirect( "/wiki/%s?error=%s" % (pagename, "Sorry banned users can't edit the wiki")) try: page = Page.objects.get(title__iexact=pagename) except: page = None if page and page.op_only and not req.user.is_staff: return HttpResponseRedirect( "/wiki/%s?error=%s" % (pagename, "Sorry only operators edit this page.")) if req.POST.has_key('body'): # We should save something #if req.POST.has_key( 'base_rev' ): # ^ TODO: Add super merging fun time. # ^ TODO: Add op-only check. if not page: page = Page(title=pagename, op_only=False) page.save() rev = Revision(author=req.user, pub_date=datetime.datetime.now(), body=req.POST['body'], page=page) rev.save() return HttpResponseRedirect("/wiki/%s" % pagename) if page: # try to fetch the last our last revision. revision = page.get_last_revision() wiki_title = page.title.replace('_', ' ') else: revision = None wiki_title = pagename.replace('_', ' ') c = RequestContext(req, { 'wiki_title': wiki_title, 'pagename': pagename, 'revision': revision }) return render_to_response("wiki/edit.html", c)
def EditPage(request, title): try: page = Page.objects.get(title=title) except Page.DoesNotExist: page = Page(title=title, content="") if request.method == 'GET': form = PageForm(instance=page) return render(request, 'wiki/edit.html', {'page': page, 'form': form}) if request.method == 'POST': form = PageForm(request.POST, instance=page) form.save() #page.content = request.POST['content'] #page.save() return HttpResponseRedirect(reverse('wiki:wikipage', args=(title, )))
def save_add(request): content = request.POST.get("content", "") page_name = request.POST.get("page_name", "") cate = request.POST.get("cate", "") date = request.POST.get("date", "") try: page = Page.objects.get( pk=page_name.replace("?", "__").replace("/", "^^")) return render_to_response("add.html", {"error": "Name already exist"}) except Page.DoesNotExist: page = Page(name=page_name.replace("?", "__").replace("/", "^^"), content=content, cate=cate, date=date) page.save() return HttpResponseRedirect("/browse")
def add_details(request, page_name): msg = {} if request.method == 'POST': content = request.POST.get("content", "") cate = request.POST.get("cate", "") date = request.POST.get("date", "") try: page = Page.objects.get(pk=page_name) page.content = content page.cate = cate page.date = date msg["status"] = "200 OK" except Page.DoesNotExist: page = Page(name=page_name, content=content, cate=cate, date=date) msg["status"] = "201 Empty" page.save() else: msg["status"] = "202 Invalid" return JsonResponse(msg)
def post(self, request, slug): form = PageForm(request.POST) if form.is_valid(): obj = Page() obj.title = form.cleaned_data['title'] obj.author = form.cleaned_data['author'] obj.slug = form.cleaned_data['slug'] obj.email = form.cleaned_data['email'] obj.content = form.cleaned_data['content'] obj.save() messages.add_message(request, messages.INFO, obj.title + ' has been successfully updated') return HttpResponseRedirect(reverse('wiki-list-page')) else: form = PageForm() page = Page.objects.get(slug=slug) return render(request, 'wiki/page.html', { 'page': page, 'form': form })