Merge "Rename Smaug Dashboard to Karbor"
This commit is contained in:
commit
fc4e973c5e
|
@ -14,4 +14,4 @@ Pull requests submitted through GitHub will be ignored.
|
||||||
|
|
||||||
Bugs should be filed on Launchpad, not GitHub:
|
Bugs should be filed on Launchpad, not GitHub:
|
||||||
|
|
||||||
https://bugs.launchpad.net/smaug-dashboard
|
https://bugs.launchpad.net/karbor-dashboard
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
smaug-dashboard Style Commandments
|
karbor-dashboard Style Commandments
|
||||||
===============================================
|
===============================================
|
||||||
|
|
||||||
Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/
|
Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/
|
||||||
|
|
|
@ -3,7 +3,7 @@ include README.rst
|
||||||
include ChangeLog
|
include ChangeLog
|
||||||
include LICENSE
|
include LICENSE
|
||||||
|
|
||||||
recursive-include smaug_dashboard/templates *
|
recursive-include karbor_dashboard/templates *
|
||||||
|
|
||||||
exclude .gitignore
|
exclude .gitignore
|
||||||
exclude .gitreview
|
exclude .gitreview
|
||||||
|
|
30
README.rst
30
README.rst
|
@ -1,20 +1,20 @@
|
||||||
===============================
|
===============================
|
||||||
smaug-dashboard
|
karbor-dashboard
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
Smaug Dashboard
|
Karbor Dashboard
|
||||||
|
|
||||||
* Free software: Apache license
|
* Free software: Apache license
|
||||||
* Source: http://git.openstack.org/cgit/openstack/smaug-dashboard
|
* Source: http://git.openstack.org/cgit/openstack/karbor-dashboard
|
||||||
* Bugs: http://bugs.launchpad.net/smaug-dashboard
|
* Bugs: http://bugs.launchpad.net/karbor-dashboard
|
||||||
|
|
||||||
Installation instructions
|
Installation instructions
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Begin by cloning the Horizon and Smaug Dashboard repositories::
|
Begin by cloning the Horizon and Karbor Dashboard repositories::
|
||||||
|
|
||||||
git clone https://git.openstack.org/openstack/horizon
|
git clone https://git.openstack.org/openstack/horizon
|
||||||
git clone https://git.openstack.org/openstack/smaug-dashboard
|
git clone https://git.openstack.org/openstack/karbor-dashboard
|
||||||
|
|
||||||
Create a virtual environment and install Horizon dependencies::
|
Create a virtual environment and install Horizon dependencies::
|
||||||
|
|
||||||
|
@ -35,20 +35,20 @@ editor. You will want to customize several settings:
|
||||||
OpenStack server to change them.)
|
OpenStack server to change them.)
|
||||||
|
|
||||||
|
|
||||||
Install Smaug Dashboard with all dependencies in your virtual environment::
|
Install Karbor Dashboard with all dependencies in your virtual environment::
|
||||||
|
|
||||||
tools/with_venv.sh pip install -e ../smaug-dashboard/
|
tools/with_venv.sh pip install -e ../karbor-dashboard/
|
||||||
|
|
||||||
And enable it in Horizon::
|
And enable it in Horizon::
|
||||||
|
|
||||||
cp ../smaug-dashboard/smaug_dashboard/enabled/_6000_data_protection.py openstack_dashboard/local/enabled
|
cp ../karbor-dashboard/karbor_dashboard/enabled/_6000_data_protection.py openstack_dashboard/local/enabled
|
||||||
cp ../smaug-dashboard/smaug_dashboard/enabled/_6010_data_protection_protection_plans_panel.py openstack_dashboard/local/enabled
|
cp ../karbor-dashboard/karbor_dashboard/enabled/_6010_data_protection_protection_plans_panel.py openstack_dashboard/local/enabled
|
||||||
cp ../smaug-dashboard/smaug_dashboard/enabled/_6020_data_protection_protection_providers_panel.py openstack_dashboard/local/enabled
|
cp ../karbor-dashboard/karbor_dashboard/enabled/_6020_data_protection_protection_providers_panel.py openstack_dashboard/local/enabled
|
||||||
cp ../smaug-dashboard/smaug_dashboard/enabled/_6030_data_protection_checkpoints_panel.py openstack_dashboard/local/enabled
|
cp ../karbor-dashboard/karbor_dashboard/enabled/_6030_data_protection_checkpoints_panel.py openstack_dashboard/local/enabled
|
||||||
cp ../smaug-dashboard/smaug_dashboard/enabled/_6040_data_protection_operation_logs_panel.py openstack_dashboard/local/enabled
|
cp ../karbor-dashboard/karbor_dashboard/enabled/_6040_data_protection_operation_logs_panel.py openstack_dashboard/local/enabled
|
||||||
cp ../smaug-dashboard/smaug_dashboard/enabled/_6050_data_protection_triggers_panel.py openstack_dashboard/local/enabled
|
cp ../karbor-dashboard/karbor_dashboard/enabled/_6050_data_protection_triggers_panel.py openstack_dashboard/local/enabled
|
||||||
|
|
||||||
To run horizon with the newly enabled Smaug Dashboard plugin run::
|
To run horizon with the newly enabled Karbor Dashboard plugin run::
|
||||||
|
|
||||||
./run_tests.sh --runserver 0.0.0.0:8080
|
./run_tests.sh --runserver 0.0.0.0:8080
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# plugin.sh - DevStack plugin.sh dispatch script smaug-dashboard
|
# plugin.sh - DevStack plugin.sh dispatch script karbor-dashboard
|
||||||
|
|
||||||
SMAUG_DASH_DIR=$(cd $(dirname $BASH_SOURCE)/.. && pwd)
|
KARBOR_DASH_DIR=$(cd $(dirname $BASH_SOURCE)/.. && pwd)
|
||||||
|
|
||||||
function install_smaug_dashboard {
|
function install_karbor_dashboard {
|
||||||
setup_develop ${SMAUG_DASH_DIR}
|
setup_develop ${KARBOR_DASH_DIR}
|
||||||
}
|
}
|
||||||
|
|
||||||
function configure_smaug_dashboard {
|
function configure_karbor_dashboard {
|
||||||
cp -a ${SMAUG_DASH_DIR}/smaug_dashboard/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/
|
cp -a ${KARBOR_DASH_DIR}/karbor_dashboard/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/
|
||||||
# NOTE: If locale directory does not exist, compilemessages will fail,
|
# NOTE: If locale directory does not exist, compilemessages will fail,
|
||||||
# so check for an existence of locale directory is required.
|
# so check for an existence of locale directory is required.
|
||||||
if [ -d ${SMAUG_DASH_DIR}/smaug_dashboard/locale ]; then
|
if [ -d ${KARBOR_DASH_DIR}/karbor_dashboard/locale ]; then
|
||||||
(cd ${SMAUG_DASH_DIR}/smaug_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages)
|
(cd ${KARBOR_DASH_DIR}/karbor_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages)
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# check for service enabled
|
# check for service enabled
|
||||||
if is_service_enabled smaug-dashboard; then
|
if is_service_enabled karbor-dashboard; then
|
||||||
|
|
||||||
if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
|
if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
|
||||||
# Set up system services
|
# Set up system services
|
||||||
|
@ -26,13 +26,13 @@ if is_service_enabled smaug-dashboard; then
|
||||||
|
|
||||||
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
|
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
|
||||||
# Perform installation of service source
|
# Perform installation of service source
|
||||||
echo_summary "Installing Smaug Dashboard"
|
echo_summary "Installing Karbor Dashboard"
|
||||||
install_smaug_dashboard
|
install_karbor_dashboard
|
||||||
|
|
||||||
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
||||||
# Configure after the other layer 1 and 2 services have been configured
|
# Configure after the other layer 1 and 2 services have been configured
|
||||||
echo_summary "Configuring Smaug Dashboard"
|
echo_summary "Configuring Karbor Dashboard"
|
||||||
configure_smaug_dashboard
|
configure_karbor_dashboard
|
||||||
|
|
||||||
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
||||||
# Initialize and start the app-catalog-ui service
|
# Initialize and start the app-catalog-ui service
|
||||||
|
|
|
@ -36,7 +36,7 @@ source_suffix = '.rst'
|
||||||
master_doc = 'index'
|
master_doc = 'index'
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'smaug-dashboard'
|
project = u'karbor-dashboard'
|
||||||
copyright = u'2013, OpenStack Foundation'
|
copyright = u'2013, OpenStack Foundation'
|
||||||
|
|
||||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||||
|
|
|
@ -16,4 +16,4 @@ import pbr.version
|
||||||
|
|
||||||
|
|
||||||
__version__ = pbr.version.VersionInfo(
|
__version__ = pbr.version.VersionInfo(
|
||||||
'smaug-dashboard').version_string()
|
'karbor-dashboard').version_string()
|
|
@ -19,36 +19,36 @@ from django.conf import settings
|
||||||
from horizon import exceptions
|
from horizon import exceptions
|
||||||
from horizon.utils import functions as utils
|
from horizon.utils import functions as utils
|
||||||
from horizon.utils.memoized import memoized
|
from horizon.utils.memoized import memoized
|
||||||
|
from karborclient.v1 import client as karbor_client
|
||||||
from openstack_dashboard.api import base
|
from openstack_dashboard.api import base
|
||||||
from smaugclient.v1 import client as smaug_client
|
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def get_smaug_endpoint(request):
|
def get_karbor_endpoint(request):
|
||||||
endpoint = ""
|
endpoint = ""
|
||||||
try:
|
try:
|
||||||
endpoint = base.url_for(request, "data-protect")
|
endpoint = base.url_for(request, "data-protect")
|
||||||
except exceptions.ServiceCatalogException:
|
except exceptions.ServiceCatalogException:
|
||||||
endpoint = 'http://localhost:8799'
|
endpoint = 'http://localhost:8799'
|
||||||
LOG.warning('Smaug API location could not be found in Service '
|
LOG.warning('Karbor API location could not be found in Service '
|
||||||
'Catalog, using default: {0}'.format(endpoint))
|
'Catalog, using default: {0}'.format(endpoint))
|
||||||
return endpoint
|
return endpoint
|
||||||
|
|
||||||
|
|
||||||
@memoized
|
@memoized
|
||||||
def smaugclient(request):
|
def karborclient(request):
|
||||||
endpoint = get_smaug_endpoint(request)
|
endpoint = get_karbor_endpoint(request)
|
||||||
LOG.debug('smaugclient connection created using the token "%s" and url'
|
LOG.debug('karborclient connection created using the token "%s" and url'
|
||||||
'"%s"' % (request.user.token.id, endpoint))
|
'"%s"' % (request.user.token.id, endpoint))
|
||||||
c = smaug_client.Client(endpoint=endpoint,
|
c = karbor_client.Client(endpoint=endpoint,
|
||||||
auth_url=getattr(settings,
|
auth_url=getattr(settings,
|
||||||
'OPENSTACK_KEYSTONE_URL'),
|
'OPENSTACK_KEYSTONE_URL'),
|
||||||
token=request.user.token.id,
|
token=request.user.token.id,
|
||||||
username=request.user.username,
|
username=request.user.username,
|
||||||
project_id=request.user.tenant_id,
|
project_id=request.user.tenant_id,
|
||||||
auth_plugin='token',
|
auth_plugin='token',
|
||||||
)
|
)
|
||||||
return c
|
return c
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,27 +77,27 @@ def update_pagination(entities, page_size, marker, sort_dir, sort_key,
|
||||||
|
|
||||||
|
|
||||||
def plan_create(request, name, provider_id, resources, parameters):
|
def plan_create(request, name, provider_id, resources, parameters):
|
||||||
return smaugclient(request).plans.create(name, provider_id, resources,
|
return karborclient(request).plans.create(name, provider_id, resources,
|
||||||
parameters)
|
parameters)
|
||||||
|
|
||||||
|
|
||||||
def plan_delete(request, plan_id):
|
def plan_delete(request, plan_id):
|
||||||
return smaugclient(request).plans.delete(plan_id)
|
return karborclient(request).plans.delete(plan_id)
|
||||||
|
|
||||||
|
|
||||||
def plan_update(request, plan_id, data):
|
def plan_update(request, plan_id, data):
|
||||||
return smaugclient(request).plans.update(plan_id, data)
|
return karborclient(request).plans.update(plan_id, data)
|
||||||
|
|
||||||
|
|
||||||
def plan_list(request, detailed=False, search_opts=None, marker=None,
|
def plan_list(request, detailed=False, search_opts=None, marker=None,
|
||||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||||
return smaugclient(request).plans.list(detailed=detailed,
|
return karborclient(request).plans.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
|
|
||||||
|
|
||||||
def plan_list_paged(request, detailed=False, search_opts=None, marker=None,
|
def plan_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
|
@ -110,33 +110,33 @@ def plan_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
if reversed_order:
|
if reversed_order:
|
||||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||||
page_size = utils.get_page_size(request)
|
page_size = utils.get_page_size(request)
|
||||||
plans = smaugclient(request).plans.list(detailed=detailed,
|
plans = karborclient(request).plans.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=page_size + 1,
|
limit=page_size + 1,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
plans, has_more_data, has_prev_data = update_pagination(
|
plans, has_more_data, has_prev_data = update_pagination(
|
||||||
plans, page_size, marker, sort_dir, sort_key, reversed_order)
|
plans, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||||
else:
|
else:
|
||||||
plans = smaugclient(request).plans.list(detailed=detailed,
|
plans = karborclient(request).plans.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
return (plans, has_more_data, has_prev_data)
|
return (plans, has_more_data, has_prev_data)
|
||||||
|
|
||||||
|
|
||||||
def plan_get(request, plan_id):
|
def plan_get(request, plan_id):
|
||||||
return smaugclient(request).plans.get(plan_id)
|
return karborclient(request).plans.get(plan_id)
|
||||||
|
|
||||||
|
|
||||||
def scheduled_operation_create(request, name, operation_type, trigger_id,
|
def scheduled_operation_create(request, name, operation_type, trigger_id,
|
||||||
operation_definition):
|
operation_definition):
|
||||||
return smaugclient(request).scheduled_operations.create(
|
return karborclient(request).scheduled_operations.create(
|
||||||
name,
|
name,
|
||||||
operation_type,
|
operation_type,
|
||||||
trigger_id,
|
trigger_id,
|
||||||
|
@ -144,14 +144,14 @@ def scheduled_operation_create(request, name, operation_type, trigger_id,
|
||||||
|
|
||||||
|
|
||||||
def scheduled_operation_delete(request, scheduled_operation_id):
|
def scheduled_operation_delete(request, scheduled_operation_id):
|
||||||
return smaugclient(request).scheduled_operations.delete(
|
return karborclient(request).scheduled_operations.delete(
|
||||||
scheduled_operation_id)
|
scheduled_operation_id)
|
||||||
|
|
||||||
|
|
||||||
def scheduled_operation_list(request, detailed=False, search_opts=None,
|
def scheduled_operation_list(request, detailed=False, search_opts=None,
|
||||||
marker=None, limit=None, sort_key=None,
|
marker=None, limit=None, sort_key=None,
|
||||||
sort_dir=None, sort=None):
|
sort_dir=None, sort=None):
|
||||||
return smaugclient(request).scheduled_operations.list(
|
return karborclient(request).scheduled_operations.list(
|
||||||
detailed=detailed,
|
detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -172,7 +172,7 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
|
||||||
if reversed_order:
|
if reversed_order:
|
||||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||||
page_size = utils.get_page_size(request)
|
page_size = utils.get_page_size(request)
|
||||||
scheduled_operations = smaugclient(request).scheduled_operations.list(
|
scheduled_operations = karborclient(request).scheduled_operations.list(
|
||||||
detailed=detailed,
|
detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -188,7 +188,7 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
|
||||||
sort_key,
|
sort_key,
|
||||||
reversed_order)
|
reversed_order)
|
||||||
else:
|
else:
|
||||||
scheduled_operations = smaugclient(request).scheduled_operations.list(
|
scheduled_operations = karborclient(request).scheduled_operations.list(
|
||||||
detailed=detailed,
|
detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -201,31 +201,31 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
|
||||||
|
|
||||||
|
|
||||||
def scheduled_operation_get(request, scheduled_operation_id):
|
def scheduled_operation_get(request, scheduled_operation_id):
|
||||||
return smaugclient(request).scheduled_operations.get(
|
return karborclient(request).scheduled_operations.get(
|
||||||
scheduled_operation_id)
|
scheduled_operation_id)
|
||||||
|
|
||||||
|
|
||||||
def restore_create(request, provider_id, checkpoint_id,
|
def restore_create(request, provider_id, checkpoint_id,
|
||||||
restore_target, parameters):
|
restore_target, parameters):
|
||||||
return smaugclient(request).restores.create(provider_id,
|
return karborclient(request).restores.create(provider_id,
|
||||||
checkpoint_id,
|
checkpoint_id,
|
||||||
restore_target,
|
restore_target,
|
||||||
parameters)
|
parameters)
|
||||||
|
|
||||||
|
|
||||||
def restore_delete(request, restore_id):
|
def restore_delete(request, restore_id):
|
||||||
return smaugclient(request).restores.delete(restore_id)
|
return karborclient(request).restores.delete(restore_id)
|
||||||
|
|
||||||
|
|
||||||
def restore_list(request, detailed=False, search_opts=None, marker=None,
|
def restore_list(request, detailed=False, search_opts=None, marker=None,
|
||||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||||
return smaugclient(request).restores.list(detailed=detailed,
|
return karborclient(request).restores.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
|
|
||||||
|
|
||||||
def restore_list_paged(request, detailed=False, search_opts=None, marker=None,
|
def restore_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
|
@ -238,43 +238,43 @@ def restore_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
if reversed_order:
|
if reversed_order:
|
||||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||||
page_size = utils.get_page_size(request)
|
page_size = utils.get_page_size(request)
|
||||||
restores = smaugclient(request).restores.list(detailed=detailed,
|
restores = karborclient(request).restores.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=page_size + 1,
|
limit=page_size + 1,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
restores, has_more_data, has_prev_data = update_pagination(
|
restores, has_more_data, has_prev_data = update_pagination(
|
||||||
restores, page_size, marker, sort_dir, sort_key, reversed_order)
|
restores, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||||
else:
|
else:
|
||||||
restores = smaugclient(request).restores.list(detailed=detailed,
|
restores = karborclient(request).restores.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
|
|
||||||
return (restores, has_more_data, has_prev_data)
|
return (restores, has_more_data, has_prev_data)
|
||||||
|
|
||||||
|
|
||||||
def restore_get(request, restore_id):
|
def restore_get(request, restore_id):
|
||||||
return smaugclient(request).restores.get(restore_id)
|
return karborclient(request).restores.get(restore_id)
|
||||||
|
|
||||||
|
|
||||||
def protectable_list(request):
|
def protectable_list(request):
|
||||||
return smaugclient(request).protectables.list()
|
return karborclient(request).protectables.list()
|
||||||
|
|
||||||
|
|
||||||
def protectable_get(request, protectable_type):
|
def protectable_get(request, protectable_type):
|
||||||
return smaugclient(request).protectables.get(protectable_type)
|
return karborclient(request).protectables.get(protectable_type)
|
||||||
|
|
||||||
|
|
||||||
def protectable_list_instances(request, protectable_type, search_opts=None,
|
def protectable_list_instances(request, protectable_type, search_opts=None,
|
||||||
marker=None, limit=None, sort_key=None,
|
marker=None, limit=None, sort_key=None,
|
||||||
sort_dir=None, sort=None):
|
sort_dir=None, sort=None):
|
||||||
return smaugclient(request).protectables.list_instances(
|
return karborclient(request).protectables.list_instances(
|
||||||
protectable_type=protectable_type,
|
protectable_type=protectable_type,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -295,7 +295,7 @@ def protectable_list_instances_paged(request, protectable_type,
|
||||||
if reversed_order:
|
if reversed_order:
|
||||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||||
page_size = utils.get_page_size(request)
|
page_size = utils.get_page_size(request)
|
||||||
instances = smaugclient(request).protectables.list_instances(
|
instances = karborclient(request).protectables.list_instances(
|
||||||
protectable_type,
|
protectable_type,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -306,7 +306,7 @@ def protectable_list_instances_paged(request, protectable_type,
|
||||||
instances, has_more_data, has_prev_data = update_pagination(
|
instances, has_more_data, has_prev_data = update_pagination(
|
||||||
instances, page_size, marker, sort_dir, sort_key, reversed_order)
|
instances, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||||
else:
|
else:
|
||||||
instances = smaugclient(request).protectables.list_instances(
|
instances = karborclient(request).protectables.list_instances(
|
||||||
protectable_type,
|
protectable_type,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -319,18 +319,18 @@ def protectable_list_instances_paged(request, protectable_type,
|
||||||
|
|
||||||
|
|
||||||
def protectable_get_instance(request, type, id):
|
def protectable_get_instance(request, type, id):
|
||||||
return smaugclient(request).protectables.get_instance(type, id)
|
return karborclient(request).protectables.get_instance(type, id)
|
||||||
|
|
||||||
|
|
||||||
def provider_list(request, detailed=False, search_opts=None, marker=None,
|
def provider_list(request, detailed=False, search_opts=None, marker=None,
|
||||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||||
return smaugclient(request).providers.list(detailed=detailed,
|
return karborclient(request).providers.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
|
|
||||||
|
|
||||||
def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
|
def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
|
@ -343,7 +343,7 @@ def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
if reversed_order:
|
if reversed_order:
|
||||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||||
page_size = utils.get_page_size(request)
|
page_size = utils.get_page_size(request)
|
||||||
providers = smaugclient(request).providers.list(
|
providers = karborclient(request).providers.list(
|
||||||
detailed=detailed,
|
detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -354,7 +354,7 @@ def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
providers, has_more_data, has_prev_data = update_pagination(
|
providers, has_more_data, has_prev_data = update_pagination(
|
||||||
providers, page_size, marker, sort_dir, sort_key, reversed_order)
|
providers, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||||
else:
|
else:
|
||||||
providers = smaugclient(request).providers.list(
|
providers = karborclient(request).providers.list(
|
||||||
detailed=detailed,
|
detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -367,26 +367,26 @@ def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
|
|
||||||
|
|
||||||
def provider_get(request, provider_id):
|
def provider_get(request, provider_id):
|
||||||
return smaugclient(request).providers.get(provider_id)
|
return karborclient(request).providers.get(provider_id)
|
||||||
|
|
||||||
|
|
||||||
def checkpoint_create(request, provider_id, plan_id):
|
def checkpoint_create(request, provider_id, plan_id):
|
||||||
return smaugclient(request).checkpoints.create(provider_id, plan_id)
|
return karborclient(request).checkpoints.create(provider_id, plan_id)
|
||||||
|
|
||||||
|
|
||||||
def checkpoint_delete(request, provider_id, checkpoint_id):
|
def checkpoint_delete(request, provider_id, checkpoint_id):
|
||||||
return smaugclient(request).checkpoints.delete(provider_id, checkpoint_id)
|
return karborclient(request).checkpoints.delete(provider_id, checkpoint_id)
|
||||||
|
|
||||||
|
|
||||||
def checkpoint_list(request, provider_id=None, search_opts=None, marker=None,
|
def checkpoint_list(request, provider_id=None, search_opts=None, marker=None,
|
||||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||||
return smaugclient(request).checkpoints.list(provider_id=provider_id,
|
return karborclient(request).checkpoints.list(provider_id=provider_id,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
|
|
||||||
|
|
||||||
def checkpoint_list_paged(request, provider_id=None, search_opts=None,
|
def checkpoint_list_paged(request, provider_id=None, search_opts=None,
|
||||||
|
@ -400,7 +400,7 @@ def checkpoint_list_paged(request, provider_id=None, search_opts=None,
|
||||||
if reversed_order:
|
if reversed_order:
|
||||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||||
page_size = utils.get_page_size(request)
|
page_size = utils.get_page_size(request)
|
||||||
checkpoints = smaugclient(request).checkpoints.list(
|
checkpoints = karborclient(request).checkpoints.list(
|
||||||
provider_id=provider_id,
|
provider_id=provider_id,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -411,7 +411,7 @@ def checkpoint_list_paged(request, provider_id=None, search_opts=None,
|
||||||
checkpoints, has_more_data, has_prev_data = update_pagination(
|
checkpoints, has_more_data, has_prev_data = update_pagination(
|
||||||
checkpoints, page_size, marker, sort_dir, sort_key, reversed_order)
|
checkpoints, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||||
else:
|
else:
|
||||||
checkpoints = smaugclient(request).checkpoints.list(
|
checkpoints = karborclient(request).checkpoints.list(
|
||||||
provider_id=provider_id,
|
provider_id=provider_id,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -424,26 +424,26 @@ def checkpoint_list_paged(request, provider_id=None, search_opts=None,
|
||||||
|
|
||||||
|
|
||||||
def checkpoint_get(request, provider_id, checkpoint_id):
|
def checkpoint_get(request, provider_id, checkpoint_id):
|
||||||
return smaugclient(request).checkpoints.get(provider_id, checkpoint_id)
|
return karborclient(request).checkpoints.get(provider_id, checkpoint_id)
|
||||||
|
|
||||||
|
|
||||||
def trigger_create(request, name, type, properties):
|
def trigger_create(request, name, type, properties):
|
||||||
return smaugclient(request).triggers.create(name, type, properties)
|
return karborclient(request).triggers.create(name, type, properties)
|
||||||
|
|
||||||
|
|
||||||
def trigger_delete(request, trigger_id):
|
def trigger_delete(request, trigger_id):
|
||||||
return smaugclient(request).triggers.delete(trigger_id)
|
return karborclient(request).triggers.delete(trigger_id)
|
||||||
|
|
||||||
|
|
||||||
def trigger_list(request, detailed=False, search_opts=None, marker=None,
|
def trigger_list(request, detailed=False, search_opts=None, marker=None,
|
||||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||||
return smaugclient(request).triggers.list(detailed=detailed,
|
return karborclient(request).triggers.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
|
|
||||||
|
|
||||||
def trigger_list_paged(request, detailed=False, search_opts=None, marker=None,
|
def trigger_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
|
@ -456,26 +456,26 @@ def trigger_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||||
if reversed_order:
|
if reversed_order:
|
||||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||||
page_size = utils.get_page_size(request)
|
page_size = utils.get_page_size(request)
|
||||||
triggers = smaugclient(request).triggers.list(detailed=detailed,
|
triggers = karborclient(request).triggers.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=page_size + 1,
|
limit=page_size + 1,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
triggers, has_more_data, has_prev_data = update_pagination(
|
triggers, has_more_data, has_prev_data = update_pagination(
|
||||||
triggers, page_size, marker, sort_dir, sort_key, reversed_order)
|
triggers, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||||
else:
|
else:
|
||||||
triggers = smaugclient(request).triggers.list(detailed=detailed,
|
triggers = karborclient(request).triggers.list(detailed=detailed,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
limit=limit,
|
limit=limit,
|
||||||
sort_key=sort_key,
|
sort_key=sort_key,
|
||||||
sort_dir=sort_dir,
|
sort_dir=sort_dir,
|
||||||
sort=sort)
|
sort=sort)
|
||||||
|
|
||||||
return (triggers, has_more_data, has_prev_data)
|
return (triggers, has_more_data, has_prev_data)
|
||||||
|
|
||||||
|
|
||||||
def trigger_get(request, trigger_id):
|
def trigger_get(request, trigger_id):
|
||||||
return smaugclient(request).triggers.get(trigger_id)
|
return karborclient(request).triggers.get(trigger_id)
|
|
@ -20,7 +20,7 @@ from horizon import forms as horizon_forms
|
||||||
from horizon import messages
|
from horizon import messages
|
||||||
|
|
||||||
import json
|
import json
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
|
|
||||||
|
|
||||||
class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
|
class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
|
||||||
|
@ -35,19 +35,19 @@ class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
|
||||||
widget=forms.HiddenInput(attrs={"class": "provider"}))
|
widget=forms.HiddenInput(attrs={"class": "provider"}))
|
||||||
parameters = forms.CharField(
|
parameters = forms.CharField(
|
||||||
widget=forms.HiddenInput(attrs={"class": "parameters"}))
|
widget=forms.HiddenInput(attrs={"class": "parameters"}))
|
||||||
failure_url = 'horizon:smaug:checkpoints:index'
|
failure_url = 'horizon:karbor:checkpoints:index'
|
||||||
|
|
||||||
def __init__(self, request, *args, **kwargs):
|
def __init__(self, request, *args, **kwargs):
|
||||||
super(RestoreCheckpointForm, self).\
|
super(RestoreCheckpointForm, self).\
|
||||||
__init__(request, *args, **kwargs)
|
__init__(request, *args, **kwargs)
|
||||||
|
|
||||||
provider_id = str(kwargs["initial"]["provider_id"])
|
provider_id = str(kwargs["initial"]["provider_id"])
|
||||||
provider = smaugclient.provider_get(request, provider_id)
|
provider = karborclient.provider_get(request, provider_id)
|
||||||
self.fields['provider'].initial = json.dumps(provider._info)
|
self.fields['provider'].initial = json.dumps(provider._info)
|
||||||
|
|
||||||
def handle(self, request, data):
|
def handle(self, request, data):
|
||||||
try:
|
try:
|
||||||
new_restore = smaugclient.restore_create(
|
new_restore = karborclient.restore_create(
|
||||||
request,
|
request,
|
||||||
provider_id=data["provider_id"],
|
provider_id=data["provider_id"],
|
||||||
checkpoint_id=data["checkpoint_id"],
|
checkpoint_id=data["checkpoint_id"],
|
|
@ -15,7 +15,7 @@
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
import horizon
|
import horizon
|
||||||
|
|
||||||
from smaug_dashboard import dashboard
|
from karbor_dashboard import dashboard
|
||||||
|
|
||||||
|
|
||||||
class Checkpoints(horizon.Panel):
|
class Checkpoints(horizon.Panel):
|
|
@ -18,13 +18,13 @@ from django.utils.translation import ungettext_lazy
|
||||||
|
|
||||||
from horizon import tables
|
from horizon import tables
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
|
|
||||||
|
|
||||||
class RestoreCheckpointLink(tables.LinkAction):
|
class RestoreCheckpointLink(tables.LinkAction):
|
||||||
name = "restore"
|
name = "restore"
|
||||||
verbose_name = _("Restore Checkpoint")
|
verbose_name = _("Restore Checkpoint")
|
||||||
url = "horizon:smaug:checkpoints:restore"
|
url = "horizon:karbor:checkpoints:restore"
|
||||||
classes = ("ajax-modal",)
|
classes = ("ajax-modal",)
|
||||||
icon = "plus"
|
icon = "plus"
|
||||||
|
|
||||||
|
@ -55,14 +55,14 @@ class DeleteCheckpointsAction(tables.DeleteAction):
|
||||||
def delete(self, request, obj_id):
|
def delete(self, request, obj_id):
|
||||||
datum = self.table.get_object_by_id(obj_id)
|
datum = self.table.get_object_by_id(obj_id)
|
||||||
provider_id = datum.provider_id
|
provider_id = datum.provider_id
|
||||||
smaugclient.checkpoint_delete(request,
|
karborclient.checkpoint_delete(request,
|
||||||
provider_id=provider_id,
|
provider_id=provider_id,
|
||||||
checkpoint_id=obj_id)
|
checkpoint_id=obj_id)
|
||||||
|
|
||||||
|
|
||||||
def get_provider_link(checkpoint):
|
def get_provider_link(checkpoint):
|
||||||
"""url Two args"""
|
"""url Two args"""
|
||||||
return reverse("horizon:smaug:checkpoints:detail",
|
return reverse("horizon:karbor:checkpoints:detail",
|
||||||
args=(checkpoint.provider_id, checkpoint.id))
|
args=(checkpoint.provider_id, checkpoint.id))
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
from smaug_dashboard.checkpoints import views
|
from karbor_dashboard.checkpoints import views
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
|
@ -26,11 +26,11 @@ from horizon import forms as horizon_forms
|
||||||
from horizon import tables as horizon_tables
|
from horizon import tables as horizon_tables
|
||||||
from horizon.utils import memoized
|
from horizon.utils import memoized
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
from smaug_dashboard.checkpoints import forms
|
from karbor_dashboard.checkpoints import forms
|
||||||
from smaug_dashboard.checkpoints import tables
|
from karbor_dashboard.checkpoints import tables
|
||||||
from smaug_dashboard.checkpoints import utils
|
from karbor_dashboard.checkpoints import utils
|
||||||
from smaugclient.v1 import protectables
|
from karborclient.v1 import protectables
|
||||||
|
|
||||||
|
|
||||||
class IndexView(horizon_tables.DataTableView):
|
class IndexView(horizon_tables.DataTableView):
|
||||||
|
@ -40,11 +40,11 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
def get_provider_list(self):
|
def get_provider_list(self):
|
||||||
return smaugclient.provider_list(self.request)
|
return karborclient.provider_list(self.request)
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
def get_plan_list(self):
|
def get_plan_list(self):
|
||||||
return smaugclient.plan_list(self.request)
|
return karborclient.plan_list(self.request)
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
def get_filter_list(self):
|
def get_filter_list(self):
|
||||||
|
@ -81,7 +81,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
|
|
||||||
context["plan_list"] = self.get_plan_list()
|
context["plan_list"] = self.get_plan_list()
|
||||||
context["date_list"] = utils.DATE_CHOICES
|
context["date_list"] = utils.DATE_CHOICES
|
||||||
context["url"] = reverse("horizon:smaug:checkpoints:index")
|
context["url"] = reverse("horizon:karbor:checkpoints:index")
|
||||||
context = dict(context, **self.get_filter_list())
|
context = dict(context, **self.get_filter_list())
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
@ -151,7 +151,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
raise Exception()
|
raise Exception()
|
||||||
|
|
||||||
checkpoints, self._more, self._prev = \
|
checkpoints, self._more, self._prev = \
|
||||||
smaugclient.checkpoint_list_paged(
|
karborclient.checkpoint_list_paged(
|
||||||
self.request,
|
self.request,
|
||||||
provider_id=provider_id,
|
provider_id=provider_id,
|
||||||
search_opts=search_opts,
|
search_opts=search_opts,
|
||||||
|
@ -161,7 +161,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
sort_key='name',
|
sort_key='name',
|
||||||
reversed_order=reversed_order)
|
reversed_order=reversed_order)
|
||||||
for checkpoint in checkpoints:
|
for checkpoint in checkpoints:
|
||||||
provider = smaugclient.provider_get(
|
provider = karborclient.provider_get(
|
||||||
self.request,
|
self.request,
|
||||||
checkpoint.protection_plan['provider_id']
|
checkpoint.protection_plan['provider_id']
|
||||||
)
|
)
|
||||||
|
@ -181,8 +181,8 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
|
||||||
form_id = "restore_checkpoint_form"
|
form_id = "restore_checkpoint_form"
|
||||||
form_class = forms.RestoreCheckpointForm
|
form_class = forms.RestoreCheckpointForm
|
||||||
submit_label = _("Restore Checkpoint")
|
submit_label = _("Restore Checkpoint")
|
||||||
submit_url = 'horizon:smaug:checkpoints:restore'
|
submit_url = 'horizon:karbor:checkpoints:restore'
|
||||||
success_url = reverse_lazy('horizon:smaug:checkpoints:index')
|
success_url = reverse_lazy('horizon:karbor:checkpoints:index')
|
||||||
page_title = _("Restore Checkpoint")
|
page_title = _("Restore Checkpoint")
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
|
@ -207,9 +207,9 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
|
||||||
try:
|
try:
|
||||||
provider_id = self.kwargs['provider_id']
|
provider_id = self.kwargs['provider_id']
|
||||||
checkpoint_id = self.kwargs['checkpoint_id']
|
checkpoint_id = self.kwargs['checkpoint_id']
|
||||||
checkpoint = smaugclient.checkpoint_get(self.request,
|
checkpoint = karborclient.checkpoint_get(self.request,
|
||||||
provider_id,
|
provider_id,
|
||||||
checkpoint_id)
|
checkpoint_id)
|
||||||
graphnodes = utils.deserialize_resource_graph(
|
graphnodes = utils.deserialize_resource_graph(
|
||||||
checkpoint.resource_graph)
|
checkpoint.resource_graph)
|
||||||
self.get_results(graphnodes, None, results)
|
self.get_results(graphnodes, None, results)
|
||||||
|
@ -217,7 +217,7 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to retrieve checkpoint details.'),
|
_('Unable to retrieve checkpoint details.'),
|
||||||
redirect=reverse("horizon:smaug:checkpoints:index"))
|
redirect=reverse("horizon:karbor:checkpoints:index"))
|
||||||
return results
|
return results
|
||||||
|
|
||||||
def get_results(self, graphnodes, showparentid, results):
|
def get_results(self, graphnodes, showparentid, results):
|
||||||
|
@ -249,9 +249,9 @@ class DetailView(horizon_tables.DataTableView):
|
||||||
try:
|
try:
|
||||||
provider_id = self.kwargs['provider_id']
|
provider_id = self.kwargs['provider_id']
|
||||||
checkpoint_id = self.kwargs['checkpoint_id']
|
checkpoint_id = self.kwargs['checkpoint_id']
|
||||||
checkpoint = smaugclient.checkpoint_get(self.request,
|
checkpoint = karborclient.checkpoint_get(self.request,
|
||||||
provider_id,
|
provider_id,
|
||||||
checkpoint_id)
|
checkpoint_id)
|
||||||
except Exception:
|
except Exception:
|
||||||
checkpoint = []
|
checkpoint = []
|
||||||
msg = _('checkpoint list can not be retrieved.')
|
msg = _('checkpoint list can not be retrieved.')
|
||||||
|
@ -263,10 +263,10 @@ class DetailView(horizon_tables.DataTableView):
|
||||||
checkpoint = self.get_checkpoint_data()
|
checkpoint = self.get_checkpoint_data()
|
||||||
context["checkpoint"] = checkpoint
|
context["checkpoint"] = checkpoint
|
||||||
provider_id = self.kwargs['provider_id']
|
provider_id = self.kwargs['provider_id']
|
||||||
provider = smaugclient.provider_get(self.request, provider_id)
|
provider = karborclient.provider_get(self.request, provider_id)
|
||||||
context["provider_name"] = provider.name
|
context["provider_name"] = provider.name
|
||||||
context["resources"] = self.get_resources()
|
context["resources"] = self.get_resources()
|
||||||
context["url"] = reverse("horizon:smaug:protectionplans:index")
|
context["url"] = reverse("horizon:karbor:protectionplans:index")
|
||||||
return context
|
return context
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
|
@ -275,9 +275,9 @@ class DetailView(horizon_tables.DataTableView):
|
||||||
try:
|
try:
|
||||||
provider_id = self.kwargs['provider_id']
|
provider_id = self.kwargs['provider_id']
|
||||||
checkpoint_id = self.kwargs['checkpoint_id']
|
checkpoint_id = self.kwargs['checkpoint_id']
|
||||||
checkpoint = smaugclient.checkpoint_get(self.request,
|
checkpoint = karborclient.checkpoint_get(self.request,
|
||||||
provider_id,
|
provider_id,
|
||||||
checkpoint_id)
|
checkpoint_id)
|
||||||
graphnodes = utils.deserialize_resource_graph(
|
graphnodes = utils.deserialize_resource_graph(
|
||||||
checkpoint.resource_graph)
|
checkpoint.resource_graph)
|
||||||
self.get_results(graphnodes, None, results)
|
self.get_results(graphnodes, None, results)
|
||||||
|
@ -285,7 +285,7 @@ class DetailView(horizon_tables.DataTableView):
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to retrieve checkpoint details.'),
|
_('Unable to retrieve checkpoint details.'),
|
||||||
redirect=reverse("horizon:smaug:checkpoints:index"))
|
redirect=reverse("horizon:karbor:checkpoints:index"))
|
||||||
return results
|
return results
|
||||||
|
|
||||||
def get_results(self, graphnodes, showparentid, results):
|
def get_results(self, graphnodes, showparentid, results):
|
|
@ -15,12 +15,12 @@
|
||||||
import horizon
|
import horizon
|
||||||
|
|
||||||
# Load the api rest services into Horizon
|
# Load the api rest services into Horizon
|
||||||
import smaug_dashboard.api.rest # noqa
|
import karbor_dashboard.api.rest # noqa
|
||||||
|
|
||||||
|
|
||||||
class DataProtection(horizon.Dashboard):
|
class DataProtection(horizon.Dashboard):
|
||||||
name = "Data Protection"
|
name = "Data Protection"
|
||||||
slug = "smaug"
|
slug = "karbor"
|
||||||
default_panel = "protectionplans"
|
default_panel = "protectionplans"
|
||||||
|
|
||||||
|
|
|
@ -14,13 +14,13 @@
|
||||||
|
|
||||||
|
|
||||||
# The name of the dashboard to be added to HORIZON['dashboards']. Required.
|
# The name of the dashboard to be added to HORIZON['dashboards']. Required.
|
||||||
DASHBOARD = 'smaug'
|
DASHBOARD = 'karbor'
|
||||||
|
|
||||||
# If set to True, this dashboard will not be added to the settings.
|
# If set to True, this dashboard will not be added to the settings.
|
||||||
DISABLED = False
|
DISABLED = False
|
||||||
|
|
||||||
ADD_INSTALLED_APPS = [
|
ADD_INSTALLED_APPS = [
|
||||||
'smaug_dashboard',
|
'karbor_dashboard',
|
||||||
]
|
]
|
||||||
|
|
||||||
# Automatically discover static resources in installed apps
|
# Automatically discover static resources in installed apps
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
PANEL = 'protectionplans'
|
PANEL = 'protectionplans'
|
||||||
PANEL_GROUP = 'default'
|
PANEL_GROUP = 'default'
|
||||||
PANEL_DASHBOARD = 'smaug'
|
PANEL_DASHBOARD = 'karbor'
|
||||||
|
|
||||||
ADD_PANEL = \
|
ADD_PANEL = \
|
||||||
'smaug_dashboard.protectionplans.panel.ProtectionPlans'
|
'karbor_dashboard.protectionplans.panel.ProtectionPlans'
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
PANEL = 'protectionproviders'
|
PANEL = 'protectionproviders'
|
||||||
PANEL_GROUP = 'default'
|
PANEL_GROUP = 'default'
|
||||||
PANEL_DASHBOARD = 'smaug'
|
PANEL_DASHBOARD = 'karbor'
|
||||||
|
|
||||||
ADD_PANEL = \
|
ADD_PANEL = \
|
||||||
'smaug_dashboard.protectionproviders.panel.ProtectionProviders'
|
'karbor_dashboard.protectionproviders.panel.ProtectionProviders'
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
PANEL = 'checkpoints'
|
PANEL = 'checkpoints'
|
||||||
PANEL_GROUP = 'default'
|
PANEL_GROUP = 'default'
|
||||||
PANEL_DASHBOARD = 'smaug'
|
PANEL_DASHBOARD = 'karbor'
|
||||||
|
|
||||||
ADD_PANEL = \
|
ADD_PANEL = \
|
||||||
'smaug_dashboard.checkpoints.panel.Checkpoints'
|
'karbor_dashboard.checkpoints.panel.Checkpoints'
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
PANEL = 'operationlogs'
|
PANEL = 'operationlogs'
|
||||||
PANEL_GROUP = 'default'
|
PANEL_GROUP = 'default'
|
||||||
PANEL_DASHBOARD = 'smaug'
|
PANEL_DASHBOARD = 'karbor'
|
||||||
|
|
||||||
ADD_PANEL = \
|
ADD_PANEL = \
|
||||||
'smaug_dashboard.operationlogs.panel.OperationLogs'
|
'karbor_dashboard.operationlogs.panel.OperationLogs'
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
PANEL = 'triggers'
|
PANEL = 'triggers'
|
||||||
PANEL_GROUP = 'default'
|
PANEL_GROUP = 'default'
|
||||||
PANEL_DASHBOARD = 'smaug'
|
PANEL_DASHBOARD = 'karbor'
|
||||||
|
|
||||||
ADD_PANEL = \
|
ADD_PANEL = \
|
||||||
'smaug_dashboard.triggers.panel.Triggers'
|
'karbor_dashboard.triggers.panel.Triggers'
|
|
@ -15,7 +15,7 @@
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
import horizon
|
import horizon
|
||||||
|
|
||||||
from smaug_dashboard import dashboard
|
from karbor_dashboard import dashboard
|
||||||
|
|
||||||
|
|
||||||
class OperationLogs(horizon.Panel):
|
class OperationLogs(horizon.Panel):
|
|
@ -19,7 +19,7 @@ from horizon import tables
|
||||||
|
|
||||||
class OperationLogsProtectTable(tables.DataTable):
|
class OperationLogsProtectTable(tables.DataTable):
|
||||||
id = tables.Column('id',
|
id = tables.Column('id',
|
||||||
link="horizon:smaug:operationlogs:detail",
|
link="horizon:karbor:operationlogs:detail",
|
||||||
verbose_name=_('ID'))
|
verbose_name=_('ID'))
|
||||||
name = tables.Column('name',
|
name = tables.Column('name',
|
||||||
verbose_name=_('Name'))
|
verbose_name=_('Name'))
|
||||||
|
@ -63,7 +63,7 @@ class OperationLogsRestoreTable(tables.DataTable):
|
||||||
|
|
||||||
class OperationLogsDeleteTable(tables.DataTable):
|
class OperationLogsDeleteTable(tables.DataTable):
|
||||||
id = tables.Column('id',
|
id = tables.Column('id',
|
||||||
link="horizon:smaug:operationlogs:detail",
|
link="horizon:karbor:operationlogs:detail",
|
||||||
verbose_name=_('ID'))
|
verbose_name=_('ID'))
|
||||||
name = tables.Column('name',
|
name = tables.Column('name',
|
||||||
verbose_name=_('Name'))
|
verbose_name=_('Name'))
|
|
@ -13,7 +13,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
from smaug_dashboard.operationlogs import views
|
from karbor_dashboard.operationlogs import views
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
|
@ -18,9 +18,9 @@ from django.utils.translation import ugettext_lazy as _
|
||||||
from horizon import exceptions
|
from horizon import exceptions
|
||||||
from horizon import tables as horizon_tables
|
from horizon import tables as horizon_tables
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
from smaug_dashboard.operationlogs import tables
|
from karbor_dashboard.operationlogs import tables
|
||||||
from smaug_dashboard.operationlogs import utils
|
from karbor_dashboard.operationlogs import utils
|
||||||
|
|
||||||
|
|
||||||
class IndexView(horizon_tables.DataTableView):
|
class IndexView(horizon_tables.DataTableView):
|
||||||
|
@ -59,7 +59,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
context = super(IndexView, self).get_context_data(**kwargs)
|
context = super(IndexView, self).get_context_data(**kwargs)
|
||||||
context["type_list"] = utils.OPERATION_TYPE_CHOICES
|
context["type_list"] = utils.OPERATION_TYPE_CHOICES
|
||||||
context["status_list"] = utils.OPERATION_STATUS_CHOICES
|
context["status_list"] = utils.OPERATION_STATUS_CHOICES
|
||||||
context["url"] = reverse("horizon:smaug:operationlogs:index")
|
context["url"] = reverse("horizon:karbor:operationlogs:index")
|
||||||
context = dict(context, **self.get_filter_list())
|
context = dict(context, **self.get_filter_list())
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
@ -123,7 +123,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
|
|
||||||
# Get restore operation logs
|
# Get restore operation logs
|
||||||
logs, self._more, self._prev = \
|
logs, self._more, self._prev = \
|
||||||
smaugclient.restore_list_paged(
|
karborclient.restore_list_paged(
|
||||||
self.request,
|
self.request,
|
||||||
search_opts=filter_opts,
|
search_opts=filter_opts,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
|
@ -133,11 +133,11 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
reversed_order=reversed_order)
|
reversed_order=reversed_order)
|
||||||
|
|
||||||
for log in logs:
|
for log in logs:
|
||||||
checkpoint = smaugclient.checkpoint_get(self.request,
|
checkpoint = karborclient.checkpoint_get(self.request,
|
||||||
log.provider_id,
|
log.provider_id,
|
||||||
log.checkpoint_id)
|
log.checkpoint_id)
|
||||||
provider = smaugclient.provider_get(self.request,
|
provider = karborclient.provider_get(self.request,
|
||||||
log.provider_id)
|
log.provider_id)
|
||||||
setattr(log, "name", checkpoint.protection_plan["name"])
|
setattr(log, "name", checkpoint.protection_plan["name"])
|
||||||
setattr(log, "type",
|
setattr(log, "type",
|
||||||
utils.OPERATION_TYPE_DICT[
|
utils.OPERATION_TYPE_DICT[
|
|
@ -20,7 +20,7 @@ from horizon import forms as horizon_forms
|
||||||
from horizon import messages
|
from horizon import messages
|
||||||
|
|
||||||
import json
|
import json
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
|
|
||||||
|
|
||||||
class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
||||||
|
@ -44,7 +44,7 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
||||||
__init__(request, *args, **kwargs)
|
__init__(request, *args, **kwargs)
|
||||||
|
|
||||||
result = []
|
result = []
|
||||||
providers = smaugclient.provider_list(request)
|
providers = karborclient.provider_list(request)
|
||||||
|
|
||||||
self.fields['providers'].initial = \
|
self.fields['providers'].initial = \
|
||||||
json.dumps([f._info for f in providers])
|
json.dumps([f._info for f in providers])
|
||||||
|
@ -56,11 +56,11 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
||||||
|
|
||||||
def handle(self, request, data):
|
def handle(self, request, data):
|
||||||
try:
|
try:
|
||||||
new_plan = smaugclient.plan_create(request,
|
new_plan = karborclient.plan_create(request,
|
||||||
data["name"],
|
data["name"],
|
||||||
data["provider_id"],
|
data["provider_id"],
|
||||||
json.loads(data["resources"]),
|
json.loads(data["resources"]),
|
||||||
json.loads(data["parameters"]))
|
json.loads(data["parameters"]))
|
||||||
|
|
||||||
messages.success(request,
|
messages.success(request,
|
||||||
_("Protection Plan created successfully."))
|
_("Protection Plan created successfully."))
|
||||||
|
@ -70,8 +70,8 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
||||||
return self.next_view.as_view()(request,
|
return self.next_view.as_view()(request,
|
||||||
plan_id=new_plan.id)
|
plan_id=new_plan.id)
|
||||||
elif data["actionmode"] == "now":
|
elif data["actionmode"] == "now":
|
||||||
smaugclient.checkpoint_create(request, new_plan.provider_id,
|
karborclient.checkpoint_create(request, new_plan.provider_id,
|
||||||
new_plan.id)
|
new_plan.id)
|
||||||
messages.success(request, _("Protect now successfully."))
|
messages.success(request, _("Protect now successfully."))
|
||||||
return new_plan
|
return new_plan
|
||||||
except Exception:
|
except Exception:
|
||||||
|
@ -85,13 +85,13 @@ class ScheduleProtectForm(horizon_forms.SelfHandlingForm):
|
||||||
widget=forms.HiddenInput)
|
widget=forms.HiddenInput)
|
||||||
trigger_id = horizon_forms.DynamicChoiceField(
|
trigger_id = horizon_forms.DynamicChoiceField(
|
||||||
label=_("Associate with Trigger"),
|
label=_("Associate with Trigger"),
|
||||||
add_item_link="horizon:smaug:triggers:create")
|
add_item_link="horizon:karbor:triggers:create")
|
||||||
|
|
||||||
def __init__(self, request, *args, **kwargs):
|
def __init__(self, request, *args, **kwargs):
|
||||||
super(ScheduleProtectForm, self).__init__(request, *args, **kwargs)
|
super(ScheduleProtectForm, self).__init__(request, *args, **kwargs)
|
||||||
|
|
||||||
result = []
|
result = []
|
||||||
triggers = smaugclient.trigger_list(request)
|
triggers = karborclient.trigger_list(request)
|
||||||
if triggers:
|
if triggers:
|
||||||
result = [(e.id, e.name) for e in triggers]
|
result = [(e.id, e.name) for e in triggers]
|
||||||
|
|
||||||
|
@ -101,11 +101,11 @@ class ScheduleProtectForm(horizon_forms.SelfHandlingForm):
|
||||||
try:
|
try:
|
||||||
operation_definition = dict(provider_id=data["provider_id"],
|
operation_definition = dict(provider_id=data["provider_id"],
|
||||||
plan_id=data["id"])
|
plan_id=data["id"])
|
||||||
smaugclient.scheduled_operation_create(request,
|
karborclient.scheduled_operation_create(request,
|
||||||
data["name"],
|
data["name"],
|
||||||
"protect",
|
"protect",
|
||||||
data["trigger_id"],
|
data["trigger_id"],
|
||||||
operation_definition)
|
operation_definition)
|
||||||
messages.success(request, _("Schedule protect successfully."))
|
messages.success(request, _("Schedule protect successfully."))
|
||||||
return True
|
return True
|
||||||
except Exception:
|
except Exception:
|
|
@ -15,7 +15,7 @@
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
import horizon
|
import horizon
|
||||||
|
|
||||||
from smaug_dashboard import dashboard
|
from karbor_dashboard import dashboard
|
||||||
|
|
||||||
|
|
||||||
class ProtectionPlans(horizon.Panel):
|
class ProtectionPlans(horizon.Panel):
|
|
@ -19,13 +19,13 @@ from horizon import exceptions
|
||||||
from horizon import messages
|
from horizon import messages
|
||||||
from horizon import tables
|
from horizon import tables
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
|
|
||||||
|
|
||||||
class CreateProtectionPlanLink(tables.LinkAction):
|
class CreateProtectionPlanLink(tables.LinkAction):
|
||||||
name = "create"
|
name = "create"
|
||||||
verbose_name = _("Create Protection Plan")
|
verbose_name = _("Create Protection Plan")
|
||||||
url = "horizon:smaug:protectionplans:create"
|
url = "horizon:karbor:protectionplans:create"
|
||||||
classes = ("ajax-modal",)
|
classes = ("ajax-modal",)
|
||||||
icon = "plus"
|
icon = "plus"
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ class CreateProtectionPlanLink(tables.LinkAction):
|
||||||
class ScheduleProtectLink(tables.LinkAction):
|
class ScheduleProtectLink(tables.LinkAction):
|
||||||
name = "scheduleprotect"
|
name = "scheduleprotect"
|
||||||
verbose_name = _("Schedule Protect")
|
verbose_name = _("Schedule Protect")
|
||||||
url = "horizon:smaug:protectionplans:scheduleprotect"
|
url = "horizon:karbor:protectionplans:scheduleprotect"
|
||||||
classes = ("ajax-modal",)
|
classes = ("ajax-modal",)
|
||||||
|
|
||||||
def allowed(self, request, plan):
|
def allowed(self, request, plan):
|
||||||
|
@ -58,9 +58,9 @@ class ProtectNowLink(tables.Action):
|
||||||
try:
|
try:
|
||||||
datum = self.table.get_object_by_id(datum_id)
|
datum = self.table.get_object_by_id(datum_id)
|
||||||
provider_id = datum.provider_id
|
provider_id = datum.provider_id
|
||||||
new_checkpoint = smaugclient.checkpoint_create(request,
|
new_checkpoint = karborclient.checkpoint_create(request,
|
||||||
provider_id,
|
provider_id,
|
||||||
datum_id)
|
datum_id)
|
||||||
messages.success(request, _("Protect now successfully."))
|
messages.success(request, _("Protect now successfully."))
|
||||||
return new_checkpoint
|
return new_checkpoint
|
||||||
except Exception:
|
except Exception:
|
||||||
|
@ -88,7 +88,7 @@ class DeleteProtectionPlansAction(tables.DeleteAction):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def delete(self, request, obj_id):
|
def delete(self, request, obj_id):
|
||||||
smaugclient.plan_delete(request, obj_id)
|
karborclient.plan_delete(request, obj_id)
|
||||||
|
|
||||||
|
|
||||||
class ProtectionPlanFilterAction(tables.FilterAction):
|
class ProtectionPlanFilterAction(tables.FilterAction):
|
||||||
|
@ -101,7 +101,7 @@ class ProtectionPlanFilterAction(tables.FilterAction):
|
||||||
|
|
||||||
class ProtectionPlansTable(tables.DataTable):
|
class ProtectionPlansTable(tables.DataTable):
|
||||||
name = tables.Column('name',
|
name = tables.Column('name',
|
||||||
link="horizon:smaug:protectionplans:detail",
|
link="horizon:karbor:protectionplans:detail",
|
||||||
verbose_name=_('Name'))
|
verbose_name=_('Name'))
|
||||||
|
|
||||||
status = tables.Column('status',
|
status = tables.Column('status',
|
|
@ -13,7 +13,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
from smaug_dashboard.protectionplans import views
|
from karbor_dashboard.protectionplans import views
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
|
@ -22,10 +22,10 @@ from horizon import tables as horizon_tables
|
||||||
from horizon.utils import memoized
|
from horizon.utils import memoized
|
||||||
from horizon import views as horizon_views
|
from horizon import views as horizon_views
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
from smaug_dashboard.protectionplans import forms
|
from karbor_dashboard.protectionplans import forms
|
||||||
from smaug_dashboard.protectionplans import tables
|
from karbor_dashboard.protectionplans import tables
|
||||||
from smaugclient.v1 import protectables
|
from karborclient.v1 import protectables
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
reversed_order = prev_marker is not None
|
reversed_order = prev_marker is not None
|
||||||
plans = []
|
plans = []
|
||||||
try:
|
try:
|
||||||
plans, self._more, self._prev = smaugclient.plan_list_paged(
|
plans, self._more, self._prev = karborclient.plan_list_paged(
|
||||||
request, None,
|
request, None,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
paginate=True,
|
paginate=True,
|
||||||
|
@ -74,8 +74,8 @@ class CreateView(horizon_forms.ModalFormView):
|
||||||
form_id = "create_protectionplan_form"
|
form_id = "create_protectionplan_form"
|
||||||
form_class = forms.CreateProtectionPlanForm
|
form_class = forms.CreateProtectionPlanForm
|
||||||
submit_label = _("Create Protection Plan")
|
submit_label = _("Create Protection Plan")
|
||||||
submit_url = reverse_lazy("horizon:smaug:protectionplans:create")
|
submit_url = reverse_lazy("horizon:karbor:protectionplans:create")
|
||||||
success_url = reverse_lazy('horizon:smaug:protectionplans:index')
|
success_url = reverse_lazy('horizon:karbor:protectionplans:index')
|
||||||
page_title = _("Create Protection Plan")
|
page_title = _("Create Protection Plan")
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
|
@ -91,7 +91,7 @@ class CreateView(horizon_forms.ModalFormView):
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
try:
|
try:
|
||||||
instances = smaugclient.protectable_list_instances(
|
instances = karborclient.protectable_list_instances(
|
||||||
self.request, "OS::Keystone::Project")
|
self.request, "OS::Keystone::Project")
|
||||||
results = []
|
results = []
|
||||||
self.get_results(instances, None, results)
|
self.get_results(instances, None, results)
|
||||||
|
@ -100,7 +100,7 @@ class CreateView(horizon_forms.ModalFormView):
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to create protection plan.'),
|
_('Unable to create protection plan.'),
|
||||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
redirect=reverse("horizon:karbor:protectionplans:index"))
|
||||||
|
|
||||||
def get_results(self, instances, showparentid, results):
|
def get_results(self, instances, showparentid, results):
|
||||||
for instance in instances:
|
for instance in instances:
|
||||||
|
@ -116,7 +116,7 @@ class CreateView(horizon_forms.ModalFormView):
|
||||||
|
|
||||||
for dependent_resource in instance.dependent_resources:
|
for dependent_resource in instance.dependent_resources:
|
||||||
if dependent_resource is not None:
|
if dependent_resource is not None:
|
||||||
dependent = smaugclient.protectable_get_instance(
|
dependent = karborclient.protectable_get_instance(
|
||||||
self.request,
|
self.request,
|
||||||
dependent_resource["type"],
|
dependent_resource["type"],
|
||||||
dependent_resource["id"])
|
dependent_resource["id"])
|
||||||
|
@ -129,19 +129,19 @@ class ScheduleProtectView(horizon_forms.ModalFormView):
|
||||||
form_id = "scheduleprotect_form"
|
form_id = "scheduleprotect_form"
|
||||||
form_class = forms.ScheduleProtectForm
|
form_class = forms.ScheduleProtectForm
|
||||||
submit_label = _("Schedule Protect")
|
submit_label = _("Schedule Protect")
|
||||||
submit_url = "horizon:smaug:protectionplans:scheduleprotect"
|
submit_url = "horizon:karbor:protectionplans:scheduleprotect"
|
||||||
success_url = reverse_lazy('horizon:smaug:protectionplans:index')
|
success_url = reverse_lazy('horizon:karbor:protectionplans:index')
|
||||||
page_title = _("Schedule Protect")
|
page_title = _("Schedule Protect")
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
try:
|
try:
|
||||||
return smaugclient.plan_get(self.request, self.kwargs['plan_id'])
|
return karborclient.plan_get(self.request, self.kwargs['plan_id'])
|
||||||
except Exception:
|
except Exception:
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to schedule protect.'),
|
_('Unable to schedule protect.'),
|
||||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
redirect=reverse("horizon:karbor:protectionplans:index"))
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(ScheduleProtectView, self).get_context_data(**kwargs)
|
context = super(ScheduleProtectView, self).get_context_data(**kwargs)
|
||||||
|
@ -168,31 +168,31 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||||
context["plan"] = plan
|
context["plan"] = plan
|
||||||
context["provider"] = self.get_provider(plan.provider_id)
|
context["provider"] = self.get_provider(plan.provider_id)
|
||||||
context["instances"] = self.get_instances(plan.resources)
|
context["instances"] = self.get_instances(plan.resources)
|
||||||
context["url"] = reverse("horizon:smaug:protectionplans:index")
|
context["url"] = reverse("horizon:karbor:protectionplans:index")
|
||||||
context["actions"] = table.render_row_actions(plan)
|
context["actions"] = table.render_row_actions(plan)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
def get_data(self):
|
def get_data(self):
|
||||||
try:
|
try:
|
||||||
return smaugclient.plan_get(self.request, self.kwargs['plan_id'])
|
return karborclient.plan_get(self.request, self.kwargs['plan_id'])
|
||||||
except Exception:
|
except Exception:
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to retrieve protection plan details.'),
|
_('Unable to retrieve protection plan details.'),
|
||||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
redirect=reverse("horizon:karbor:protectionplans:index"))
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
def get_provider(self, provider_id):
|
def get_provider(self, provider_id):
|
||||||
provider = None
|
provider = None
|
||||||
if provider_id:
|
if provider_id:
|
||||||
try:
|
try:
|
||||||
provider = smaugclient.provider_get(self.request, provider_id)
|
provider = karborclient.provider_get(self.request, provider_id)
|
||||||
except Exception:
|
except Exception:
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to retrieve protection provider details.'),
|
_('Unable to retrieve protection provider details.'),
|
||||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
redirect=reverse("horizon:karbor:protectionplans:index"))
|
||||||
return provider
|
return provider
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
|
@ -202,7 +202,7 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||||
for instance in instances:
|
for instance in instances:
|
||||||
instance["showid"] = str(uuid.uuid4())
|
instance["showid"] = str(uuid.uuid4())
|
||||||
result.append(protectables.Instances(self, instance))
|
result.append(protectables.Instances(self, instance))
|
||||||
detail_instance = smaugclient.protectable_get_instance(
|
detail_instance = karborclient.protectable_get_instance(
|
||||||
self.request,
|
self.request,
|
||||||
instance["type"].strip(),
|
instance["type"].strip(),
|
||||||
instance["id"].strip())
|
instance["id"].strip())
|
||||||
|
@ -218,4 +218,4 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to get instances.'),
|
_('Unable to get instances.'),
|
||||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
redirect=reverse("horizon:karbor:protectionplans:index"))
|
|
@ -15,7 +15,7 @@
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
import horizon
|
import horizon
|
||||||
|
|
||||||
from smaug_dashboard import dashboard
|
from karbor_dashboard import dashboard
|
||||||
|
|
||||||
|
|
||||||
class ProtectionProviders(horizon.Panel):
|
class ProtectionProviders(horizon.Panel):
|
|
@ -27,7 +27,7 @@ class ShowCheckpointsAction(tables.Action):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def single(self, table, request, obj_id):
|
def single(self, table, request, obj_id):
|
||||||
redirect = reverse("horizon:smaug:checkpoints:index",
|
redirect = reverse("horizon:karbor:checkpoints:index",
|
||||||
args=(obj_id,))
|
args=(obj_id,))
|
||||||
return http.HttpResponseRedirect(redirect)
|
return http.HttpResponseRedirect(redirect)
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ class ProtectionProviderFilterAction(tables.FilterAction):
|
||||||
|
|
||||||
class ProtectionProvidersTable(tables.DataTable):
|
class ProtectionProvidersTable(tables.DataTable):
|
||||||
name = tables.Column('name',
|
name = tables.Column('name',
|
||||||
link="horizon:smaug:protectionproviders:detail",
|
link="horizon:karbor:protectionproviders:detail",
|
||||||
verbose_name=_('Name'))
|
verbose_name=_('Name'))
|
||||||
description = tables.Column('description',
|
description = tables.Column('description',
|
||||||
verbose_name=_('Description'))
|
verbose_name=_('Description'))
|
|
@ -17,8 +17,8 @@ from django.utils.translation import ugettext_lazy as _
|
||||||
from horizon import exceptions
|
from horizon import exceptions
|
||||||
from horizon import tabs
|
from horizon import tabs
|
||||||
|
|
||||||
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
import simplejson as json
|
import simplejson as json
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
|
||||||
|
|
||||||
|
|
||||||
class OptionsSchemaTab(tabs.Tab):
|
class OptionsSchemaTab(tabs.Tab):
|
||||||
|
@ -29,7 +29,7 @@ class OptionsSchemaTab(tabs.Tab):
|
||||||
def get_context_data(self, request):
|
def get_context_data(self, request):
|
||||||
try:
|
try:
|
||||||
provider_id = self.tab_group.kwargs['provider_id']
|
provider_id = self.tab_group.kwargs['provider_id']
|
||||||
provider = smaugclient.provider_get(request, provider_id)
|
provider = karborclient.provider_get(request, provider_id)
|
||||||
|
|
||||||
schema = {}
|
schema = {}
|
||||||
if provider is not None:
|
if provider is not None:
|
||||||
|
@ -51,7 +51,7 @@ class RestoreSchemaTab(tabs.Tab):
|
||||||
def get_context_data(self, request):
|
def get_context_data(self, request):
|
||||||
try:
|
try:
|
||||||
provider_id = self.tab_group.kwargs['provider_id']
|
provider_id = self.tab_group.kwargs['provider_id']
|
||||||
provider = smaugclient.provider_get(request, provider_id)
|
provider = karborclient.provider_get(request, provider_id)
|
||||||
|
|
||||||
schema = {}
|
schema = {}
|
||||||
if provider is not None:
|
if provider is not None:
|
||||||
|
@ -73,7 +73,7 @@ class SavedInfoSchemaTab(tabs.Tab):
|
||||||
def get_context_data(self, request):
|
def get_context_data(self, request):
|
||||||
try:
|
try:
|
||||||
provider_id = self.tab_group.kwargs['provider_id']
|
provider_id = self.tab_group.kwargs['provider_id']
|
||||||
provider = smaugclient.provider_get(request, provider_id)
|
provider = karborclient.provider_get(request, provider_id)
|
||||||
schema = {}
|
schema = {}
|
||||||
if provider is not None:
|
if provider is not None:
|
||||||
if 'saved_info_schema' in provider.extended_info_schema:
|
if 'saved_info_schema' in provider.extended_info_schema:
|
|
@ -13,7 +13,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
from smaug_dashboard.protectionproviders import views
|
from karbor_dashboard.protectionproviders import views
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
|
@ -20,9 +20,9 @@ from horizon import tables as horizon_tables
|
||||||
from horizon import tabs as horizon_tabs
|
from horizon import tabs as horizon_tabs
|
||||||
from horizon.utils import memoized
|
from horizon.utils import memoized
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
from smaug_dashboard.protectionproviders import tables
|
from karbor_dashboard.protectionproviders import tables
|
||||||
from smaug_dashboard.protectionproviders import tabs
|
from karbor_dashboard.protectionproviders import tabs
|
||||||
|
|
||||||
|
|
||||||
class IndexView(horizon_tables.DataTableView):
|
class IndexView(horizon_tables.DataTableView):
|
||||||
|
@ -50,7 +50,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
providers = []
|
providers = []
|
||||||
try:
|
try:
|
||||||
providers, self._more, self._prev = \
|
providers, self._more, self._prev = \
|
||||||
smaugclient.provider_list_paged(
|
karborclient.provider_list_paged(
|
||||||
request, None,
|
request, None,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
paginate=True,
|
paginate=True,
|
||||||
|
@ -67,7 +67,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
|
|
||||||
|
|
||||||
class DetailView(horizon_tabs.TabView):
|
class DetailView(horizon_tabs.TabView):
|
||||||
redirect_url = "horizon:smaug:protectionproviders:index"
|
redirect_url = "horizon:karbor:protectionproviders:index"
|
||||||
tab_group_class = tabs.ProviderDetailTabs
|
tab_group_class = tabs.ProviderDetailTabs
|
||||||
template_name = 'protectionproviders/detail.html'
|
template_name = 'protectionproviders/detail.html'
|
||||||
page_title = "{{ provider.name }}"
|
page_title = "{{ provider.name }}"
|
||||||
|
@ -81,12 +81,12 @@ class DetailView(horizon_tabs.TabView):
|
||||||
def get_data(self):
|
def get_data(self):
|
||||||
try:
|
try:
|
||||||
provider_id = self.kwargs['provider_id']
|
provider_id = self.kwargs['provider_id']
|
||||||
provider = smaugclient.provider_get(self.request, provider_id)
|
provider = karborclient.provider_get(self.request, provider_id)
|
||||||
except Exception:
|
except Exception:
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to retrieve protection provider details.'),
|
_('Unable to retrieve protection provider details.'),
|
||||||
redirect=reverse("horizon:smaug:protectionproviders:index"))
|
redirect=reverse("horizon:karbor:protectionproviders:index"))
|
||||||
return provider
|
return provider
|
||||||
|
|
||||||
def get_tabs(self, request, *args, **kwargs):
|
def get_tabs(self, request, *args, **kwargs):
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 850 B After Width: | Height: | Size: 850 B |
|
@ -17,7 +17,7 @@
|
||||||
function setRestoredResource() {
|
function setRestoredResource() {
|
||||||
var trResources = $("#checkpointRestoreResource tr[resource-id]");
|
var trResources = $("#checkpointRestoreResource tr[resource-id]");
|
||||||
var provider = $.parseJSON($(".provider").val());
|
var provider = $.parseJSON($(".provider").val());
|
||||||
var parameters = $.Smaug.getResourceDefaultParameters(provider, "restore_schema");
|
var parameters = $.Karbor.getResourceDefaultParameters(provider, "restore_schema");
|
||||||
if(trResources != null) {
|
if(trResources != null) {
|
||||||
trResources.each(function() {
|
trResources.each(function() {
|
||||||
var trResource = $(this);
|
var trResource = $(this);
|
||||||
|
@ -67,34 +67,34 @@ horizon.checkpoints_restore = {
|
||||||
if(schema != null) {
|
if(schema != null) {
|
||||||
var exist_ui_dialogs = $("body").has(".ui-dialog");
|
var exist_ui_dialogs = $("body").has(".ui-dialog");
|
||||||
if(exist_ui_dialogs.length == 0){
|
if(exist_ui_dialogs.length == 0){
|
||||||
var dialog_data = $.Smaug.createDialog(schema, userdata, resourceid);
|
var dialog_data = $.Karbor.createDialog(schema, userdata, resourceid);
|
||||||
$.Smaug.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
|
$.Karbor.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/* bind parameters dialog save button event */
|
/* bind parameters dialog save button event */
|
||||||
$(document).on('click', "#parametersdialog .btn.btn-primary", function() {
|
$(document).on('click', "#parametersdialog .btn.btn-primary", function() {
|
||||||
var flag = $.Smaug.check_required($("#parametersdialog"));
|
var flag = $.Karbor.check_required($("#parametersdialog"));
|
||||||
if(flag) {
|
if(flag) {
|
||||||
var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
|
var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
|
||||||
var form_controls = $("#parametersdialog .modal-body .form-control");
|
var form_controls = $("#parametersdialog .modal-body .form-control");
|
||||||
var userdata = $.Smaug.getDynamicValue(form_controls);
|
var userdata = $.Karbor.getDynamicValue(form_controls);
|
||||||
$("#checkpointRestoreResource").find("tr[resource-id='" + resourceid + "']")
|
$("#checkpointRestoreResource").find("tr[resource-id='" + resourceid + "']")
|
||||||
.find(".editparameters")
|
.find(".editparameters")
|
||||||
.data("userdata", userdata);
|
.data("userdata", userdata);
|
||||||
$.Smaug.closeDialog("#parametersdialog");
|
$.Karbor.closeDialog("#parametersdialog");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/* bind parameters dialog cancel button event */
|
/* bind parameters dialog cancel button event */
|
||||||
$(document).on('click', "#parametersdialog .btn.cancel", function() {
|
$(document).on('click', "#parametersdialog .btn.cancel", function() {
|
||||||
$.Smaug.closeDialog("#parametersdialog");
|
$.Karbor.closeDialog("#parametersdialog");
|
||||||
});
|
});
|
||||||
|
|
||||||
/* bind parameters dialog close button event */
|
/* bind parameters dialog close button event */
|
||||||
$(document).on('click', "#parametersdialog a.close", function() {
|
$(document).on('click', "#parametersdialog a.close", function() {
|
||||||
$.Smaug.closeDialog("#parametersdialog");
|
$.Karbor.closeDialog("#parametersdialog");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* jQuery Smaug Function
|
* jQuery Karbor Function
|
||||||
*/
|
*/
|
||||||
|
|
||||||
(function ($) {
|
(function ($) {
|
||||||
|
@ -171,7 +171,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$.Smaug = {
|
$.Karbor = {
|
||||||
|
|
||||||
/* get the default resources parameters */
|
/* get the default resources parameters */
|
||||||
getResourceDefaultParameters: function(provider, schemaname) {
|
getResourceDefaultParameters: function(provider, schemaname) {
|
|
@ -32,7 +32,7 @@ function setProtectedResource() {
|
||||||
var resources = [];
|
var resources = [];
|
||||||
var cbResources = $(".cbresource:checked");
|
var cbResources = $(".cbresource:checked");
|
||||||
var provider = getProvider($("select[name='provider_id']").val());
|
var provider = getProvider($("select[name='provider_id']").val());
|
||||||
var parameters = $.Smaug.getResourceDefaultParameters(provider, "options_schema");
|
var parameters = $.Karbor.getResourceDefaultParameters(provider, "options_schema");
|
||||||
if(cbResources != null) {
|
if(cbResources != null) {
|
||||||
cbResources.each(function() {
|
cbResources.each(function() {
|
||||||
var cbResource = $(this);
|
var cbResource = $(this);
|
||||||
|
@ -132,34 +132,34 @@ horizon.protectionplans_create = {
|
||||||
if(schema != null) {
|
if(schema != null) {
|
||||||
var exist_ui_dialogs = $("body").has(".ui-dialog");
|
var exist_ui_dialogs = $("body").has(".ui-dialog");
|
||||||
if(exist_ui_dialogs.length == 0){
|
if(exist_ui_dialogs.length == 0){
|
||||||
var dialog_data = $.Smaug.createDialog(schema, userdata, resourceid);
|
var dialog_data = $.Karbor.createDialog(schema, userdata, resourceid);
|
||||||
$.Smaug.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
|
$.Karbor.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/* bind parameters dialog save button event */
|
/* bind parameters dialog save button event */
|
||||||
$(document).on('click', "#parametersdialog .btn.btn-primary", function() {
|
$(document).on('click', "#parametersdialog .btn.btn-primary", function() {
|
||||||
var flag = $.Smaug.check_required($("#parametersdialog"));
|
var flag = $.Karbor.check_required($("#parametersdialog"));
|
||||||
if(flag) {
|
if(flag) {
|
||||||
var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
|
var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
|
||||||
var form_controls = $("#parametersdialog .modal-body .form-control");
|
var form_controls = $("#parametersdialog .modal-body .form-control");
|
||||||
var userdata = $.Smaug.getDynamicValue(form_controls);
|
var userdata = $.Karbor.getDynamicValue(form_controls);
|
||||||
$("#protectionplanCreateResource").find("tr[resource-id='" + resourceid + "']")
|
$("#protectionplanCreateResource").find("tr[resource-id='" + resourceid + "']")
|
||||||
.find(".editparameters")
|
.find(".editparameters")
|
||||||
.data("userdata", userdata);
|
.data("userdata", userdata);
|
||||||
$.Smaug.closeDialog("#parametersdialog");
|
$.Karbor.closeDialog("#parametersdialog");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/* bind parameters dialog cancel button event */
|
/* bind parameters dialog cancel button event */
|
||||||
$(document).on('click', "#parametersdialog .btn.cancel", function() {
|
$(document).on('click', "#parametersdialog .btn.cancel", function() {
|
||||||
$.Smaug.closeDialog("#parametersdialog");
|
$.Karbor.closeDialog("#parametersdialog");
|
||||||
});
|
});
|
||||||
|
|
||||||
/* bind parameters dialog close button event */
|
/* bind parameters dialog close button event */
|
||||||
$(document).on('click', "#parametersdialog a.close", function() {
|
$(document).on('click', "#parametersdialog a.close", function() {
|
||||||
$.Smaug.closeDialog("#parametersdialog");
|
$.Karbor.closeDialog("#parametersdialog");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
{% block css %}
|
{% block css %}
|
||||||
{% compress css %}
|
{% compress css %}
|
||||||
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
|
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
|
||||||
{% endcompress %}
|
{% endcompress %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
{% block css %}
|
{% block css %}
|
||||||
{% compress css %}
|
{% compress css %}
|
||||||
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
|
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
|
||||||
{% endcompress %}
|
{% endcompress %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
{% block css %}
|
{% block css %}
|
||||||
{% compress css %}
|
{% compress css %}
|
||||||
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
|
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
|
||||||
{% endcompress %}
|
{% endcompress %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
{% block css %}
|
{% block css %}
|
||||||
{% compress css %}
|
{% compress css %}
|
||||||
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
|
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
|
||||||
{% endcompress %}
|
{% endcompress %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -0,0 +1,994 @@
|
||||||
|
# Copyright (c) 2016 Huawei, Inc.
|
||||||
|
#
|
||||||
|
# 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.conf import settings
|
||||||
|
from django.test.utils import override_settings
|
||||||
|
|
||||||
|
from karbor_dashboard.api import karbor
|
||||||
|
from karbor_dashboard.test import helpers as test
|
||||||
|
|
||||||
|
|
||||||
|
class karborApiTests(test.APITestCase):
|
||||||
|
def test_plan_get(self):
|
||||||
|
plan = self.plans.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.get(plan["id"]).AndReturn(plan)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_plan = karbor.plan_get(self.request,
|
||||||
|
plan_id='fake_plan_id1')
|
||||||
|
self.assertEqual(plan["id"], ret_plan["id"])
|
||||||
|
|
||||||
|
def test_plan_create(self):
|
||||||
|
plan = self.plans.first()
|
||||||
|
fake_resources = plan["resources"]
|
||||||
|
fake_parameters = plan["parameters"]
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.create(plan["name"], plan["provider_id"],
|
||||||
|
plan["resources"],
|
||||||
|
plan["parameters"]).AndReturn(plan)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_plan = karbor.plan_create(self.request,
|
||||||
|
name="fake_name_1",
|
||||||
|
provider_id="fake_provider_id1",
|
||||||
|
resources=fake_resources,
|
||||||
|
parameters=fake_parameters)
|
||||||
|
self.assertEqual(len(plan), len(ret_plan))
|
||||||
|
|
||||||
|
def test_plan_delete(self):
|
||||||
|
plan = self.plans.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.delete(plan["id"])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
karbor.plan_delete(self.request,
|
||||||
|
plan_id="fake_plan_id1")
|
||||||
|
|
||||||
|
def test_plan_update(self):
|
||||||
|
plan = self.plans.first()
|
||||||
|
plan2 = self.plans.list()[0]
|
||||||
|
data = {"name": "fake_name_new"}
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.update(plan["id"], data).AndReturn(plan2)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_plan = karbor.plan_update(self.request,
|
||||||
|
plan_id="fake_plan_id1",
|
||||||
|
data=data)
|
||||||
|
self.assertEqual(plan["name"], ret_plan["name"])
|
||||||
|
|
||||||
|
def test_plan_list(self):
|
||||||
|
plans = self.plans.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(plans)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_list = karbor.plan_list(self.request)
|
||||||
|
self.assertEqual(len(plans), len(ret_list))
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=4)
|
||||||
|
def test_plan_list_paged_equal_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
||||||
|
|
||||||
|
plan = self.plans.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(plan)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.plan_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=20)
|
||||||
|
def test_plan_list_paged_less_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
||||||
|
plan = self.plans.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(plan)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.plan_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(len(plan), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=1)
|
||||||
|
def test_plan_list_paged_more_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
||||||
|
plan = self.plans.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(plan[:page_size + 1])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.plan_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertTrue(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
def test_plan_list_paged_false(self):
|
||||||
|
plans = self.plans.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.plans = self.mox.CreateMockAnything()
|
||||||
|
karborclient.plans.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(plans)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
plans, has_more_data, has_prev_data = karbor.plan_list_paged(
|
||||||
|
self.request)
|
||||||
|
self.assertEqual(len(plans), len(plans))
|
||||||
|
|
||||||
|
def test_scheduled_operation_create(self):
|
||||||
|
scheduled_operation = self.scheduled_operations.first()
|
||||||
|
operation_definition = {"trigger_id": "fake_trigger_id1",
|
||||||
|
"plan_id": "fake_plan_id"}
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.scheduled_operations = self.mox.CreateMockAnything()
|
||||||
|
karborclient.scheduled_operations.create(
|
||||||
|
"My-scheduled-operation",
|
||||||
|
"protect",
|
||||||
|
"fake_trigger_id1",
|
||||||
|
operation_definition).AndReturn(scheduled_operation)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_so = karbor.scheduled_operation_create(
|
||||||
|
self.request,
|
||||||
|
name="My-scheduled-operation",
|
||||||
|
operation_type="protect",
|
||||||
|
trigger_id="fake_trigger_id1",
|
||||||
|
operation_definition=operation_definition)
|
||||||
|
self.assertEqual(scheduled_operation["id"], ret_so["id"])
|
||||||
|
|
||||||
|
def test_scheduled_operation_delete(self):
|
||||||
|
scheduled_operation = self.scheduled_operations.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.scheduled_operations = self.mox.CreateMockAnything()
|
||||||
|
karborclient.scheduled_operations.delete(scheduled_operation["id"])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
karbor.scheduled_operation_delete(self.request,
|
||||||
|
scheduled_operation["id"])
|
||||||
|
|
||||||
|
def test_scheduled_operation_list(self):
|
||||||
|
scheduled_operation = self.scheduled_operations.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.scheduled_operations = self.mox.CreateMockAnything()
|
||||||
|
karborclient.scheduled_operations.list(
|
||||||
|
detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(scheduled_operation)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.scheduled_operation_list(self.request)
|
||||||
|
self.assertEqual(len(scheduled_operation), len(ret_val))
|
||||||
|
|
||||||
|
def test_scheduled_operation_list_false(self):
|
||||||
|
scheduled_operation = self.scheduled_operations.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.scheduled_operations = self.mox.CreateMockAnything()
|
||||||
|
karborclient.scheduled_operations.list(
|
||||||
|
detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(scheduled_operation)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = \
|
||||||
|
karbor.scheduled_operation_list_paged(self.request, paginate=False)
|
||||||
|
self.assertEqual(len(scheduled_operation), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=4)
|
||||||
|
def test_scheduled_operation_list_paged_equal_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
||||||
|
scd_operation = self.scheduled_operations.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.scheduled_operations = self.mox.CreateMockAnything()
|
||||||
|
karborclient.scheduled_operations.list(
|
||||||
|
detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(scd_operation)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = \
|
||||||
|
karbor.scheduled_operation_list_paged(self.request, paginate=True)
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=20)
|
||||||
|
def test_scheduled_operation_list_paged_less_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
||||||
|
scd_operation = self.scheduled_operations.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.scheduled_operations = self.mox.CreateMockAnything()
|
||||||
|
karborclient.scheduled_operations.list(
|
||||||
|
detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(scd_operation)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = \
|
||||||
|
karbor.scheduled_operation_list_paged(self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(len(scd_operation), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=1)
|
||||||
|
def test_scheduled_operation_list_paged_more_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
||||||
|
scd_operation = self.scheduled_operations.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.scheduled_operations = self.mox.CreateMockAnything()
|
||||||
|
karborclient.scheduled_operations.list(
|
||||||
|
detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(scd_operation[:page_size + 1])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = \
|
||||||
|
karbor.scheduled_operation_list_paged(self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertTrue(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
def test_scheduled_operation_get(self):
|
||||||
|
scheduled_operation = self.scheduled_operations.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.scheduled_operations = self.mox.CreateMockAnything()
|
||||||
|
karborclient.scheduled_operations.get(
|
||||||
|
scheduled_operation["id"]).AndReturn(scheduled_operation)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.scheduled_operation_get(self.request,
|
||||||
|
"fake_scheduled_operation_1")
|
||||||
|
self.assertEqual(scheduled_operation["id"], ret_val["id"])
|
||||||
|
|
||||||
|
def test_restore_create(self):
|
||||||
|
restore = self.restores.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.restores = self.mox.CreateMockAnything()
|
||||||
|
karborclient.restores.create(restore["provider_id"],
|
||||||
|
restore["checkpoint_id"],
|
||||||
|
restore["restore_target"],
|
||||||
|
restore["parameters"]).AndReturn(restore)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.restore_create(self.request,
|
||||||
|
restore["provider_id"],
|
||||||
|
restore["checkpoint_id"],
|
||||||
|
restore["restore_target"],
|
||||||
|
restore["parameters"])
|
||||||
|
self.assertEqual(restore["id"], ret_val["id"])
|
||||||
|
|
||||||
|
def test_restore_delete(self):
|
||||||
|
restore = self.restores.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.restores = self.mox.CreateMockAnything()
|
||||||
|
karborclient.restores.delete(restore["id"]).AndReturn(restore)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
karbor.restore_delete(self.request, restore["id"])
|
||||||
|
|
||||||
|
def test_restore_list(self):
|
||||||
|
restores = self.restores.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.restores = self.mox.CreateMockAnything()
|
||||||
|
karborclient.restores.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(restores)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.restore_list(self.request)
|
||||||
|
self.assertEqual(len(restores), len(ret_val))
|
||||||
|
|
||||||
|
def test_restore_list_false(self):
|
||||||
|
restores = self.restores.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.restores = self.mox.CreateMockAnything()
|
||||||
|
karborclient.restores.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(restores)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
|
||||||
|
self.request, paginate=False)
|
||||||
|
self.assertEqual(len(restores), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=4)
|
||||||
|
def test_restore_list_paged_equal_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
||||||
|
restore_list = self.restores.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.restores = self.mox.CreateMockAnything()
|
||||||
|
karborclient.restores.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(restore_list)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=20)
|
||||||
|
def test_restore_list_paged_less_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
||||||
|
restore_list = self.restores.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.restores = self.mox.CreateMockAnything()
|
||||||
|
karborclient.restores.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(restore_list)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(len(restore_list), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=1)
|
||||||
|
def test_restore_list_paged_more_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
||||||
|
restore_list = self.restores.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.restores = self.mox.CreateMockAnything()
|
||||||
|
karborclient.restores.list(
|
||||||
|
detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(restore_list[:page_size + 1])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertTrue(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
def test_restore_get(self):
|
||||||
|
restore = self.restores.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.restores = self.mox.CreateMockAnything()
|
||||||
|
karborclient.restores.get(restore["id"]).AndReturn(restore)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.restore_get(self.request, restore["id"])
|
||||||
|
self.assertEqual(restore["id"], ret_val["id"])
|
||||||
|
|
||||||
|
def test_protectable_list(self):
|
||||||
|
protectables_list = self.protectables_list.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.protectables = self.mox.CreateMockAnything()
|
||||||
|
karborclient.protectables.list().AndReturn(protectables_list)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.protectable_list(self.request)
|
||||||
|
self.assertEqual(len(protectables_list), len(ret_val))
|
||||||
|
|
||||||
|
def test_protectable_get(self):
|
||||||
|
protectable = self.protectables_show.list()[0]
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.protectables = self.mox.CreateMockAnything()
|
||||||
|
karborclient.protectables.get("OS::Nova::Server"
|
||||||
|
).AndReturn(protectable)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.protectable_get(self.request,
|
||||||
|
protectable_type="OS::Nova::Server")
|
||||||
|
self.assertEqual(protectable["name"], ret_val["name"])
|
||||||
|
|
||||||
|
def test_protectable_get_instance(self):
|
||||||
|
protectable = self.protectables_ins.list()[1]
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.protectables = self.mox.CreateMockAnything()
|
||||||
|
karborclient.protectables.get_instance("OS::Nova::Server",
|
||||||
|
protectable["id"]
|
||||||
|
).AndReturn(protectable)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.protectable_get_instance(self.request,
|
||||||
|
"OS::Nova::Server",
|
||||||
|
protectable["id"]
|
||||||
|
)
|
||||||
|
self.assertEqual(protectable["name"], ret_val["name"])
|
||||||
|
|
||||||
|
def test_protectable_list_instances(self):
|
||||||
|
protectable = self.protectables_ins.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.protectables = self.mox.CreateMockAnything()
|
||||||
|
karborclient.protectables.list_instances(
|
||||||
|
protectable_type="OS::Nova::Server",
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(protectable)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.protectable_list_instances(
|
||||||
|
self.request, protectable_type="OS::Nova::Server")
|
||||||
|
self.assertEqual(len(protectable), len(ret_val))
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=4)
|
||||||
|
def test_protectable_list_instances_paged_equal_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
||||||
|
protectable_list = self.protectables_ins.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.protectables = self.mox.CreateMockAnything()
|
||||||
|
karborclient.protectables.list_instances("OS::Nova::Server",
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None,
|
||||||
|
).AndReturn(protectable_list)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = \
|
||||||
|
karbor.protectable_list_instances_paged(
|
||||||
|
self.request,
|
||||||
|
paginate=True,
|
||||||
|
protectable_type="OS::Nova::Server")
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=20)
|
||||||
|
def test_protectable_list_instances_paged_less_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
||||||
|
protectable_list = self.protectables_ins.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.protectables = self.mox.CreateMockAnything()
|
||||||
|
karborclient.protectables.list_instances("OS::Nova::Server",
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None,
|
||||||
|
).AndReturn(protectable_list)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = \
|
||||||
|
karbor.protectable_list_instances_paged(
|
||||||
|
self.request,
|
||||||
|
paginate=True,
|
||||||
|
protectable_type="OS::Nova::Server")
|
||||||
|
self.assertEqual(len(protectable_list), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=1)
|
||||||
|
def test_protectable_list_instances_paged_more_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
||||||
|
protectable_list = self.protectables_ins.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.protectables = self.mox.CreateMockAnything()
|
||||||
|
karborclient.protectables.list_instances(
|
||||||
|
"OS::Nova::Server",
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None
|
||||||
|
).AndReturn(protectable_list[:page_size + 1])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
ret_val, has_more_data, has_prev_data = \
|
||||||
|
karbor.protectable_list_instances_paged(
|
||||||
|
self.request,
|
||||||
|
paginate=True,
|
||||||
|
protectable_type="OS::Nova::Server")
|
||||||
|
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertTrue(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
def test_protectable_list_instances_false(self):
|
||||||
|
protectable = self.protectables_ins.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.protectables = self.mox.CreateMockAnything()
|
||||||
|
karborclient.protectables.list_instances(
|
||||||
|
"OS::Nova::Server",
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None
|
||||||
|
).AndReturn(protectable)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = \
|
||||||
|
karbor.protectable_list_instances_paged(
|
||||||
|
self.request,
|
||||||
|
protectable_type="OS::Nova::Server")
|
||||||
|
self.assertEqual(len(protectable), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
def test_provider_list(self):
|
||||||
|
providers = self.providers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.providers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.providers.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(providers)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.provider_list(self.request)
|
||||||
|
self.assertEqual(len(providers), len(ret_val))
|
||||||
|
|
||||||
|
def test_provider_list_paged_false(self):
|
||||||
|
providers = self.providers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.providers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.providers.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(providers)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.provider_list_paged(
|
||||||
|
self.request, paginate=False)
|
||||||
|
self.assertEqual(len(providers), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=4)
|
||||||
|
def test_provider_list_paged_equal_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
||||||
|
providers = self.providers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.providers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.providers.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(providers)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.provider_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=20)
|
||||||
|
def test_provider_list_paged_less_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
||||||
|
providers = self.providers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.providers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.providers.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(providers)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.provider_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
self.assertEqual(len(providers), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=1)
|
||||||
|
def test_provider_list_paged_more_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
||||||
|
providers = self.providers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.providers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.providers.list(
|
||||||
|
detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(providers[:page_size + 1])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.provider_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertTrue(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
def test_provider_get(self):
|
||||||
|
provider = self.providers.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.providers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.providers.get(provider["id"]).AndReturn(provider)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_provider = karbor.provider_get(self.request,
|
||||||
|
provider_id="fake_provider_id")
|
||||||
|
self.assertEqual(provider["name"], ret_provider["name"])
|
||||||
|
|
||||||
|
def test_checkpoint_create(self):
|
||||||
|
checkpoint = self.checkpoints.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.checkpoints = self.mox.CreateMockAnything()
|
||||||
|
karborclient.checkpoints.create(
|
||||||
|
checkpoint["provider_id"],
|
||||||
|
checkpoint["plan"]["plan_id"]).AndReturn(checkpoint)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_checkpoint = karbor.checkpoint_create(
|
||||||
|
self.request,
|
||||||
|
provider_id="fake_provider_id",
|
||||||
|
plan_id="fake_plan_id")
|
||||||
|
self.assertEqual(checkpoint["id"], ret_checkpoint["id"])
|
||||||
|
|
||||||
|
def test_checkpoint_delete(self):
|
||||||
|
checkpoint = self.checkpoints.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.checkpoints = self.mox.CreateMockAnything()
|
||||||
|
karborclient.checkpoints.delete(checkpoint["provider_id"],
|
||||||
|
checkpoint["id"])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
karbor.checkpoint_delete(self.request,
|
||||||
|
provider_id="fake_provider_id",
|
||||||
|
checkpoint_id="fake_checkpoint_id")
|
||||||
|
|
||||||
|
def test_checkpoint_list(self):
|
||||||
|
checkpoints = self.checkpoints.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.checkpoints = self.mox.CreateMockAnything()
|
||||||
|
karborclient.checkpoints.list(provider_id=None,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(checkpoints)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_checkpoints = karbor.checkpoint_list(self.request)
|
||||||
|
self.assertEqual(len(checkpoints), len(ret_checkpoints))
|
||||||
|
|
||||||
|
def test_checkpoint_list_paged_false(self):
|
||||||
|
checkpoints = self.checkpoints.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.checkpoints = self.mox.CreateMockAnything()
|
||||||
|
karborclient.checkpoints.list(provider_id=None,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(checkpoints)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.checkpoint_list_paged(
|
||||||
|
self.request, paginate=False)
|
||||||
|
self.assertEqual(len(checkpoints), len(ret_val))
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=4)
|
||||||
|
def test_checkpoint_list_paged_equal_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
||||||
|
checkpoints = self.checkpoints.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.checkpoints = self.mox.CreateMockAnything()
|
||||||
|
karborclient.checkpoints.list(provider_id=None,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(checkpoints)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.checkpoint_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=20)
|
||||||
|
def test_checkpoint_list_paged_less_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
||||||
|
checkpoints = self.checkpoints.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.checkpoints = self.mox.CreateMockAnything()
|
||||||
|
karborclient.checkpoints.list(provider_id=None,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(checkpoints)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.checkpoint_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
self.assertEqual(len(checkpoints), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=1)
|
||||||
|
def test_checkpoint_list_paged_more_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
||||||
|
checkpoint2 = self.checkpoints.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.checkpoints = self.mox.CreateMockAnything()
|
||||||
|
karborclient.checkpoints.list(
|
||||||
|
provider_id=None,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(checkpoint2[:page_size + 1])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.checkpoint_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertTrue(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
def test_checkpoint_get(self):
|
||||||
|
checkpoint = self.checkpoints.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.checkpoints = self.mox.CreateMockAnything()
|
||||||
|
karborclient.checkpoints.get(checkpoint["provider_id"],
|
||||||
|
checkpoint["id"]).AndReturn(checkpoint)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_checkpoint = karbor.checkpoint_get(
|
||||||
|
self.request,
|
||||||
|
provider_id="fake_provider_id",
|
||||||
|
checkpoint_id="fake_checkpoint_id")
|
||||||
|
self.assertEqual(checkpoint["id"], ret_checkpoint["id"])
|
||||||
|
|
||||||
|
def test_trigger_create(self):
|
||||||
|
trigger = self.triggers.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.triggers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.triggers.create(trigger["name"],
|
||||||
|
trigger["type"],
|
||||||
|
trigger["properties"]).AndReturn(trigger)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_trigger = karbor.trigger_create(self.request,
|
||||||
|
trigger["name"],
|
||||||
|
trigger["type"],
|
||||||
|
trigger["properties"])
|
||||||
|
self.assertEqual(trigger["id"], ret_trigger["id"])
|
||||||
|
|
||||||
|
def test_trigger_delete(self):
|
||||||
|
trigger = self.triggers.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.triggers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.triggers.delete(trigger["id"])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
karbor.trigger_delete(self.request, trigger["id"])
|
||||||
|
|
||||||
|
def test_trigger_list(self):
|
||||||
|
ret_triggers = self.triggers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.triggers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.triggers.list(detailed=False,
|
||||||
|
limit=None,
|
||||||
|
marker=None,
|
||||||
|
search_opts=None,
|
||||||
|
sort=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort_key=None).AndReturn(ret_triggers)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val = karbor.trigger_list(self.request)
|
||||||
|
self.assertEqual(len(ret_triggers), len(ret_val))
|
||||||
|
|
||||||
|
def test_trigger_list_paged_false(self):
|
||||||
|
ret_triggers = self.triggers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.triggers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.triggers.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=None,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(ret_triggers)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.trigger_list_paged(
|
||||||
|
self.request)
|
||||||
|
self.assertEqual(len(ret_triggers), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=4)
|
||||||
|
def test_trigger_list_paged_equal_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
||||||
|
ret_triggers = self.triggers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.triggers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.triggers.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(ret_triggers)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.trigger_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=20)
|
||||||
|
def test_trigger_list_paged_less_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
||||||
|
ret_triggers = self.triggers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.triggers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.triggers.list(detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(ret_triggers)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.trigger_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
self.assertEqual(len(ret_triggers), len(ret_val))
|
||||||
|
self.assertFalse(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
@override_settings(API_RESULT_PAGE_SIZE=1)
|
||||||
|
def test_trigger_list_paged_more_page_size(self):
|
||||||
|
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
||||||
|
trigger2 = self.triggers.list()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.triggers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.triggers.list(
|
||||||
|
detailed=False,
|
||||||
|
search_opts=None,
|
||||||
|
marker=None,
|
||||||
|
limit=page_size + 1,
|
||||||
|
sort_key=None,
|
||||||
|
sort_dir=None,
|
||||||
|
sort=None).AndReturn(trigger2[:page_size + 1])
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
ret_val, has_more_data, has_prev_data = karbor.trigger_list_paged(
|
||||||
|
self.request, paginate=True)
|
||||||
|
|
||||||
|
self.assertEqual(page_size, len(ret_val))
|
||||||
|
self.assertTrue(has_more_data)
|
||||||
|
self.assertFalse(has_prev_data)
|
||||||
|
|
||||||
|
def test_trigger_get(self):
|
||||||
|
trigger = self.triggers.first()
|
||||||
|
karborclient = self.stub_karborclient()
|
||||||
|
karborclient.triggers = self.mox.CreateMockAnything()
|
||||||
|
karborclient.triggers.get(trigger["id"]).AndReturn(trigger)
|
||||||
|
self.mox.ReplayAll()
|
||||||
|
|
||||||
|
ret_trigger = karbor.trigger_get(self.request,
|
||||||
|
trigger_id="fake_trigger_id")
|
||||||
|
self.assertEqual(trigger["id"], ret_trigger["id"])
|
|
@ -12,19 +12,19 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
from karbor_dashboard import api
|
||||||
|
from karbor_dashboard.test import test_data
|
||||||
|
from karborclient.v1 import client as karbor_client
|
||||||
from openstack_dashboard.test import helpers
|
from openstack_dashboard.test import helpers
|
||||||
from smaug_dashboard import api
|
|
||||||
from smaug_dashboard.test import test_data
|
|
||||||
from smaugclient.v1 import client as smaug_client
|
|
||||||
|
|
||||||
|
|
||||||
class APITestCase(helpers.APITestCase):
|
class APITestCase(helpers.APITestCase):
|
||||||
"""Extends the base Horizon APITestCase for smaugclient"""
|
"""Extends the base Horizon APITestCase for karborclient"""
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(APITestCase, self).setUp()
|
super(APITestCase, self).setUp()
|
||||||
self._original_smaugclient = api.smaug.smaugclient
|
self._original_karborclient = api.karbor.karborclient
|
||||||
api.smaug.smaugclient = lambda request: self.stub_smaugclient()
|
api.karbor.karborclient = lambda request: self.stub_karborclient()
|
||||||
|
|
||||||
def _setup_test_data(self):
|
def _setup_test_data(self):
|
||||||
super(APITestCase, self)._setup_test_data()
|
super(APITestCase, self)._setup_test_data()
|
||||||
|
@ -32,10 +32,10 @@ class APITestCase(helpers.APITestCase):
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
super(APITestCase, self).tearDown()
|
super(APITestCase, self).tearDown()
|
||||||
api.smaug.smaugclient = self._original_smaugclient
|
api.karbor.karborclient = self._original_karborclient
|
||||||
|
|
||||||
def stub_smaugclient(self):
|
def stub_karborclient(self):
|
||||||
if not hasattr(self, "smaugclient"):
|
if not hasattr(self, "karborclient"):
|
||||||
self.mox.StubOutWithMock(smaug_client, 'Client')
|
self.mox.StubOutWithMock(karbor_client, 'Client')
|
||||||
self.smaugclient = self.mox.CreateMock(smaug_client.Client)
|
self.karborclient = self.mox.CreateMock(karbor_client.Client)
|
||||||
return self.smaugclient
|
return self.karborclient
|
|
@ -33,7 +33,7 @@ STATIC_URL = '/static/'
|
||||||
|
|
||||||
SECRET_KEY = secret_key.generate_or_read_from_file(
|
SECRET_KEY = secret_key.generate_or_read_from_file(
|
||||||
os.path.join(TEST_DIR, '.secret_key_store'))
|
os.path.join(TEST_DIR, '.secret_key_store'))
|
||||||
ROOT_URLCONF = 'smaug_dashboard.test.urls'
|
ROOT_URLCONF = 'karbor_dashboard.test.urls'
|
||||||
TEMPLATE_DIRS = (
|
TEMPLATE_DIRS = (
|
||||||
os.path.join(TEST_DIR, 'templates'),
|
os.path.join(TEST_DIR, 'templates'),
|
||||||
)
|
)
|
||||||
|
@ -80,7 +80,7 @@ from openstack_dashboard.utils import settings
|
||||||
dashboard_module_names = [
|
dashboard_module_names = [
|
||||||
'openstack_dashboard.enabled',
|
'openstack_dashboard.enabled',
|
||||||
'openstack_dashboard.local.enabled',
|
'openstack_dashboard.local.enabled',
|
||||||
'smaug_dashboard.enabled',
|
'karbor_dashboard.enabled',
|
||||||
]
|
]
|
||||||
dashboard_modules = []
|
dashboard_modules = []
|
||||||
# All dashboards must be enabled for the namespace to get registered, which is
|
# All dashboards must be enabled for the namespace to get registered, which is
|
||||||
|
@ -151,7 +151,7 @@ LOGGING['loggers']['selenium'] = {
|
||||||
'propagate': False,
|
'propagate': False,
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGGING['loggers']['smaug_dashboard'] = {
|
LOGGING['loggers']['karbor_dashboard'] = {
|
||||||
'handlers': ['test'],
|
'handlers': ['test'],
|
||||||
'propagate': False,
|
'propagate': False,
|
||||||
}
|
}
|
|
@ -19,8 +19,8 @@ from horizon import exceptions
|
||||||
from horizon import forms as horizon_forms
|
from horizon import forms as horizon_forms
|
||||||
from horizon import messages
|
from horizon import messages
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
from smaug_dashboard.triggers import utils
|
from karbor_dashboard.triggers import utils
|
||||||
|
|
||||||
|
|
||||||
class CreateTriggerForm(horizon_forms.SelfHandlingForm):
|
class CreateTriggerForm(horizon_forms.SelfHandlingForm):
|
||||||
|
@ -66,10 +66,10 @@ class CreateTriggerForm(horizon_forms.SelfHandlingForm):
|
||||||
def handle(self, request, data):
|
def handle(self, request, data):
|
||||||
try:
|
try:
|
||||||
data_properties = utils.CrontabUtil.convert_to_crontab(data)
|
data_properties = utils.CrontabUtil.convert_to_crontab(data)
|
||||||
new_trigger = smaugclient.trigger_create(request,
|
new_trigger = karborclient.trigger_create(request,
|
||||||
data["name"],
|
data["name"],
|
||||||
data["type"],
|
data["type"],
|
||||||
data_properties)
|
data_properties)
|
||||||
messages.success(request, _("Trigger created successfully."))
|
messages.success(request, _("Trigger created successfully."))
|
||||||
|
|
||||||
return new_trigger
|
return new_trigger
|
|
@ -15,7 +15,7 @@
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
import horizon
|
import horizon
|
||||||
|
|
||||||
from smaug_dashboard import dashboard
|
from karbor_dashboard import dashboard
|
||||||
|
|
||||||
|
|
||||||
class Triggers(horizon.Panel):
|
class Triggers(horizon.Panel):
|
|
@ -17,13 +17,13 @@ from django.utils.translation import ungettext_lazy
|
||||||
|
|
||||||
from horizon import tables
|
from horizon import tables
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
|
|
||||||
|
|
||||||
class CreateTriggerLink(tables.LinkAction):
|
class CreateTriggerLink(tables.LinkAction):
|
||||||
name = "create"
|
name = "create"
|
||||||
verbose_name = _("Create Trigger")
|
verbose_name = _("Create Trigger")
|
||||||
url = "horizon:smaug:triggers:create"
|
url = "horizon:karbor:triggers:create"
|
||||||
classes = ("ajax-modal",)
|
classes = ("ajax-modal",)
|
||||||
icon = "plus"
|
icon = "plus"
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ class DeleteTriggersAction(tables.DeleteAction):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def delete(self, request, obj_id):
|
def delete(self, request, obj_id):
|
||||||
smaugclient.trigger_delete(request, obj_id)
|
karborclient.trigger_delete(request, obj_id)
|
||||||
|
|
||||||
|
|
||||||
class TriggerFilterAction(tables.FilterAction):
|
class TriggerFilterAction(tables.FilterAction):
|
||||||
|
@ -61,7 +61,7 @@ class TriggerFilterAction(tables.FilterAction):
|
||||||
|
|
||||||
class TriggersTable(tables.DataTable):
|
class TriggersTable(tables.DataTable):
|
||||||
name = tables.Column('name',
|
name = tables.Column('name',
|
||||||
link="horizon:smaug:triggers:detail",
|
link="horizon:karbor:triggers:detail",
|
||||||
verbose_name=_('Name'))
|
verbose_name=_('Name'))
|
||||||
type = tables.Column('type',
|
type = tables.Column('type',
|
||||||
verbose_name=_('Type'))
|
verbose_name=_('Type'))
|
|
@ -13,7 +13,7 @@
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
from smaug_dashboard.triggers import views
|
from karbor_dashboard.triggers import views
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
|
@ -22,10 +22,10 @@ from horizon import tables as horizon_tables
|
||||||
from horizon.utils import memoized
|
from horizon.utils import memoized
|
||||||
from horizon import views as horizon_views
|
from horizon import views as horizon_views
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug as smaugclient
|
from karbor_dashboard.api import karbor as karborclient
|
||||||
from smaug_dashboard.triggers import forms
|
from karbor_dashboard.triggers import forms
|
||||||
from smaug_dashboard.triggers import tables
|
from karbor_dashboard.triggers import tables
|
||||||
from smaug_dashboard.triggers import utils
|
from karbor_dashboard.triggers import utils
|
||||||
|
|
||||||
|
|
||||||
class IndexView(horizon_tables.DataTableView):
|
class IndexView(horizon_tables.DataTableView):
|
||||||
|
@ -52,7 +52,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||||
reversed_order = prev_marker is not None
|
reversed_order = prev_marker is not None
|
||||||
triggers = []
|
triggers = []
|
||||||
try:
|
try:
|
||||||
triggers, self._more, self._prev = smaugclient.trigger_list_paged(
|
triggers, self._more, self._prev = karborclient.trigger_list_paged(
|
||||||
request, None,
|
request, None,
|
||||||
marker=marker,
|
marker=marker,
|
||||||
paginate=True,
|
paginate=True,
|
||||||
|
@ -73,8 +73,8 @@ class CreateView(horizon_forms.ModalFormView):
|
||||||
form_id = "create_trigger_form"
|
form_id = "create_trigger_form"
|
||||||
form_class = forms.CreateTriggerForm
|
form_class = forms.CreateTriggerForm
|
||||||
submit_label = _("Create Trigger")
|
submit_label = _("Create Trigger")
|
||||||
submit_url = reverse_lazy("horizon:smaug:triggers:create")
|
submit_url = reverse_lazy("horizon:karbor:triggers:create")
|
||||||
success_url = reverse_lazy('horizon:smaug:triggers:index')
|
success_url = reverse_lazy('horizon:karbor:triggers:index')
|
||||||
page_title = _("Create Trigger")
|
page_title = _("Create Trigger")
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||||
setattr(trigger, key, value)
|
setattr(trigger, key, value)
|
||||||
|
|
||||||
context["trigger"] = trigger
|
context["trigger"] = trigger
|
||||||
context["url"] = reverse("horizon:smaug:triggers:index")
|
context["url"] = reverse("horizon:karbor:triggers:index")
|
||||||
context["actions"] = table.render_row_actions(trigger)
|
context["actions"] = table.render_row_actions(trigger)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
@ -104,10 +104,10 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||||
def get_data(self):
|
def get_data(self):
|
||||||
try:
|
try:
|
||||||
trigger_id = self.kwargs['trigger_id']
|
trigger_id = self.kwargs['trigger_id']
|
||||||
trigger = smaugclient.trigger_get(self.request, trigger_id)
|
trigger = karborclient.trigger_get(self.request, trigger_id)
|
||||||
except Exception:
|
except Exception:
|
||||||
exceptions.handle(
|
exceptions.handle(
|
||||||
self.request,
|
self.request,
|
||||||
_('Unable to retrieve trigger details.'),
|
_('Unable to retrieve trigger details.'),
|
||||||
redirect=reverse("horizon:smaug:triggers:index"))
|
redirect=reverse("horizon:karbor:triggers:index"))
|
||||||
return trigger
|
return trigger
|
|
@ -16,5 +16,5 @@
|
||||||
from pbr import version
|
from pbr import version
|
||||||
|
|
||||||
|
|
||||||
version_info = version.VersionInfo('smaug-dashboard')
|
version_info = version.VersionInfo('karbor-dashboard')
|
||||||
__version__ = version_info.cached_version_string()
|
__version__ = version_info.cached_version_string()
|
|
@ -16,4 +16,4 @@ import horizon
|
||||||
|
|
||||||
|
|
||||||
def get_user_home(user):
|
def get_user_home(user):
|
||||||
return horizon.get_dashboard('smaug').get_absolute_url()
|
return horizon.get_dashboard('karbor').get_absolute_url()
|
|
@ -19,5 +19,5 @@ from django.core.management import execute_from_command_line # noqa
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
|
||||||
"smaug_dashboard.test.settings")
|
"karbor_dashboard.test.settings")
|
||||||
execute_from_command_line(sys.argv)
|
execute_from_command_line(sys.argv)
|
||||||
|
|
|
@ -36,4 +36,3 @@ XStatic-Rickshaw>=1.5.0 # BSD License (prior)
|
||||||
XStatic-smart-table!=1.4.13.0,>=1.4.5.3 # MIT License
|
XStatic-smart-table!=1.4.13.0,>=1.4.5.3 # MIT License
|
||||||
XStatic-Spin>=1.2.5.2 # MIT License
|
XStatic-Spin>=1.2.5.2 # MIT License
|
||||||
XStatic-term.js>=0.0.4 # MIT License
|
XStatic-term.js>=0.0.4 # MIT License
|
||||||
python-smaugclient>=0.0.5 # Apache-2.0
|
|
||||||
|
|
30
run_tests.sh
30
run_tests.sh
|
@ -57,7 +57,7 @@ root=`pwd -P`
|
||||||
venv=$root/.venv
|
venv=$root/.venv
|
||||||
venv_env_version=$venv/environments
|
venv_env_version=$venv/environments
|
||||||
with_venv=tools/with_venv.sh
|
with_venv=tools/with_venv.sh
|
||||||
included_dirs="smaug_dashboard"
|
included_dirs="karbor_dashboard"
|
||||||
|
|
||||||
always_venv=0
|
always_venv=0
|
||||||
backup_env=0
|
backup_env=0
|
||||||
|
@ -187,7 +187,7 @@ function warn_on_flake8_without_venv {
|
||||||
function run_pep8 {
|
function run_pep8 {
|
||||||
echo "Running flake8 ..."
|
echo "Running flake8 ..."
|
||||||
warn_on_flake8_without_venv
|
warn_on_flake8_without_venv
|
||||||
DJANGO_SETTINGS_MODULE=smaug_dashboard.test.settings ${command_wrapper} flake8
|
DJANGO_SETTINGS_MODULE=karbor_dashboard.test.settings ${command_wrapper} flake8
|
||||||
}
|
}
|
||||||
|
|
||||||
function run_pep8_changed {
|
function run_pep8_changed {
|
||||||
|
@ -200,13 +200,13 @@ function run_pep8_changed {
|
||||||
files=$(git diff --name-only $base_commit | tr '\n' ' ')
|
files=$(git diff --name-only $base_commit | tr '\n' ' ')
|
||||||
echo "Running flake8 on ${files}"
|
echo "Running flake8 on ${files}"
|
||||||
warn_on_flake8_without_venv
|
warn_on_flake8_without_venv
|
||||||
diff -u --from-file /dev/null ${files} | DJANGO_SETTINGS_MODULE=smaug_dashboard.test.settings ${command_wrapper} flake8 --diff
|
diff -u --from-file /dev/null ${files} | DJANGO_SETTINGS_MODULE=karbor_dashboard.test.settings ${command_wrapper} flake8 --diff
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
function run_sphinx {
|
function run_sphinx {
|
||||||
echo "Building sphinx..."
|
echo "Building sphinx..."
|
||||||
DJANGO_SETTINGS_MODULE=smaug_dashboard.test.settings ${command_wrapper} python setup.py build_sphinx
|
DJANGO_SETTINGS_MODULE=karbor_dashboard.test.settings ${command_wrapper} python setup.py build_sphinx
|
||||||
echo "Build complete."
|
echo "Build complete."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -340,7 +340,7 @@ function run_tests {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $with_selenium -eq 0 -a $integration -eq 0 ]; then
|
if [ $with_selenium -eq 0 -a $integration -eq 0 ]; then
|
||||||
testopts="$testopts --exclude-dir=smaug_dashboard/test/integration_tests"
|
testopts="$testopts --exclude-dir=karbor_dashboard/test/integration_tests"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $selenium_headless -eq 1 ]; then
|
if [ $selenium_headless -eq 1 ]; then
|
||||||
|
@ -360,12 +360,12 @@ function run_tests_subset {
|
||||||
}
|
}
|
||||||
|
|
||||||
function run_tests_all {
|
function run_tests_all {
|
||||||
echo "Running Smaug Dashboard tests"
|
echo "Running Karbor Dashboard tests"
|
||||||
export NOSE_XUNIT_FILE=smaug_dashboard/nosetests.xml
|
export NOSE_XUNIT_FILE=karbor_dashboard/nosetests.xml
|
||||||
if [ "$NOSE_WITH_HTML_OUTPUT" = '1' ]; then
|
if [ "$NOSE_WITH_HTML_OUTPUT" = '1' ]; then
|
||||||
export NOSE_HTML_OUT_FILE='dashboard_nose_results.html'
|
export NOSE_HTML_OUT_FILE='dashboard_nose_results.html'
|
||||||
fi
|
fi
|
||||||
${command_wrapper} ${coverage_run} $root/manage.py test smaug_dashboard --settings=openstack_dashboard.test.settings $testopts
|
${command_wrapper} ${coverage_run} $root/manage.py test karbor_dashboard --settings=openstack_dashboard.test.settings $testopts
|
||||||
# get results of the openstack_dashboard tests
|
# get results of the openstack_dashboard tests
|
||||||
DASHBOARD_RESULT=$?
|
DASHBOARD_RESULT=$?
|
||||||
|
|
||||||
|
@ -420,21 +420,21 @@ function babel_extract {
|
||||||
|
|
||||||
function run_makemessages {
|
function run_makemessages {
|
||||||
|
|
||||||
echo -n "smaug dashboard: "
|
echo -n "karbor dashboard: "
|
||||||
cd smaug_dashboard
|
cd karbor_dashboard
|
||||||
babel_extract django
|
babel_extract django
|
||||||
SMAUG_PY_RESULT=$?
|
KARBOR_PY_RESULT=$?
|
||||||
|
|
||||||
echo -n "smaug dashboard javascript: "
|
echo -n "karbor dashboard javascript: "
|
||||||
babel_extract djangojs
|
babel_extract djangojs
|
||||||
SMAUG_JS_RESULT=$?
|
KARBOR_JS_RESULT=$?
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
if [ $check_only -eq 1 ]; then
|
if [ $check_only -eq 1 ]; then
|
||||||
rm smaug_dashboard/locale/django*.pot
|
rm karbor_dashboard/locale/django*.pot
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit $(($SMAUG_PY_RESULT || $SMAUG_JS_RESULT))
|
exit $(($KARBOR_PY_RESULT || $KARBOR_JS_RESULT))
|
||||||
}
|
}
|
||||||
|
|
||||||
function run_compilemessages {
|
function run_compilemessages {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[metadata]
|
[metadata]
|
||||||
name = smaug-dashboard
|
name = karbor-dashboard
|
||||||
version = 0.0.1
|
version = 0.0.1
|
||||||
summary = Smaug Dashboard
|
summary = Karbor Dashboard
|
||||||
description-file =
|
description-file =
|
||||||
README.rst
|
README.rst
|
||||||
author = OpenStack
|
author = OpenStack
|
||||||
|
@ -21,7 +21,7 @@ classifier =
|
||||||
|
|
||||||
[files]
|
[files]
|
||||||
packages =
|
packages =
|
||||||
smaug_dashboard
|
karbor_dashboard
|
||||||
|
|
||||||
[build_sphinx]
|
[build_sphinx]
|
||||||
source-dir = doc/source
|
source-dir = doc/source
|
||||||
|
|
|
@ -1,993 +0,0 @@
|
||||||
# Copyright (c) 2016 Huawei, Inc.
|
|
||||||
#
|
|
||||||
# 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.conf import settings
|
|
||||||
from django.test.utils import override_settings
|
|
||||||
|
|
||||||
from smaug_dashboard.api import smaug
|
|
||||||
from smaug_dashboard.test import helpers as test
|
|
||||||
|
|
||||||
|
|
||||||
class SmaugApiTests(test.APITestCase):
|
|
||||||
def test_plan_get(self):
|
|
||||||
plan = self.plans.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.get(plan["id"]).AndReturn(plan)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_plan = smaug.plan_get(self.request,
|
|
||||||
plan_id='fake_plan_id1')
|
|
||||||
self.assertEqual(plan["id"], ret_plan["id"])
|
|
||||||
|
|
||||||
def test_plan_create(self):
|
|
||||||
plan = self.plans.first()
|
|
||||||
fake_resources = plan["resources"]
|
|
||||||
fake_parameters = plan["parameters"]
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.create(plan["name"], plan["provider_id"],
|
|
||||||
plan["resources"],
|
|
||||||
plan["parameters"]).AndReturn(plan)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_plan = smaug.plan_create(self.request,
|
|
||||||
name="fake_name_1",
|
|
||||||
provider_id="fake_provider_id1",
|
|
||||||
resources=fake_resources,
|
|
||||||
parameters=fake_parameters)
|
|
||||||
self.assertEqual(len(plan), len(ret_plan))
|
|
||||||
|
|
||||||
def test_plan_delete(self):
|
|
||||||
plan = self.plans.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.delete(plan["id"])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
smaug.plan_delete(self.request,
|
|
||||||
plan_id="fake_plan_id1")
|
|
||||||
|
|
||||||
def test_plan_update(self):
|
|
||||||
plan = self.plans.first()
|
|
||||||
plan2 = self.plans.list()[0]
|
|
||||||
data = {"name": "fake_name_new"}
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.update(plan["id"], data).AndReturn(plan2)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_plan = smaug.plan_update(self.request,
|
|
||||||
plan_id="fake_plan_id1",
|
|
||||||
data=data)
|
|
||||||
self.assertEqual(plan["name"], ret_plan["name"])
|
|
||||||
|
|
||||||
def test_plan_list(self):
|
|
||||||
plans = self.plans.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(plans)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_list = smaug.plan_list(self.request)
|
|
||||||
self.assertEqual(len(plans), len(ret_list))
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=4)
|
|
||||||
def test_plan_list_paged_equal_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
|
||||||
|
|
||||||
plan = self.plans.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(plan)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.plan_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=20)
|
|
||||||
def test_plan_list_paged_less_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
|
||||||
plan = self.plans.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(plan)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.plan_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(len(plan), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=1)
|
|
||||||
def test_plan_list_paged_more_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
|
||||||
plan = self.plans.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(plan[:page_size + 1])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.plan_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertTrue(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
def test_plan_list_paged_false(self):
|
|
||||||
plans = self.plans.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.plans = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.plans.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(plans)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
plans, has_more_data, has_prev_data = smaug.plan_list_paged(
|
|
||||||
self.request)
|
|
||||||
self.assertEqual(len(plans), len(plans))
|
|
||||||
|
|
||||||
def test_scheduled_operation_create(self):
|
|
||||||
scheduled_operation = self.scheduled_operations.first()
|
|
||||||
operation_definition = {"trigger_id": "fake_trigger_id1",
|
|
||||||
"plan_id": "fake_plan_id"}
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.scheduled_operations.create(
|
|
||||||
"My-scheduled-operation",
|
|
||||||
"protect",
|
|
||||||
"fake_trigger_id1",
|
|
||||||
operation_definition).AndReturn(scheduled_operation)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_so = smaug.scheduled_operation_create(
|
|
||||||
self.request,
|
|
||||||
name="My-scheduled-operation",
|
|
||||||
operation_type="protect",
|
|
||||||
trigger_id="fake_trigger_id1",
|
|
||||||
operation_definition=operation_definition)
|
|
||||||
self.assertEqual(scheduled_operation["id"], ret_so["id"])
|
|
||||||
|
|
||||||
def test_scheduled_operation_delete(self):
|
|
||||||
scheduled_operation = self.scheduled_operations.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.scheduled_operations.delete(scheduled_operation["id"])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
smaug.scheduled_operation_delete(self.request,
|
|
||||||
scheduled_operation["id"])
|
|
||||||
|
|
||||||
def test_scheduled_operation_list(self):
|
|
||||||
scheduled_operation = self.scheduled_operations.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.scheduled_operations.list(
|
|
||||||
detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(scheduled_operation)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.scheduled_operation_list(self.request)
|
|
||||||
self.assertEqual(len(scheduled_operation), len(ret_val))
|
|
||||||
|
|
||||||
def test_scheduled_operation_list_false(self):
|
|
||||||
scheduled_operation = self.scheduled_operations.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.scheduled_operations.list(
|
|
||||||
detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(scheduled_operation)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = \
|
|
||||||
smaug.scheduled_operation_list_paged(self.request, paginate=False)
|
|
||||||
self.assertEqual(len(scheduled_operation), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=4)
|
|
||||||
def test_scheduled_operation_list_paged_equal_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
|
||||||
scd_operation = self.scheduled_operations.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.scheduled_operations.list(
|
|
||||||
detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(scd_operation)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = \
|
|
||||||
smaug.scheduled_operation_list_paged(self.request, paginate=True)
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=20)
|
|
||||||
def test_scheduled_operation_list_paged_less_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
|
||||||
scd_operation = self.scheduled_operations.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.scheduled_operations.list(
|
|
||||||
detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(scd_operation)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = \
|
|
||||||
smaug.scheduled_operation_list_paged(self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(len(scd_operation), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=1)
|
|
||||||
def test_scheduled_operation_list_paged_more_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
|
||||||
scd_operation = self.scheduled_operations.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.scheduled_operations.list(
|
|
||||||
detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(scd_operation[:page_size + 1])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = \
|
|
||||||
smaug.scheduled_operation_list_paged(self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertTrue(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
def test_scheduled_operation_get(self):
|
|
||||||
scheduled_operation = self.scheduled_operations.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.scheduled_operations.get(
|
|
||||||
scheduled_operation["id"]).AndReturn(scheduled_operation)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.scheduled_operation_get(self.request,
|
|
||||||
"fake_scheduled_operation_1")
|
|
||||||
self.assertEqual(scheduled_operation["id"], ret_val["id"])
|
|
||||||
|
|
||||||
def test_restore_create(self):
|
|
||||||
restore = self.restores.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.restores = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.restores.create(restore["provider_id"],
|
|
||||||
restore["checkpoint_id"],
|
|
||||||
restore["restore_target"],
|
|
||||||
restore["parameters"]).AndReturn(restore)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.restore_create(self.request,
|
|
||||||
restore["provider_id"],
|
|
||||||
restore["checkpoint_id"],
|
|
||||||
restore["restore_target"],
|
|
||||||
restore["parameters"])
|
|
||||||
self.assertEqual(restore["id"], ret_val["id"])
|
|
||||||
|
|
||||||
def test_restore_delete(self):
|
|
||||||
restore = self.restores.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.restores = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.restores.delete(restore["id"]).AndReturn(restore)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
smaug.restore_delete(self.request, restore["id"])
|
|
||||||
|
|
||||||
def test_restore_list(self):
|
|
||||||
restores = self.restores.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.restores = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.restores.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(restores)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.restore_list(self.request)
|
|
||||||
self.assertEqual(len(restores), len(ret_val))
|
|
||||||
|
|
||||||
def test_restore_list_false(self):
|
|
||||||
restores = self.restores.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.restores = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.restores.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(restores)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.restore_list_paged(
|
|
||||||
self.request, paginate=False)
|
|
||||||
self.assertEqual(len(restores), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=4)
|
|
||||||
def test_restore_list_paged_equal_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
|
||||||
restore_list = self.restores.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.restores = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.restores.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(restore_list)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.restore_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=20)
|
|
||||||
def test_restore_list_paged_less_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
|
||||||
restore_list = self.restores.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.restores = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.restores.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(restore_list)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.restore_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(len(restore_list), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=1)
|
|
||||||
def test_restore_list_paged_more_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
|
||||||
restore_list = self.restores.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.restores = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.restores.list(
|
|
||||||
detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(restore_list[:page_size + 1])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.restore_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertTrue(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
def test_restore_get(self):
|
|
||||||
restore = self.restores.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.restores = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.restores.get(restore["id"]).AndReturn(restore)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.restore_get(self.request, restore["id"])
|
|
||||||
self.assertEqual(restore["id"], ret_val["id"])
|
|
||||||
|
|
||||||
def test_protectable_list(self):
|
|
||||||
protectables_list = self.protectables_list.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.protectables = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.protectables.list().AndReturn(protectables_list)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.protectable_list(self.request)
|
|
||||||
self.assertEqual(len(protectables_list), len(ret_val))
|
|
||||||
|
|
||||||
def test_protectable_get(self):
|
|
||||||
protectable = self.protectables_show.list()[0]
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.protectables = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.protectables.get("OS::Nova::Server").AndReturn(protectable)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.protectable_get(self.request,
|
|
||||||
protectable_type="OS::Nova::Server")
|
|
||||||
self.assertEqual(protectable["name"], ret_val["name"])
|
|
||||||
|
|
||||||
def test_protectable_get_instance(self):
|
|
||||||
protectable = self.protectables_ins.list()[1]
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.protectables = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.protectables.get_instance("OS::Nova::Server",
|
|
||||||
protectable["id"]
|
|
||||||
).AndReturn(protectable)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.protectable_get_instance(self.request,
|
|
||||||
"OS::Nova::Server",
|
|
||||||
protectable["id"]
|
|
||||||
)
|
|
||||||
self.assertEqual(protectable["name"], ret_val["name"])
|
|
||||||
|
|
||||||
def test_protectable_list_instances(self):
|
|
||||||
protectable = self.protectables_ins.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.protectables = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.protectables.list_instances(
|
|
||||||
protectable_type="OS::Nova::Server",
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(protectable)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.protectable_list_instances(
|
|
||||||
self.request, protectable_type="OS::Nova::Server")
|
|
||||||
self.assertEqual(len(protectable), len(ret_val))
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=4)
|
|
||||||
def test_protectable_list_instances_paged_equal_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
|
||||||
protectable_list = self.protectables_ins.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.protectables = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.protectables.list_instances("OS::Nova::Server",
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None,
|
|
||||||
).AndReturn(protectable_list)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = \
|
|
||||||
smaug.protectable_list_instances_paged(
|
|
||||||
self.request,
|
|
||||||
paginate=True,
|
|
||||||
protectable_type="OS::Nova::Server")
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=20)
|
|
||||||
def test_protectable_list_instances_paged_less_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
|
||||||
protectable_list = self.protectables_ins.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.protectables = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.protectables.list_instances("OS::Nova::Server",
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None,
|
|
||||||
).AndReturn(protectable_list)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = \
|
|
||||||
smaug.protectable_list_instances_paged(
|
|
||||||
self.request,
|
|
||||||
paginate=True,
|
|
||||||
protectable_type="OS::Nova::Server")
|
|
||||||
self.assertEqual(len(protectable_list), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=1)
|
|
||||||
def test_protectable_list_instances_paged_more_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
|
||||||
protectable_list = self.protectables_ins.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.protectables = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.protectables.list_instances(
|
|
||||||
"OS::Nova::Server",
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None
|
|
||||||
).AndReturn(protectable_list[:page_size + 1])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
ret_val, has_more_data, has_prev_data = \
|
|
||||||
smaug.protectable_list_instances_paged(
|
|
||||||
self.request,
|
|
||||||
paginate=True,
|
|
||||||
protectable_type="OS::Nova::Server")
|
|
||||||
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertTrue(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
def test_protectable_list_instances_false(self):
|
|
||||||
protectable = self.protectables_ins.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.protectables = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.protectables.list_instances(
|
|
||||||
"OS::Nova::Server",
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None
|
|
||||||
).AndReturn(protectable)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = \
|
|
||||||
smaug.protectable_list_instances_paged(
|
|
||||||
self.request,
|
|
||||||
protectable_type="OS::Nova::Server")
|
|
||||||
self.assertEqual(len(protectable), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
def test_provider_list(self):
|
|
||||||
providers = self.providers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.providers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.providers.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(providers)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.provider_list(self.request)
|
|
||||||
self.assertEqual(len(providers), len(ret_val))
|
|
||||||
|
|
||||||
def test_provider_list_paged_false(self):
|
|
||||||
providers = self.providers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.providers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.providers.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(providers)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.provider_list_paged(
|
|
||||||
self.request, paginate=False)
|
|
||||||
self.assertEqual(len(providers), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=4)
|
|
||||||
def test_provider_list_paged_equal_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
|
||||||
providers = self.providers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.providers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.providers.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(providers)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.provider_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=20)
|
|
||||||
def test_provider_list_paged_less_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
|
||||||
providers = self.providers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.providers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.providers.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(providers)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.provider_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
self.assertEqual(len(providers), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=1)
|
|
||||||
def test_provider_list_paged_more_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
|
||||||
providers = self.providers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.providers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.providers.list(
|
|
||||||
detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(providers[:page_size + 1])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.provider_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertTrue(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
def test_provider_get(self):
|
|
||||||
provider = self.providers.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.providers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.providers.get(provider["id"]).AndReturn(provider)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_provider = smaug.provider_get(self.request,
|
|
||||||
provider_id="fake_provider_id")
|
|
||||||
self.assertEqual(provider["name"], ret_provider["name"])
|
|
||||||
|
|
||||||
def test_checkpoint_create(self):
|
|
||||||
checkpoint = self.checkpoints.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.checkpoints = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.checkpoints.create(
|
|
||||||
checkpoint["provider_id"],
|
|
||||||
checkpoint["plan"]["plan_id"]).AndReturn(checkpoint)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_checkpoint = smaug.checkpoint_create(
|
|
||||||
self.request,
|
|
||||||
provider_id="fake_provider_id",
|
|
||||||
plan_id="fake_plan_id")
|
|
||||||
self.assertEqual(checkpoint["id"], ret_checkpoint["id"])
|
|
||||||
|
|
||||||
def test_checkpoint_delete(self):
|
|
||||||
checkpoint = self.checkpoints.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.checkpoints = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.checkpoints.delete(checkpoint["provider_id"],
|
|
||||||
checkpoint["id"])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
smaug.checkpoint_delete(self.request,
|
|
||||||
provider_id="fake_provider_id",
|
|
||||||
checkpoint_id="fake_checkpoint_id")
|
|
||||||
|
|
||||||
def test_checkpoint_list(self):
|
|
||||||
checkpoints = self.checkpoints.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.checkpoints = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.checkpoints.list(provider_id=None,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(checkpoints)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_checkpoints = smaug.checkpoint_list(self.request)
|
|
||||||
self.assertEqual(len(checkpoints), len(ret_checkpoints))
|
|
||||||
|
|
||||||
def test_checkpoint_list_paged_false(self):
|
|
||||||
checkpoints = self.checkpoints.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.checkpoints = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.checkpoints.list(provider_id=None,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(checkpoints)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.checkpoint_list_paged(
|
|
||||||
self.request, paginate=False)
|
|
||||||
self.assertEqual(len(checkpoints), len(ret_val))
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=4)
|
|
||||||
def test_checkpoint_list_paged_equal_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
|
||||||
checkpoints = self.checkpoints.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.checkpoints = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.checkpoints.list(provider_id=None,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(checkpoints)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.checkpoint_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=20)
|
|
||||||
def test_checkpoint_list_paged_less_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
|
||||||
checkpoints = self.checkpoints.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.checkpoints = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.checkpoints.list(provider_id=None,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(checkpoints)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.checkpoint_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
self.assertEqual(len(checkpoints), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=1)
|
|
||||||
def test_checkpoint_list_paged_more_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
|
||||||
checkpoint2 = self.checkpoints.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.checkpoints = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.checkpoints.list(
|
|
||||||
provider_id=None,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(checkpoint2[:page_size + 1])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.checkpoint_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertTrue(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
def test_checkpoint_get(self):
|
|
||||||
checkpoint = self.checkpoints.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.checkpoints = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.checkpoints.get(checkpoint["provider_id"],
|
|
||||||
checkpoint["id"]).AndReturn(checkpoint)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_checkpoint = smaug.checkpoint_get(
|
|
||||||
self.request,
|
|
||||||
provider_id="fake_provider_id",
|
|
||||||
checkpoint_id="fake_checkpoint_id")
|
|
||||||
self.assertEqual(checkpoint["id"], ret_checkpoint["id"])
|
|
||||||
|
|
||||||
def test_trigger_create(self):
|
|
||||||
trigger = self.triggers.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.triggers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.triggers.create(trigger["name"],
|
|
||||||
trigger["type"],
|
|
||||||
trigger["properties"]).AndReturn(trigger)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_trigger = smaug.trigger_create(self.request,
|
|
||||||
trigger["name"],
|
|
||||||
trigger["type"],
|
|
||||||
trigger["properties"])
|
|
||||||
self.assertEqual(trigger["id"], ret_trigger["id"])
|
|
||||||
|
|
||||||
def test_trigger_delete(self):
|
|
||||||
trigger = self.triggers.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.triggers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.triggers.delete(trigger["id"])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
smaug.trigger_delete(self.request, trigger["id"])
|
|
||||||
|
|
||||||
def test_trigger_list(self):
|
|
||||||
ret_triggers = self.triggers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.triggers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.triggers.list(detailed=False,
|
|
||||||
limit=None,
|
|
||||||
marker=None,
|
|
||||||
search_opts=None,
|
|
||||||
sort=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort_key=None).AndReturn(ret_triggers)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val = smaug.trigger_list(self.request)
|
|
||||||
self.assertEqual(len(ret_triggers), len(ret_val))
|
|
||||||
|
|
||||||
def test_trigger_list_paged_false(self):
|
|
||||||
ret_triggers = self.triggers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.triggers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.triggers.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=None,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(ret_triggers)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.trigger_list_paged(
|
|
||||||
self.request)
|
|
||||||
self.assertEqual(len(ret_triggers), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=4)
|
|
||||||
def test_trigger_list_paged_equal_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
|
|
||||||
ret_triggers = self.triggers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.triggers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.triggers.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(ret_triggers)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.trigger_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=20)
|
|
||||||
def test_trigger_list_paged_less_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
|
|
||||||
ret_triggers = self.triggers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.triggers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.triggers.list(detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(ret_triggers)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.trigger_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
self.assertEqual(len(ret_triggers), len(ret_val))
|
|
||||||
self.assertFalse(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
@override_settings(API_RESULT_PAGE_SIZE=1)
|
|
||||||
def test_trigger_list_paged_more_page_size(self):
|
|
||||||
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
|
|
||||||
trigger2 = self.triggers.list()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.triggers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.triggers.list(
|
|
||||||
detailed=False,
|
|
||||||
search_opts=None,
|
|
||||||
marker=None,
|
|
||||||
limit=page_size + 1,
|
|
||||||
sort_key=None,
|
|
||||||
sort_dir=None,
|
|
||||||
sort=None).AndReturn(trigger2[:page_size + 1])
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
ret_val, has_more_data, has_prev_data = smaug.trigger_list_paged(
|
|
||||||
self.request, paginate=True)
|
|
||||||
|
|
||||||
self.assertEqual(page_size, len(ret_val))
|
|
||||||
self.assertTrue(has_more_data)
|
|
||||||
self.assertFalse(has_prev_data)
|
|
||||||
|
|
||||||
def test_trigger_get(self):
|
|
||||||
trigger = self.triggers.first()
|
|
||||||
smaugclient = self.stub_smaugclient()
|
|
||||||
smaugclient.triggers = self.mox.CreateMockAnything()
|
|
||||||
smaugclient.triggers.get(trigger["id"]).AndReturn(trigger)
|
|
||||||
self.mox.ReplayAll()
|
|
||||||
|
|
||||||
ret_trigger = smaug.trigger_get(self.request,
|
|
||||||
trigger_id="fake_trigger_id")
|
|
||||||
self.assertEqual(trigger["id"], ret_trigger["id"])
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue