Skip to content

Commit

Permalink
Merge pull request mozilla-services#3250 from peterbe/bug-1257146-pro…
Browse files Browse the repository at this point in the history
…duct-build-types-pure-implementation

fixes bug 1257146 - Product build types pure implementation
adngdb committed Mar 24, 2016

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
2 parents 1b69ebc + 63f4b7e commit e95020b
Showing 5 changed files with 58 additions and 62 deletions.
2 changes: 1 addition & 1 deletion socorro/external/postgresql/product_build_types.py
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@ def get(self, **kwargs):
sql = """
SELECT
build_type,
throttle
throttle::REAL
FROM product_build_types
WHERE product_name = %(product)s
"""
1 change: 0 additions & 1 deletion socorro/middleware/middleware_app.py
Original file line number Diff line number Diff line change
@@ -53,7 +53,6 @@
),
(r'/field/(.*)', 'field.Field'),
(r'/priorityjobs/(.*)', 'priorityjobs.Priorityjobs'),
(r'/products/build_types/(.*)', 'product_build_types.ProductBuildTypes'),
(r'/products/(.*)', 'products.Products'), # deprecated
(r'/query/', 'query.Query'),
(r'/releases/(channels|featured|release)/(.*)', 'releases.Releases'),
Original file line number Diff line number Diff line change
@@ -2,8 +2,6 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

from decimal import Decimal

from nose.tools import eq_, assert_raises

from socorro.external import MissingArgumentError
@@ -91,8 +89,8 @@ def test_get(self):
res = product_build_types.get(product='Firefox')
res_expected = {
'hits': {
'release': Decimal('0.2'),
'beta': Decimal('1.0'),
'release': 0.2,
'beta': 1.0,
}
}
eq_(res, res_expected)
5 changes: 4 additions & 1 deletion webapp-django/crashstats/crashstats/models.py
Original file line number Diff line number Diff line change
@@ -26,6 +26,7 @@
import socorro.external.postgresql.gccrashes
import socorro.external.postgresql.crontabber_state
import socorro.external.postgresql.adi
import socorro.external.postgresql.product_build_types

from socorrolib.app import socorro_app

@@ -1723,7 +1724,9 @@ class ADI(SocorroMiddleware):

class ProductBuildTypes(SocorroMiddleware):

URL_PREFIX = '/products/build_types/'
implementation = (
socorro.external.postgresql.product_build_types.ProductBuildTypes
)

required_params = (
'product',
106 changes: 51 additions & 55 deletions webapp-django/crashstats/crashstats/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -883,18 +883,17 @@ def mocked_adi_get(**options):

models.ADI.implementation().get.side_effect = mocked_adi_get

def mocked_get(url, params, **options):
if '/products/build_types/' in url:
return Response({
'hits': {
'release': 0.1,
'beta': 1.0,
}
})

raise NotImplementedError(url)
def mocked_product_build_types_get(**options):
return {
'hits': {
'release': 0.1,
'beta': 1.0,
}
}

rget.side_effect = mocked_get
models.ProductBuildTypes.implementation().get.side_effect = (
mocked_product_build_types_get
)

def mocked_supersearch_get(**params):
end_date = timezone.now().date()
@@ -970,18 +969,17 @@ def mocked_adi_get(**options):

models.ADI.implementation().get.side_effect = mocked_adi_get

def mocked_get(url, params, **options):
if '/products/build_types/' in url:
return Response({
'hits': {
'release': 0.1,
'beta': 1.0,
}
})

raise NotImplementedError(url)
def mocked_product_build_types_get(**options):
return {
'hits': {
'release': 0.1,
'beta': 1.0,
}
}

rget.side_effect = mocked_get
models.ProductBuildTypes.implementation().get.side_effect = (
mocked_product_build_types_get
)

def mocked_supersearch_get(**params):
return {
@@ -1063,18 +1061,17 @@ def mocked_adi_get(**options):

models.ADI.implementation().get.side_effect = mocked_adi_get

def mocked_get(url, params, **options):
if '/products/build_types/' in url:
return Response({
'hits': {
'release': 0.1,
'beta': 1.0,
}
})

raise NotImplementedError(url)
def mocked_product_build_types_get(**options):
return {
'hits': {
'release': 0.1,
'beta': 1.0,
}
}

rget.side_effect = mocked_get
models.ProductBuildTypes.implementation().get.side_effect = (
mocked_product_build_types_get
)

def mocked_supersearch_get(**params):
return {
@@ -2189,18 +2186,17 @@ def mocked_adi_get(**options):
start_date += datetime.timedelta(days=1)
return response

def mocked_get(url, params, **options):
if '/products/build_types/' in url:
return Response({
'hits': {
'release': 0.1,
'beta': 1.0,
}
})

raise NotImplementedError(url)
def mocked_product_build_types_get(**options):
return {
'hits': {
'release': 0.1,
'beta': 1.0,
}
}

rget.side_effect = mocked_get
models.ProductBuildTypes.implementation().get.side_effect = (
mocked_product_build_types_get
)

models.ADI.implementation().get.side_effect = mocked_adi_get

@@ -2387,15 +2383,17 @@ def mocked_adi_get(**options):

models.ADI.implementation().get.side_effect = mocked_adi_get

def mocked_get(url, params, **options):
if '/products/build_types/' in url:
return Response({
'hits': {
'release': 0.1,
'beta': 1.0,
}
})
raise NotImplementedError(url)
def mocked_product_build_types_get(**options):
return {
'hits': {
'release': 0.1,
'beta': 1.0,
}
}

models.ProductBuildTypes.implementation().get.side_effect = (
mocked_product_build_types_get
)

def mocked_product_versions(**params):
end_date = timezone.now().strftime('%Y-%m-%d')
@@ -2446,8 +2444,6 @@ def mocked_product_versions(**params):
mocked_product_versions
)

rget.side_effect = mocked_get

def mocked_supersearch_get(**params):
eq_(params['product'], ['WaterWolf'])
eq_(params['version'], ['19.0', '18.0b1', '18.0b'])

0 comments on commit e95020b

Please sign in to comment.