You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by ke...@apache.org on 2019/11/27 16:09:27 UTC

[allura] branch kt/trove_admin_refactor updated: fixup! fixup! Refactor some trove admin bits, add some test coverage

This is an automated email from the ASF dual-hosted git repository.

kentontaylor pushed a commit to branch kt/trove_admin_refactor
in repository https://gitbox.apache.org/repos/asf/allura.git


The following commit(s) were added to refs/heads/kt/trove_admin_refactor by this push:
     new 374da47  fixup! fixup! Refactor some trove admin bits, add some test coverage
374da47 is described below

commit 374da47461ae93aa3412d3360638fcd407ac649a
Author: Kenton Taylor <kt...@slashdotmedia.com>
AuthorDate: Wed Nov 27 16:09:16 2019 +0000

    fixup! fixup! Refactor some trove admin bits, add some test coverage
---
 Allura/allura/controllers/trovecategories.py         |  4 ++--
 Allura/allura/tests/functional/test_trovecategory.py | 20 ++++++++++++++++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/Allura/allura/controllers/trovecategories.py b/Allura/allura/controllers/trovecategories.py
index 133638a..91450fd 100644
--- a/Allura/allura/controllers/trovecategories.py
+++ b/Allura/allura/controllers/trovecategories.py
@@ -39,7 +39,7 @@ class F(object):
 
 
 class TroveAdminException(Exception):
-    def __init__(self, flash_args, redir_params, upper):
+    def __init__(self, flash_args, redir_params='', upper=None):
         super(TroveAdminException, self).__init__()
 
         self.flash_args = flash_args
@@ -126,7 +126,7 @@ class TroveCategoryController(BaseController):
 
         newid = max(
             [el.trove_cat_id for el in M.TroveCategory.query.find()]) + 1
-        shortname = h.slugify(shortname or name)[1]
+        shortname = h.slugify(shortname or name, True)[1]
 
         if upper:
             trove_type = upper.fullpath.split(' :: ')[0]
diff --git a/Allura/allura/tests/functional/test_trovecategory.py b/Allura/allura/tests/functional/test_trovecategory.py
index ceeeaaa..2dc438f 100644
--- a/Allura/allura/tests/functional/test_trovecategory.py
+++ b/Allura/allura/tests/functional/test_trovecategory.py
@@ -179,3 +179,23 @@ class TestTroveCategoryController(TestController):
         assert_equal(possible[0].fullname, 'New Child')
         assert_equal(possible[0].shortname, 'new-child')
         assert_equal(possible[0].trove_parent_id, 2)
+
+        # test slugify with periods. the relevant form becomes the third, after a child has been created above.
+        r = self.app.get('/categories/2')
+        form = r.forms[3]
+        form['categoryname'].value = "New Child.io"
+        form.submit()
+        possible = M.TroveCategory.query.find(dict(fullname='New Child.io')).all()
+        assert_equal(possible[0].shortname, 'new-child.io')
+
+    def test_create_child_bad_upper(self):
+        self.create_some_cats()
+        session(M.TroveCategory).flush()
+        r = self.app.get('/categories/2')
+
+        form = r.forms[2]
+        form['categoryname'].value = "New Child"
+        form['uppercategory_id'].value = "541561615"
+        r = form.submit().follow()
+
+        assert 'Invalid upper category' in r.text