You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bloodhound.apache.org by Apache Bloodhound <de...@bloodhound.apache.org> on 2013/07/15 22:28:28 UTC

Re: [Apache Bloodhound] #579: ProductizedHref fails for dicts as first argument

#579: ProductizedHref fails for dicts as first argument
---------------------------+-----------------------
  Reporter:  olemis        |      Owner:  rjollos
      Type:  defect        |     Status:  review
  Priority:  major         |  Milestone:  Release 7
 Component:  multiproduct  |    Version:
Resolution:                |   Keywords:  web href
---------------------------+-----------------------
Changes (by rjollos):

 * owner:   => rjollos


Comment:

 I'm having trouble understanding how `ProductizedHref` should behave, and
 it's only used in two places so I've not had much success inferring the
 behavior. The only places I see it used are:
 {{{
 bloodhound/bloodhound_dashboard/bhdashboard/widgets/product.py:
 href = ProductizedHref(self.env, penv.href.base)
 bloodhound/bloodhound_multiproduct/multiproduct/hooks.py:
 self.href = ProductizedHref(env.parent.href, env.href.base)
 bloodhound/bloodhound_multiproduct/multiproduct/hooks.py:
 self.abs_href = ProductizedHref(env.parent.abs_href,
 }}}

 The use in `product.py` seems incorrect (passing an `Environment` object
 as the first argument rather than an `Href` argument), but it looks like
 you've already fixed that in #552.

 What is the expected output from your test case. I have guessed it should
 be `'/x/y/z?a=1&c=3&b=2`, but that's not what I'm seeing after writing a
 test case.

 You'll see that I've done two things:
  * Added a unit test to test the correct behavior and also document the
 intended behavior.
  * Modified the patch to first check that the first argument is a string
 before performing the other checks that depend on the first argument being
 a string.

 ----

 (In [1503454])

 Added a failing test case for `Href` contract violation. Refs #579.

 (In [1503456])

 Fix for `ProductizedHref` throwing an exception when a dictionary is the
 first argument. Refs #579.

-- 
Ticket URL: <https://issues.apache.org/bloodhound/ticket/579#comment:5>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker