Chad Roberts 9e32872fb3 Fixing imports and no longer always running int tests
The horizon.utils.urlresolvers module no longer
exists, so we need to use django.core.urlresolvers.
The integration tests were always being run when
run_tests.sh was invoked.  That is not desirable.  This
patch addresses that by only running them when the
appropriate flags are passed.  Additionally, the
nose-exclude package is added to test-requriements.txt
to allow the exclusion of the integration test directories.  These 2 fixes are presented together
because tests would not pass individually, with each
patch failing on the other problem.

Change-Id: I5d3ccc8c8969992073f122f63df2c430f690a06c
Closes-Bug: #1538265
Closes-Bug: #1538159
2016-01-26 14:17:21 -05:00

96 lines
3.4 KiB
Python

# 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.
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tables
from horizon import tabs
from horizon.utils import memoized
from horizon import workflows
from sahara_dashboard.api import sahara as saharaclient
import sahara_dashboard.content.data_processing. \
data_sources.tables as ds_tables
import sahara_dashboard.content.data_processing. \
data_sources.tabs as _tabs
import sahara_dashboard.content.data_processing. \
data_sources.workflows.create as create_flow
import sahara_dashboard.content.data_processing. \
data_sources.workflows.edit as edit_flow
class DataSourcesView(tables.DataTableView):
table_class = ds_tables.DataSourcesTable
template_name = 'project/data_processing.data_sources/data_sources.html'
page_title = _("Data Sources")
def get_data(self):
try:
data_sources = saharaclient.data_source_list(self.request)
except Exception:
data_sources = []
exceptions.handle(self.request,
_("Unable to fetch data sources."))
return data_sources
class CreateDataSourceView(workflows.WorkflowView):
workflow_class = create_flow.CreateDataSource
success_url = \
"horizon:project:data_processing.data-sources:create-data-source"
classes = ("ajax-modal",)
template_name = "project/data_processing.data_sources/create.html"
page_title = _("Create Data Source")
class EditDataSourceView(CreateDataSourceView):
workflow_class = edit_flow.EditDataSource
page_title = _("Edit Data Source")
def get_context_data(self, **kwargs):
context = super(EditDataSourceView, self) \
.get_context_data(**kwargs)
context["data_source_id"] = kwargs["data_source_id"]
return context
def get_initial(self):
initial = super(EditDataSourceView, self).get_initial()
initial['data_source_id'] = self.kwargs['data_source_id']
return initial
class DataSourceDetailsView(tabs.TabView):
tab_group_class = _tabs.DataSourceDetailsTabs
template_name = 'horizon/common/_detail.html'
page_title = "{{ data_source.name|default:data_source.id }}"
@memoized.memoized_method
def get_object(self):
ds_id = self.kwargs["data_source_id"]
try:
return saharaclient.data_source_get(self.request, ds_id)
except Exception:
msg = _('Unable to retrieve details for data source "%s".') % ds_id
redirect = reverse(
"horizon:project:data_processing.data_sources:data-sources")
exceptions.handle(self.request, msg, redirect=redirect)
def get_context_data(self, **kwargs):
context = super(DataSourceDetailsView, self).get_context_data(**kwargs)
context['data_source'] = self.get_object()
return context