Merge lp:~bac/charmworld/bug-1240576 into lp:~juju-jitsu/charmworld/trunk
Proposed by
Brad Crittenden
Status: | Merged |
---|---|
Merged at revision: | 425 |
Proposed branch: | lp:~bac/charmworld/bug-1240576 |
Merge into: | lp:~juju-jitsu/charmworld/trunk |
Diff against target: |
85 lines (+34/-3) 2 files modified
charmworld/views/api.py (+1/-1) charmworld/views/tests/test_api.py (+33/-2) |
To merge this branch: | bzr merge lp:~bac/charmworld/bug-1240576 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Juju-Jitsu Hackers | Pending | ||
Review via email: mp+192074@code.launchpad.net |
Description of the change
Parse charms with hyphens properly.
To post a comment you must log in.
Reviewers: mp+192074_ code.launchpad. net,
Message:
Please take a look.
Description:
Parse charms with hyphens properly.
https:/ /code.launchpad .net/~bac/ charmworld/ bug-1240576/ +merge/ 192074
(do not edit description out of merge proposal)
Please review this at https:/ /codereview. appspot. com/15580047/
Affected files (+23, -1 lines): views/api. py views/tests/ test_api. py
A [revision details]
M charmworld/
M charmworld/
Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: <email address hidden>
+New revision: <email address hidden>
Index: charmworld/ views/api. py views/api. py' views/api. py 2013-10-17 18:38:21 +0000 views/api. py 2013-10-22 00:33:12 +0000 -1].rsplit( '-', 1)
=== modified file 'charmworld/
--- charmworld/
+++ charmworld/
@@ -407,7 +407,7 @@
if len(elements) < 2:
raise ValueError('charm ID does not contain enough elements')
# If the charm ID includes a revision number, parse it out.
- if '-' in elements[-1]:
+ if re.search('-\d+$', elements[-1]):
name, revision = elements[
else:
name = elements[-1]
Index: charmworld/ views/tests/ test_api. py views/tests/ test_api. py' views/tests/ test_api. py 2013-10-18 18:53:19 +0000 views/tests/ test_api. py 2013-10-22 00:36:55 +0000
=== modified file 'charmworld/
--- charmworld/
+++ charmworld/
@@ -1729,6 +1729,9 @@
return names
+# XXX: Rick Harding 2013-10-21:
+# Odd bug requires these tests to be run last, hence the Z in the name to
+# force it to be last.
class TestZAPI3(TestAPI, API3Mixin):
"""Test API 3."""
@@ -1809,6 +1812,20 @@
self. assertEqual( 200, response. status_ code)
self. assertEqual( response. json_body, new_charm)
+ def test_charm_ no_revision_ with_hyphen( self): index_client( ) 1)[1] 2)[1] charm_id = self.get_ id(old_ charm). rsplit( '-', 1)[0] response( 'charm' , revisionless_ charm_id) l(200, response. status_ code) l(response. json_body, new_charm) interesting_ contains_ charms_ and_bundles( self):
self. use_index_ client( ) indexed_ bundle( name='bat' )
self. assertItemsEqua l(expected, list_names( result[ 'featured' ]))
+ """Retrieving a charm with no revision results in the latest
one."""
+ self.use_
+ # Make a charm.
+ old_charm = self.make_charm(
+ owner='owner', series='series', name='a-name',
store_revision=
+ # Make a newer revision of the same charm.
+ new_charm = self.make_charm(
+ owner='owner', series='series', name='a-name',
store_revision=
+ revisionless_
+ response = self.get_
remainder=
+ self.assertEqua
+ self.assertEqua
+
def test_search_
bundle = self.make_
@@ -1825,6 +1842,9 @@
+# XXX: Rick Harding 2013-10-21:
+# Odd bug requires these tests to be run last, hence the Z in the name to
+# force it to be last.
class TestZAPI2(TestAPI, API2Mixin):
"""Test API 2."""