d833ddb9d4
We currently have two jasmine tests, one in horizon and one in dashboard. We currently use two different templates and they are out of sync with each other. Furthermore, we should extend the sources list, not override it, because dashboard modules depends on code in horizon. This patch fixes these issues. Closes-bug: #1452446 Change-Id: I3fcbb1ea30b5e83a16f94fb31959270bd393593a
51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
#
|
|
# (c) Copyright 2015 Hewlett-Packard Development Company, L.P.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import inspect
|
|
import sys
|
|
|
|
import django.shortcuts
|
|
import django.views.defaults
|
|
|
|
|
|
def dispatcher(request, test_name):
|
|
# import is included in this non-standard location to avoid
|
|
# problems importing mox. See bug/1288245
|
|
from openstack_dashboard.test.jasmine import jasmine_tests as tests
|
|
classes = inspect.getmembers(sys.modules[tests.__name__],
|
|
inspect.isclass)
|
|
|
|
if not test_name:
|
|
return django.shortcuts.render(
|
|
request,
|
|
"horizon/jasmine/index.html",
|
|
{'classes': (cls_name for cls_name, _ in classes)}
|
|
)
|
|
else:
|
|
for cls_name, cls in classes:
|
|
if cls_name == test_name:
|
|
template = cls.template_name
|
|
|
|
if not template:
|
|
template = "horizon/jasmine/jasmine.html"
|
|
|
|
return django.shortcuts.render(
|
|
request,
|
|
template,
|
|
{'specs': cls.specs, 'sources': cls.sources,
|
|
'externalTemplates': cls.externalTemplates})
|
|
|
|
return django.views.defaults.page_not_found(request)
|