You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2013/03/26 16:54:48 UTC
[1/3] git commit: [#6007] Give full names to the default projects
Updated Branches:
refs/heads/db/6007 [created] df1e4dfdf
[#6007] Give full names to the default projects
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/4c3f669d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/4c3f669d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/4c3f669d
Branch: refs/heads/db/6007
Commit: 4c3f669dd708b801f6e067f58a8f10fb5154ee9d
Parents: 0aa7bc0
Author: Dave Brondsema <db...@geek.net>
Authored: Mon Mar 25 13:56:43 2013 -0700
Committer: Dave Brondsema <db...@geek.net>
Committed: Tue Mar 26 11:54:34 2013 -0400
----------------------------------------------------------------------
Allura/allura/tests/functional/test_admin.py | 6 +++---
Allura/allura/websetup/bootstrap.py | 8 ++++----
2 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/4c3f669d/Allura/allura/tests/functional/test_admin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_admin.py b/Allura/allura/tests/functional/test_admin.py
index ad933ab..af2920b 100644
--- a/Allura/allura/tests/functional/test_admin.py
+++ b/Allura/allura/tests/functional/test_admin.py
@@ -27,7 +27,7 @@ def audits(*messages):
import pdb; pdb.set_trace()
for message in messages:
assert M.AuditLog.query.find(dict(
- message=re.compile(message))).count()
+ message=re.compile(message))).count(), 'Could not find "%s"' % message
class TestProjectAdmin(TestController):
@@ -35,10 +35,10 @@ class TestProjectAdmin(TestController):
self.app.get('/admin/')
with audits(
'change summary to Milkshakes are for crazy monkeys',
- 'change project name to Test Project',
+ 'change project name to My Test Project',
u'change short description to (\u00bf A Test Project \?){45}'):
self.app.post('/admin/update', params=dict(
- name='Test Project',
+ name='My Test Project',
shortname='test',
summary='Milkshakes are for crazy monkeys',
short_description=u'\u00bf A Test Project ?'.encode('utf-8') * 45,
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/4c3f669d/Allura/allura/websetup/bootstrap.py
----------------------------------------------------------------------
diff --git a/Allura/allura/websetup/bootstrap.py b/Allura/allura/websetup/bootstrap.py
index 09a1a91..6143210 100644
--- a/Allura/allura/websetup/bootstrap.py
+++ b/Allura/allura/websetup/bootstrap.py
@@ -175,12 +175,12 @@ def bootstrap(command, conf, vars):
p_projects.add_user(u_admin, ['Admin'])
p_users.add_user(u_admin, ['Admin'])
- p_allura = n_projects.register_project('allura', u_admin)
+ p_allura = n_projects.register_project('allura', u_admin, 'Allura')
u1 = make_user('Test User')
- p_adobe1 = n_adobe.register_project('adobe-1', u_admin)
+ p_adobe1 = n_adobe.register_project('adobe-1', u_admin, 'Adobe project 1')
p_adobe.add_user(u_admin, ['Admin'])
- p0 = n_projects.register_project('test', u_admin)
- p1 = n_projects.register_project('test2', u_admin)
+ p0 = n_projects.register_project('test', u_admin, 'Test Project')
+ p1 = n_projects.register_project('test2', u_admin, 'Test 2')
p0._extra_tool_status = [ 'alpha', 'beta' ]
sess = session(M.Neighborhood) # all the sessions are the same
[2/3] git commit: [#6007] Add helpful text and a list of projects to
the default nbhd wikis
Posted by br...@apache.org.
[#6007] Add helpful text and a list of projects to the default nbhd wikis
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/0aa7bc05
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/0aa7bc05
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/0aa7bc05
Branch: refs/heads/db/6007
Commit: 0aa7bc0540786063d1a3eb0ff388d7fdc1e4a161
Parents: d2678d1
Author: Dave Brondsema <db...@geek.net>
Authored: Mon Mar 25 13:53:08 2013 -0700
Committer: Dave Brondsema <db...@geek.net>
Committed: Tue Mar 26 11:54:34 2013 -0400
----------------------------------------------------------------------
Allura/allura/model/index.py | 2 +-
.../allura/tests/functional/test_neighborhood.py | 2 +-
Allura/allura/websetup/bootstrap.py | 35 ++++++++++++++-
3 files changed, 36 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/0aa7bc05/Allura/allura/model/index.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/index.py b/Allura/allura/model/index.py
index 3a93a0a..1b53eed 100644
--- a/Allura/allura/model/index.py
+++ b/Allura/allura/model/index.py
@@ -182,7 +182,7 @@ class Shortlink(object):
p_shortname = None
p_id = None
p_nbhd = None
- if hasattr(c, 'project'):
+ if getattr(c, 'project', None):
p_shortname = getattr(c.project, 'shortname', None)
p_id = getattr(c.project, '_id', None)
p_nbhd = c.project.neighborhood_id
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/0aa7bc05/Allura/allura/tests/functional/test_neighborhood.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_neighborhood.py b/Allura/allura/tests/functional/test_neighborhood.py
index 9c86a67..02e3760 100644
--- a/Allura/allura/tests/functional/test_neighborhood.py
+++ b/Allura/allura/tests/functional/test_neighborhood.py
@@ -34,7 +34,7 @@ class TestNeighborhood(TestController):
r = self.app.get('/adobe/wiki/')
assert r.location.endswith('/adobe/wiki/Home/')
r = r.follow()
- assert 'Welcome' in str(r), str(r)
+ assert 'This is the "Adobe" neighborhood' in str(r), str(r)
r = self.app.get('/adobe/admin/', extra_environ=dict(username='test-user'),
status=403)
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/0aa7bc05/Allura/allura/websetup/bootstrap.py
----------------------------------------------------------------------
diff --git a/Allura/allura/websetup/bootstrap.py b/Allura/allura/websetup/bootstrap.py
index 9614b99..09a1a91 100644
--- a/Allura/allura/websetup/bootstrap.py
+++ b/Allura/allura/websetup/bootstrap.py
@@ -5,7 +5,7 @@ import sys
import logging
import shutil
from collections import defaultdict
-from datetime import datetime
+from textwrap import dedent
import tg
from pylons import tmpl_context as c, app_globals as g
@@ -22,6 +22,8 @@ from allura.websetup import schema
from allura.command import EnsureIndexCommand
from allura.command import CreateTroveCategoriesCommand
+from forgewiki import model as WM
+
log = logging.getLogger(__name__)
def cache_test_data():
@@ -102,6 +104,37 @@ def bootstrap(command, conf, vars):
p_projects = project_reg.register_neighborhood_project(n_projects, [root], allow_register=True)
p_users = project_reg.register_neighborhood_project(n_users, [root])
p_adobe = project_reg.register_neighborhood_project(n_adobe, [root])
+
+ def set_nbhd_wiki_content(nbhd_proj, content):
+ wiki = nbhd_proj.app_instance('wiki')
+ page = WM.Page.query.get(app_config_id=wiki.config._id, title=wiki.root_page_name)
+ page.text = content
+
+ set_nbhd_wiki_content(p_projects, dedent('''
+ Welcome to the "Projects" neighborhood. It is the default neighborhood in Allura.
+ You can edit this wiki page as you see fit. Here's a few ways to get started:
+
+ [Register a new project](/p/add_project)
+
+ [Neighborhood administration](/p/admin)
+
+ [[projects show_total=yes]]
+ '''))
+ set_nbhd_wiki_content(p_users, dedent('''
+ This is the "Users" neighborhood. All users automatically get a user-project created for them, using their username.
+
+ [Neighborhood administration](/u/admin)
+
+ [[projects show_total=yes]]
+ '''))
+ set_nbhd_wiki_content(p_adobe, dedent('''
+ This is the "Adobe" neighborhood. It is just an example of having projects in a different neighborhood.
+
+ [Neighborhood administration](/adobe/admin)
+
+ [[projects show_total=yes]]
+ '''))
+
ThreadLocalORMSession.flush_all()
ThreadLocalORMSession.close_all()
[3/3] git commit: [#6007] Better installation of subproject in
bootstrap. Don't leave a c.user/project
Posted by br...@apache.org.
[#6007] Better installation of subproject in bootstrap. Don't leave a c.user/project
Default subproject is now named, not first tool in test project,
and with a wiki instead of no tools.
This also stops leaving a c.user and c.project around. So many tests
are updated to explicitly set up a c.user or c.project if they were
relying on that.
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/df1e4dfd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/df1e4dfd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/df1e4dfd
Branch: refs/heads/db/6007
Commit: df1e4dfdfe7713ed240e188339d12e4e4249aa59
Parents: 4c3f669
Author: Dave Brondsema <db...@geek.net>
Authored: Mon Mar 25 14:39:49 2013 -0700
Committer: Dave Brondsema <db...@geek.net>
Committed: Tue Mar 26 11:54:38 2013 -0400
----------------------------------------------------------------------
Allura/allura/lib/plugin.py | 9 ++-
Allura/allura/model/discuss.py | 2 +-
Allura/allura/model/project.py | 4 +-
Allura/allura/tests/functional/test_discuss.py | 3 +-
.../allura/tests/functional/test_neighborhood.py | 4 +-
Allura/allura/tests/functional/test_root.py | 10 ++-
Allura/allura/tests/model/test_project.py | 39 ++++++------
Allura/allura/tests/test_globals.py | 50 +++++++-------
Allura/allura/tests/test_mail_util.py | 2 +-
Allura/allura/tests/unit/test_post_model.py | 8 ++-
Allura/allura/websetup/bootstrap.py | 25 +++++---
11 files changed, 89 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/lib/plugin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index a3d01b8..f27b8bd 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -548,18 +548,21 @@ class ProjectRegistrationProvider(object):
g.post_event('project_created')
return p
- def register_subproject(self, project, name, user, install_apps):
+ def register_subproject(self, project, name, user, install_apps, project_name=None):
from allura import model as M
assert h.re_path_portion.match(name), 'Invalid subproject shortname'
shortname = project.shortname + '/' + name
+ ordinal = int(project.ordered_mounts(include_hidden=True)[-1]['ordinal']) + 1
sp = M.Project(
parent_id=project._id,
neighborhood_id=project.neighborhood_id,
shortname=shortname,
- name=name,
+ name=project_name or name,
database_uri=project.database_uri,
last_updated = datetime.utcnow(),
- is_root=False)
+ is_root=False,
+ ordinal=ordinal,
+ )
with h.push_config(c, project=sp):
M.AppConfig.query.remove(dict(project_id=c.project._id))
if install_apps:
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/model/discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/discuss.py b/Allura/allura/model/discuss.py
index 9d26242..58f301b 100644
--- a/Allura/allura/model/discuss.py
+++ b/Allura/allura/model/discuss.py
@@ -571,7 +571,7 @@ class Post(Message, VersionedArtifact, ActivityObject):
self.status = 'ok'
author = self.author()
security.simple_grant(
- self.acl, author.project_role()._id, 'moderate')
+ self.acl, author.project_role(self.project)._id, 'moderate')
self.commit()
if (c.app.config.options.get('PostingPolicy') == 'ApproveOnceModerated'
and author._id != None):
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/model/project.py
----------------------------------------------------------------------
diff --git a/Allura/allura/model/project.py b/Allura/allura/model/project.py
index 9f07f67..900b4e3 100644
--- a/Allura/allura/model/project.py
+++ b/Allura/allura/model/project.py
@@ -592,11 +592,11 @@ class Project(MappedClass, ActivityNode, ActivityObject):
if ac.tool_name == tool_type:
return ac
- def new_subproject(self, name, install_apps=True, user=None):
+ def new_subproject(self, name, install_apps=True, user=None, project_name=None):
if not h.re_path_portion.match(name):
raise exceptions.ToolError, 'Mount point "%s" is invalid' % name
provider = plugin.ProjectRegistrationProvider.get()
- return provider.register_subproject(self, name, user or c.user, install_apps)
+ return provider.register_subproject(self, name, user or c.user, install_apps, project_name=project_name)
def ordered_mounts(self, include_hidden=False):
'''Returns an array of a projects mounts (tools and sub-projects) in
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/tests/functional/test_discuss.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_discuss.py b/Allura/allura/tests/functional/test_discuss.py
index 596cf60..de25eee 100644
--- a/Allura/allura/tests/functional/test_discuss.py
+++ b/Allura/allura/tests/functional/test_discuss.py
@@ -108,7 +108,8 @@ class TestDiscuss(TestController):
# set wiki page private
from forgewiki.model import Page
page = Page.query.get(_id=thread.ref.artifact._id) # need to look up the page directly, so ming is aware of our change
- role_admin = M.ProjectRole.by_name('Admin')._id
+ project = M.Project.query.get(shortname='test')
+ role_admin = M.ProjectRole.by_name('Admin', project)._id
page.acl = [
M.ACE.allow(role_admin, M.ALL_PERMISSIONS),
M.DENY_ALL,
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/tests/functional/test_neighborhood.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_neighborhood.py b/Allura/allura/tests/functional/test_neighborhood.py
index 02e3760..cf28ff7 100644
--- a/Allura/allura/tests/functional/test_neighborhood.py
+++ b/Allura/allura/tests/functional/test_neighborhood.py
@@ -784,10 +784,12 @@ class TestNeighborhood(TestController):
extra_environ=dict(username='root'))
def test_add_a_project_link(self):
+ from pylons import tmpl_context as c
# Install Home tool for all neighborhoods
for nb in M.Neighborhood.query.find().all():
p = nb.neighborhood_project
- p.install_app('home', 'home', 'Home', ordinal=0)
+ with h.push_config(c, user=M.User.query.get()):
+ p.install_app('home', 'home', 'Home', ordinal=0)
r = self.app.get('/p/')
assert 'Add a Project' in r
r = self.app.get('/u/', extra_environ=dict(username='test-user'))
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/tests/functional/test_root.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/functional/test_root.py b/Allura/allura/tests/functional/test_root.py
index 3f4e7dd..b5ff8b3 100644
--- a/Allura/allura/tests/functional/test_root.py
+++ b/Allura/allura/tests/functional/test_root.py
@@ -11,6 +11,7 @@ Please read http://pythonpaste.org/webtest/ for more information.
"""
from tg import config
+from pylons import tmpl_context as c
from nose.tools import assert_equal
from ming.orm.ormsession import ThreadLocalORMSession
@@ -62,7 +63,7 @@ class TestRootController(TestController):
def test_project_browse(self):
com_cat = M.ProjectCategory.query.find(dict(label='Communications')).first()
fax_cat = M.ProjectCategory.query.find(dict(label='Fax')).first()
- M.Project.query.find(dict(name='adobe-1')).first().category_id = com_cat._id
+ M.Project.query.find(dict(shortname='adobe-1')).first().category_id = com_cat._id
response = self.app.get('/browse')
assert len(response.html.findAll('a',{'href':'/adobe/adobe-1/'})) == 1
assert len(response.html.findAll('a',{'href':'/adobe/adobe-2/'})) == 1
@@ -94,7 +95,8 @@ class TestRootController(TestController):
# Install home app
nb = M.Neighborhood.query.get(name='Adobe')
p = nb.neighborhood_project
- p.install_app('home', 'home', 'Home', ordinal=0)
+ with push_config(c, user=M.User.query.get(username='test-admin')):
+ p.install_app('home', 'home', 'Home', ordinal=0)
response = self.app.get('/adobe/')
projects = response.html.findAll('div',{'class':'border card'})
@@ -107,8 +109,8 @@ class TestRootController(TestController):
def test_neighborhood_project_browse(self):
com_cat = M.ProjectCategory.query.find(dict(label='Communications')).first()
fax_cat = M.ProjectCategory.query.find(dict(label='Fax')).first()
- M.Project.query.find(dict(name='adobe-1')).first().category_id = com_cat._id
- M.Project.query.find(dict(name='adobe-2')).first().category_id = fax_cat._id
+ M.Project.query.find(dict(shortname='adobe-1')).first().category_id = com_cat._id
+ M.Project.query.find(dict(shortname='adobe-2')).first().category_id = fax_cat._id
response = self.app.get('/adobe/browse')
assert len(response.html.findAll('a',{'href':'/adobe/adobe-1/'})) == 1
assert len(response.html.findAll('a',{'href':'/adobe/adobe-2/'})) == 1
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/tests/model/test_project.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/model/test_project.py b/Allura/allura/tests/model/test_project.py
index 5277d34..08dda33 100644
--- a/Allura/allura/tests/model/test_project.py
+++ b/Allura/allura/tests/model/test_project.py
@@ -2,7 +2,7 @@
"""
Model tests for project
"""
-from nose.tools import with_setup
+from nose.tools import with_setup, assert_equals, assert_in
from pylons import tmpl_context as c
from ming.orm.ormsession import ThreadLocalORMSession
@@ -22,23 +22,22 @@ def setUp():
def setup_with_tools():
setup_global_objects()
-@with_setup(setUp)
def test_project():
- assert type(c.project.sidebar_menu()) == list
- assert c.project.script_name in c.project.url()
+ assert_equals(type(c.project.sidebar_menu()), list)
+ assert_in(c.project.script_name, c.project.url())
old_proj = c.project
h.set_context('test/sub1', neighborhood='Projects')
- assert type(c.project.sidebar_menu()) == list
- assert type(c.project.sitemap()) == list
- assert c.project.sitemap()[0].label == 'Admin'
- assert old_proj in list(c.project.parent_iter())
+ assert_equals(type(c.project.sidebar_menu()), list)
+ assert_equals(type(c.project.sitemap()), list)
+ assert_equals(c.project.sitemap()[1].label, 'Admin')
+ assert_in(old_proj, list(c.project.parent_iter()))
h.set_context('test', 'wiki', neighborhood='Projects')
adobe_nbhd = M.Neighborhood.query.get(name='Adobe')
p = M.Project.query.get(shortname='adobe-1', neighborhood_id=adobe_nbhd._id)
# assert 'http' in p.url() # We moved adobe into /adobe/, not http://adobe....
- assert p.script_name in p.url()
- assert c.project.shortname == 'test'
- assert '<p>' in c.project.description_html
+ assert_in(p.script_name, p.url())
+ assert_equals(c.project.shortname, 'test')
+ assert_in('<p>', c.project.description_html)
c.project.uninstall_app('hello-test-mount-point')
ThreadLocalORMSession.flush_all()
@@ -65,7 +64,8 @@ def test_project():
c.app.config.breadcrumbs()
def test_subproject():
- sp = c.project.new_subproject('test-project-nose')
+ project = M.Project.query.get(shortname='test')
+ sp = project.new_subproject('test-project-nose')
spp = sp.new_subproject('spp')
ThreadLocalORMSession.flush_all()
sp.delete()
@@ -75,13 +75,14 @@ def test_subproject():
def test_anchored_tools():
c.project.neighborhood.anchored_tools = 'wiki:Wiki, tickets:Ticket'
c.project.install_app = MagicMock()
- assert c.project.sitemap()[0].label == 'Wiki'
- assert c.project.install_app.call_args[0][0] == 'tickets'
- assert c.project.ordered_mounts()[0]['ac'].tool_name == 'Wiki'
+ assert_equals(c.project.sitemap()[0].label, 'Wiki')
+ assert_equals(c.project.install_app.call_args[0][0], 'tickets')
+ assert_equals(c.project.ordered_mounts()[0]['ac'].tool_name, 'Wiki')
def test_set_ordinal_to_admin_tool():
- assert c.project.sitemap()
- assert c.project.app_config('admin').options.ordinal == 100
-
-
+ with h.push_config(c,
+ user=M.User.anonymous(),
+ project=M.Project.query.get(shortname='test')):
+ assert c.project.sitemap()
+ assert c.project.app_config('admin').options.ordinal == 100
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/tests/test_globals.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/test_globals.py b/Allura/allura/tests/test_globals.py
index 493787c..25dd021 100644
--- a/Allura/allura/tests/test_globals.py
+++ b/Allura/allura/tests/test_globals.py
@@ -82,44 +82,44 @@ def test_macros():
with h.push_context(p_nbhd.neighborhood_project._id):
r = g.markdown_wiki.convert('[[projects]]')
- assert '<img alt="test Logo"' in r, r
- assert '<img alt="sub1 Logo"' in r, r
+ assert '<img alt="Test Project Logo"' in r, r
+ assert '<img alt="A Subproject Logo"' in r, r
r = g.markdown_wiki.convert('[[projects labels=root]]')
- assert '<img alt="test Logo"' in r, r
- assert '<img alt="sub1 Logo"' not in r, r
+ assert '<img alt="Test Project Logo"' in r, r
+ assert '<img alt="A Subproject Logo"' not in r, r
r = g.markdown_wiki.convert('[[projects labels=sub1]]')
- assert '<img alt="test Logo"' not in r, r
- assert '<img alt="sub1 Logo"' in r, r
+ assert '<img alt="Test Project Logo"' not in r, r
+ assert '<img alt="A Subproject Logo"' in r, r
r = g.markdown_wiki.convert('[[projects labels=test]]')
- assert '<img alt="test Logo"' in r, r
- assert '<img alt="sub1 Logo"' in r, r
+ assert '<img alt="Test Project Logo"' in r, r
+ assert '<img alt="A Subproject Logo"' in r, r
r = g.markdown_wiki.convert('[[projects labels=test,root]]')
- assert '<img alt="test Logo"' in r, r
- assert '<img alt="sub1 Logo"' not in r, r
+ assert '<img alt="Test Project Logo"' in r, r
+ assert '<img alt="A Subproject Logo"' not in r, r
r = g.markdown_wiki.convert('[[projects labels=test,sub1]]')
- assert '<img alt="test Logo"' not in r, r
- assert '<img alt="sub1 Logo"' in r, r
+ assert '<img alt="Test Project Logo"' not in r, r
+ assert '<img alt="A Subproject Logo"' in r, r
r = g.markdown_wiki.convert('[[projects labels=root|sub1]]')
- assert '<img alt="test Logo"' in r, r
- assert '<img alt="sub1 Logo"' in r, r
+ assert '<img alt="Test Project Logo"' in r, r
+ assert '<img alt="A Subproject Logo"' in r, r
r = g.markdown_wiki.convert('[[projects labels=test,root|root,sub1]]')
- assert '<img alt="test Logo"' in r, r
- assert '<img alt="sub1 Logo"' not in r, r
+ assert '<img alt="Test Project Logo"' in r, r
+ assert '<img alt="A Subproject Logo"' not in r, r
r = g.markdown_wiki.convert('[[projects labels=test,root|test,sub1]]')
- assert '<img alt="test Logo"' in r, r
- assert '<img alt="sub1 Logo"' in r, r
+ assert '<img alt="Test Project Logo"' in r, r
+ assert '<img alt="A Subproject Logo"' in r, r
r = g.markdown_wiki.convert('[[projects show_total=True sort=random]]')
assert '<p class="macro_projects_total">3 Projects</p>' in r, r
r = g.markdown_wiki.convert('[[projects show_total=True private=True sort=random]]')
assert '<p class="macro_projects_total">1 Projects</p>' in r, r
- assert '<img alt="test2 Logo"' in r, r
- assert '<img alt="test Logo"' not in r, r
- assert '<img alt="sub1 Logo"' not in r, r
+ assert '<img alt="Test 2 Logo"' in r, r
+ assert '<img alt="Test Project Logo"' not in r, r
+ assert '<img alt="A Subproject Logo"' not in r, r
r = g.markdown_wiki.convert('[[projects show_proj_icon=True]]')
- assert '<img alt="test Logo"' in r
+ assert '<img alt="Test Project Logo"' in r
r = g.markdown_wiki.convert('[[projects show_proj_icon=False]]')
- assert '<img alt="test Logo"' not in r
+ assert '<img alt="Test Project Logo"' not in r
c.project = curr_project
r = g.markdown_wiki.convert('[[download_button]]')
@@ -352,7 +352,7 @@ def test_filtering():
# set up for test
from random import choice
random_trove = choice(M.TroveCategory.query.find().all())
- test_project = M.Project.query.get(name='test')
+ test_project = M.Project.query.get(shortname='test')
test_project_troves = getattr(test_project, 'trove_' + random_trove.type)
test_project_troves.append(random_trove._id)
ThreadLocalORMSession.flush_all()
@@ -425,7 +425,7 @@ def test_hideawards_macro():
award.full = u'Award full'
award.created_by_neighborhood_id = p_nbhd._id
- project = M.Project.query.get(neighborhood_id=p_nbhd._id, name=u'test')
+ project = M.Project.query.get(neighborhood_id=p_nbhd._id, shortname=u'test')
award_grant = M.AwardGrant(award=award,
granted_by_neighborhood=p_nbhd,
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/tests/test_mail_util.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/test_mail_util.py b/Allura/allura/tests/test_mail_util.py
index 82b1366..090d710 100644
--- a/Allura/allura/tests/test_mail_util.py
+++ b/Allura/allura/tests/test_mail_util.py
@@ -46,7 +46,7 @@ class TestReactor(unittest.TestCase):
def test_parse_address_good(self):
topic, project, app = parse_address('foo@wiki.test.p' + config.common_suffix)
assert_equal(topic, 'foo')
- assert_equal(project.name, 'test')
+ assert_equal(project.shortname, 'test')
assert_equal(app.__class__.__name__, 'ForgeWikiApp')
def test_unicode_simple_message(self):
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/tests/unit/test_post_model.py
----------------------------------------------------------------------
diff --git a/Allura/allura/tests/unit/test_post_model.py b/Allura/allura/tests/unit/test_post_model.py
index 9cec1c9..525a9ce 100644
--- a/Allura/allura/tests/unit/test_post_model.py
+++ b/Allura/allura/tests/unit/test_post_model.py
@@ -1,3 +1,7 @@
+from pylons import tmpl_context as c
+
+from allura.lib import helpers as h
+from allura import model as M
from allura.tests.unit import WithDatabase
from allura.tests.unit import patches
from allura.tests.unit.factories import create_post
@@ -15,6 +19,6 @@ class TestPostModel(WithDatabase):
assert self.post.status == 'pending'
def test_that_it_can_be_approved(self):
- self.post.approve()
+ with h.push_config(c, user=M.User()):
+ self.post.approve()
assert self.post.status == 'ok'
-
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/df1e4dfd/Allura/allura/websetup/bootstrap.py
----------------------------------------------------------------------
diff --git a/Allura/allura/websetup/bootstrap.py b/Allura/allura/websetup/bootstrap.py
index 6143210..6157496 100644
--- a/Allura/allura/websetup/bootstrap.py
+++ b/Allura/allura/websetup/bootstrap.py
@@ -17,6 +17,7 @@ from ming.orm.ormsession import ThreadLocalORMSession
import allura
from allura.lib import plugin
+from allura.lib import helpers as h
from allura import model as M
from allura.websetup import schema
from allura.command import EnsureIndexCommand
@@ -69,7 +70,6 @@ def bootstrap(command, conf, vars):
log.error('Error clearing solr index')
if asbool(conf.get('cache_test_data')):
if restore_test_data():
- from allura.lib import helpers as h
h.set_context('test', neighborhood='Projects')
return
log.info('Initializing search')
@@ -190,10 +190,8 @@ def bootstrap(command, conf, vars):
# TODO: Hope that Ming can be improved to at least avoid stuff below
sess.flush(x)
- c.project = p0
- c.user = u_admin
- p1 = p0.new_subproject('sub1')
ThreadLocalORMSession.flush_all()
+
if asbool(conf.get('load_test_data')):
if asbool(conf.get('cache_test_data')):
cache_test_data()
@@ -201,10 +199,21 @@ def bootstrap(command, conf, vars):
# regular first-time setup
p0.add_user(u_admin, ['Admin'])
log.info('Registering initial apps')
- for ep_name, app in g.entry_points['tool'].iteritems():
- if not app.installable:
- continue
- p0.install_app(ep_name)
+ with h.push_config(c, user=u_admin):
+ for ep_name, app in g.entry_points['tool'].iteritems():
+ if not app.installable:
+ continue
+ p0.install_app(ep_name)
+
+ # reload our p0 project so that p0.app_configs is accurate with all the newly installed apps
+ ThreadLocalORMSession.flush_all()
+ ThreadLocalORMSession.close_all()
+ p0 = M.Project.query.get(_id=p0._id)
+ sub = p0.new_subproject('sub1', project_name='A Subproject')
+ with h.push_config(c, user=u_admin):
+ sub.install_app('wiki')
+
+
ThreadLocalORMSession.flush_all()
ThreadLocalORMSession.close_all()