Skip to content

Commit

Permalink
- Test coverage improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
afabiani committed May 7, 2018
1 parent bc5992a commit 27efde1
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 11 deletions.
24 changes: 14 additions & 10 deletions geonode/geoserver/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -902,16 +902,18 @@ def set_styles(layer, gs_catalog):
if not gs_layer:
gs_layer = gs_catalog.get_layer(layer.alternate)

if gs_layer and gs_layer.default_style:
default_style = gs_layer.default_style
else:
default_style = gs_catalog.get_style(layer.name, workspace=settings.DEFAULT_WORKSPACE) \
or gs_catalog.get_style(layer.name)
try:
gs_layer.default_style = default_style
gs_catalog.save(gs_layer)
except:
logger.exception("GeoServer Layer Default Style issues!")
if gs_layer:
if gs_layer.default_style:
default_style = gs_layer.default_style
else:
default_style = gs_catalog.get_style(layer.name, workspace=settings.DEFAULT_WORKSPACE) \
or gs_catalog.get_style(layer.name)
try:
gs_layer.default_style = default_style
gs_catalog.save(gs_layer)
except:
logger.exception("GeoServer Layer Default Style issues!")

if default_style:
layer.default_style = save_style(default_style)
# FIXME: This should remove styles that are no longer valid
Expand All @@ -929,7 +931,9 @@ def set_styles(layer, gs_catalog):
to_update = {
'default_style': layer.default_style
}

Layer.objects.filter(id=layer.id).update(**to_update)
layer.refresh_from_db()
return layer


Expand Down
7 changes: 7 additions & 0 deletions geonode/geoserver/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,6 +561,13 @@ def test_style_manager(self):
layer.alternate,)))
self.assertEqual(response.status_code, 200)

form_data = {'default_style': 'polygon'}
response = self.client.post(
reverse(
'layer_style_manage', args=(
layer.alternate,)), data=form_data)
self.assertEquals(response.status_code, 302)

@on_ogc_backend(geoserver.BACKEND_PACKAGE)
def test_style_validity_and_name(self):
# Check that including an SLD with a valid shapefile results in the SLD
Expand Down
5 changes: 4 additions & 1 deletion geonode/geoserver/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -282,9 +282,13 @@ def layer_style_manage(request, layername):
try:
selected_styles = request.POST.getlist('style-select')
default_style = request.POST['default_style']

# Save to GeoServer
cat = gs_catalog
gs_layer = cat.get_layer(layer.name)
if not gs_layer:
gs_layer = cat.get_layer(layer.alternate)

if gs_layer:
gs_layer.default_style = cat.get_style(default_style, workspace=settings.DEFAULT_WORKSPACE) or \
cat.get_style(default_style)
Expand All @@ -299,7 +303,6 @@ def layer_style_manage(request, layername):

# Save to Django
layer = set_styles(layer, cat)
layer.save()

# Invalidate GeoWebCache for the updated resource
_invalidate_geowebcache_layer(layer.alternate)
Expand Down

0 comments on commit 27efde1

Please sign in to comment.