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:
|
||||
|
||||
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/
|
||||
|
@ -3,7 +3,7 @@ include README.rst
|
||||
include ChangeLog
|
||||
include LICENSE
|
||||
|
||||
recursive-include smaug_dashboard/templates *
|
||||
recursive-include karbor_dashboard/templates *
|
||||
|
||||
exclude .gitignore
|
||||
exclude .gitreview
|
||||
|
30
README.rst
30
README.rst
@ -1,20 +1,20 @@
|
||||
===============================
|
||||
smaug-dashboard
|
||||
karbor-dashboard
|
||||
===============================
|
||||
|
||||
Smaug Dashboard
|
||||
Karbor Dashboard
|
||||
|
||||
* Free software: Apache license
|
||||
* Source: http://git.openstack.org/cgit/openstack/smaug-dashboard
|
||||
* Bugs: http://bugs.launchpad.net/smaug-dashboard
|
||||
* Source: http://git.openstack.org/cgit/openstack/karbor-dashboard
|
||||
* Bugs: http://bugs.launchpad.net/karbor-dashboard
|
||||
|
||||
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/smaug-dashboard
|
||||
git clone https://git.openstack.org/openstack/karbor-dashboard
|
||||
|
||||
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.)
|
||||
|
||||
|
||||
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::
|
||||
|
||||
cp ../smaug-dashboard/smaug_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 ../smaug-dashboard/smaug_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 ../smaug-dashboard/smaug_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/_6000_data_protection.py openstack_dashboard/local/enabled
|
||||
cp ../karbor-dashboard/karbor_dashboard/enabled/_6010_data_protection_protection_plans_panel.py openstack_dashboard/local/enabled
|
||||
cp ../karbor-dashboard/karbor_dashboard/enabled/_6020_data_protection_protection_providers_panel.py openstack_dashboard/local/enabled
|
||||
cp ../karbor-dashboard/karbor_dashboard/enabled/_6030_data_protection_checkpoints_panel.py openstack_dashboard/local/enabled
|
||||
cp ../karbor-dashboard/karbor_dashboard/enabled/_6040_data_protection_operation_logs_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
|
||||
|
||||
|
@ -1,23 +1,23 @@
|
||||
#!/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 {
|
||||
setup_develop ${SMAUG_DASH_DIR}
|
||||
function install_karbor_dashboard {
|
||||
setup_develop ${KARBOR_DASH_DIR}
|
||||
}
|
||||
|
||||
function configure_smaug_dashboard {
|
||||
cp -a ${SMAUG_DASH_DIR}/smaug_dashboard/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/
|
||||
function configure_karbor_dashboard {
|
||||
cp -a ${KARBOR_DASH_DIR}/karbor_dashboard/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/
|
||||
# NOTE: If locale directory does not exist, compilemessages will fail,
|
||||
# so check for an existence of locale directory is required.
|
||||
if [ -d ${SMAUG_DASH_DIR}/smaug_dashboard/locale ]; then
|
||||
(cd ${SMAUG_DASH_DIR}/smaug_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages)
|
||||
if [ -d ${KARBOR_DASH_DIR}/karbor_dashboard/locale ]; then
|
||||
(cd ${KARBOR_DASH_DIR}/karbor_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages)
|
||||
fi
|
||||
}
|
||||
|
||||
# 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
|
||||
# Set up system services
|
||||
@ -26,13 +26,13 @@ if is_service_enabled smaug-dashboard; then
|
||||
|
||||
elif [[ "$1" == "stack" && "$2" == "install" ]]; then
|
||||
# Perform installation of service source
|
||||
echo_summary "Installing Smaug Dashboard"
|
||||
install_smaug_dashboard
|
||||
echo_summary "Installing Karbor Dashboard"
|
||||
install_karbor_dashboard
|
||||
|
||||
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
|
||||
# Configure after the other layer 1 and 2 services have been configured
|
||||
echo_summary "Configuring Smaug Dashboard"
|
||||
configure_smaug_dashboard
|
||||
echo_summary "Configuring Karbor Dashboard"
|
||||
configure_karbor_dashboard
|
||||
|
||||
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
|
||||
# Initialize and start the app-catalog-ui service
|
||||
|
@ -36,7 +36,7 @@ source_suffix = '.rst'
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'smaug-dashboard'
|
||||
project = u'karbor-dashboard'
|
||||
copyright = u'2013, OpenStack Foundation'
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
|
@ -16,4 +16,4 @@ import pbr.version
|
||||
|
||||
|
||||
__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.utils import functions as utils
|
||||
from horizon.utils.memoized import memoized
|
||||
from karborclient.v1 import client as karbor_client
|
||||
from openstack_dashboard.api import base
|
||||
from smaugclient.v1 import client as smaug_client
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def get_smaug_endpoint(request):
|
||||
def get_karbor_endpoint(request):
|
||||
endpoint = ""
|
||||
try:
|
||||
endpoint = base.url_for(request, "data-protect")
|
||||
except exceptions.ServiceCatalogException:
|
||||
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))
|
||||
return endpoint
|
||||
|
||||
|
||||
@memoized
|
||||
def smaugclient(request):
|
||||
endpoint = get_smaug_endpoint(request)
|
||||
LOG.debug('smaugclient connection created using the token "%s" and url'
|
||||
def karborclient(request):
|
||||
endpoint = get_karbor_endpoint(request)
|
||||
LOG.debug('karborclient connection created using the token "%s" and url'
|
||||
'"%s"' % (request.user.token.id, endpoint))
|
||||
c = smaug_client.Client(endpoint=endpoint,
|
||||
auth_url=getattr(settings,
|
||||
'OPENSTACK_KEYSTONE_URL'),
|
||||
token=request.user.token.id,
|
||||
username=request.user.username,
|
||||
project_id=request.user.tenant_id,
|
||||
auth_plugin='token',
|
||||
)
|
||||
c = karbor_client.Client(endpoint=endpoint,
|
||||
auth_url=getattr(settings,
|
||||
'OPENSTACK_KEYSTONE_URL'),
|
||||
token=request.user.token.id,
|
||||
username=request.user.username,
|
||||
project_id=request.user.tenant_id,
|
||||
auth_plugin='token',
|
||||
)
|
||||
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):
|
||||
return smaugclient(request).plans.create(name, provider_id, resources,
|
||||
parameters)
|
||||
return karborclient(request).plans.create(name, provider_id, resources,
|
||||
parameters)
|
||||
|
||||
|
||||
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):
|
||||
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,
|
||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||
return smaugclient(request).plans.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
return karborclient(request).plans.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
|
||||
|
||||
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:
|
||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||
page_size = utils.get_page_size(request)
|
||||
plans = smaugclient(request).plans.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=page_size + 1,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
plans = karborclient(request).plans.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=page_size + 1,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
plans, has_more_data, has_prev_data = update_pagination(
|
||||
plans, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||
else:
|
||||
plans = smaugclient(request).plans.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
plans = karborclient(request).plans.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
return (plans, has_more_data, has_prev_data)
|
||||
|
||||
|
||||
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,
|
||||
operation_definition):
|
||||
return smaugclient(request).scheduled_operations.create(
|
||||
return karborclient(request).scheduled_operations.create(
|
||||
name,
|
||||
operation_type,
|
||||
trigger_id,
|
||||
@ -144,14 +144,14 @@ def scheduled_operation_create(request, name, operation_type, trigger_id,
|
||||
|
||||
|
||||
def scheduled_operation_delete(request, scheduled_operation_id):
|
||||
return smaugclient(request).scheduled_operations.delete(
|
||||
return karborclient(request).scheduled_operations.delete(
|
||||
scheduled_operation_id)
|
||||
|
||||
|
||||
def scheduled_operation_list(request, detailed=False, search_opts=None,
|
||||
marker=None, limit=None, sort_key=None,
|
||||
sort_dir=None, sort=None):
|
||||
return smaugclient(request).scheduled_operations.list(
|
||||
return karborclient(request).scheduled_operations.list(
|
||||
detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
@ -172,7 +172,7 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
|
||||
if reversed_order:
|
||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||
page_size = utils.get_page_size(request)
|
||||
scheduled_operations = smaugclient(request).scheduled_operations.list(
|
||||
scheduled_operations = karborclient(request).scheduled_operations.list(
|
||||
detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
@ -188,7 +188,7 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
|
||||
sort_key,
|
||||
reversed_order)
|
||||
else:
|
||||
scheduled_operations = smaugclient(request).scheduled_operations.list(
|
||||
scheduled_operations = karborclient(request).scheduled_operations.list(
|
||||
detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
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):
|
||||
return smaugclient(request).scheduled_operations.get(
|
||||
return karborclient(request).scheduled_operations.get(
|
||||
scheduled_operation_id)
|
||||
|
||||
|
||||
def restore_create(request, provider_id, checkpoint_id,
|
||||
restore_target, parameters):
|
||||
return smaugclient(request).restores.create(provider_id,
|
||||
checkpoint_id,
|
||||
restore_target,
|
||||
parameters)
|
||||
return karborclient(request).restores.create(provider_id,
|
||||
checkpoint_id,
|
||||
restore_target,
|
||||
parameters)
|
||||
|
||||
|
||||
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,
|
||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||
return smaugclient(request).restores.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
return karborclient(request).restores.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
|
||||
|
||||
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:
|
||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||
page_size = utils.get_page_size(request)
|
||||
restores = smaugclient(request).restores.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=page_size + 1,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
restores = karborclient(request).restores.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=page_size + 1,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
restores, has_more_data, has_prev_data = update_pagination(
|
||||
restores, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||
else:
|
||||
restores = smaugclient(request).restores.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
restores = karborclient(request).restores.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
|
||||
return (restores, has_more_data, has_prev_data)
|
||||
|
||||
|
||||
def restore_get(request, restore_id):
|
||||
return smaugclient(request).restores.get(restore_id)
|
||||
return karborclient(request).restores.get(restore_id)
|
||||
|
||||
|
||||
def protectable_list(request):
|
||||
return smaugclient(request).protectables.list()
|
||||
return karborclient(request).protectables.list()
|
||||
|
||||
|
||||
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,
|
||||
marker=None, limit=None, sort_key=None,
|
||||
sort_dir=None, sort=None):
|
||||
return smaugclient(request).protectables.list_instances(
|
||||
return karborclient(request).protectables.list_instances(
|
||||
protectable_type=protectable_type,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
@ -295,7 +295,7 @@ def protectable_list_instances_paged(request, protectable_type,
|
||||
if reversed_order:
|
||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||
page_size = utils.get_page_size(request)
|
||||
instances = smaugclient(request).protectables.list_instances(
|
||||
instances = karborclient(request).protectables.list_instances(
|
||||
protectable_type,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
@ -306,7 +306,7 @@ def protectable_list_instances_paged(request, protectable_type,
|
||||
instances, has_more_data, has_prev_data = update_pagination(
|
||||
instances, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||
else:
|
||||
instances = smaugclient(request).protectables.list_instances(
|
||||
instances = karborclient(request).protectables.list_instances(
|
||||
protectable_type,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
@ -319,18 +319,18 @@ def protectable_list_instances_paged(request, protectable_type,
|
||||
|
||||
|
||||
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,
|
||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||
return smaugclient(request).providers.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
return karborclient(request).providers.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
|
||||
|
||||
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:
|
||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||
page_size = utils.get_page_size(request)
|
||||
providers = smaugclient(request).providers.list(
|
||||
providers = karborclient(request).providers.list(
|
||||
detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
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, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||
else:
|
||||
providers = smaugclient(request).providers.list(
|
||||
providers = karborclient(request).providers.list(
|
||||
detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
@ -367,26 +367,26 @@ def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
|
||||
|
||||
|
||||
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):
|
||||
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):
|
||||
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,
|
||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||
return smaugclient(request).checkpoints.list(provider_id=provider_id,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
return karborclient(request).checkpoints.list(provider_id=provider_id,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
|
||||
|
||||
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:
|
||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||
page_size = utils.get_page_size(request)
|
||||
checkpoints = smaugclient(request).checkpoints.list(
|
||||
checkpoints = karborclient(request).checkpoints.list(
|
||||
provider_id=provider_id,
|
||||
search_opts=search_opts,
|
||||
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, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||
else:
|
||||
checkpoints = smaugclient(request).checkpoints.list(
|
||||
checkpoints = karborclient(request).checkpoints.list(
|
||||
provider_id=provider_id,
|
||||
search_opts=search_opts,
|
||||
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):
|
||||
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):
|
||||
return smaugclient(request).triggers.create(name, type, properties)
|
||||
return karborclient(request).triggers.create(name, type, properties)
|
||||
|
||||
|
||||
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,
|
||||
limit=None, sort_key=None, sort_dir=None, sort=None):
|
||||
return smaugclient(request).triggers.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
return karborclient(request).triggers.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
|
||||
|
||||
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:
|
||||
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
|
||||
page_size = utils.get_page_size(request)
|
||||
triggers = smaugclient(request).triggers.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=page_size + 1,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
triggers = karborclient(request).triggers.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=page_size + 1,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
triggers, has_more_data, has_prev_data = update_pagination(
|
||||
triggers, page_size, marker, sort_dir, sort_key, reversed_order)
|
||||
else:
|
||||
triggers = smaugclient(request).triggers.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
triggers = karborclient(request).triggers.list(detailed=detailed,
|
||||
search_opts=search_opts,
|
||||
marker=marker,
|
||||
limit=limit,
|
||||
sort_key=sort_key,
|
||||
sort_dir=sort_dir,
|
||||
sort=sort)
|
||||
|
||||
return (triggers, has_more_data, has_prev_data)
|
||||
|
||||
|
||||
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
|
||||
|
||||
import json
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
|
||||
|
||||
class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
|
||||
@ -35,19 +35,19 @@ class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
|
||||
widget=forms.HiddenInput(attrs={"class": "provider"}))
|
||||
parameters = forms.CharField(
|
||||
widget=forms.HiddenInput(attrs={"class": "parameters"}))
|
||||
failure_url = 'horizon:smaug:checkpoints:index'
|
||||
failure_url = 'horizon:karbor:checkpoints:index'
|
||||
|
||||
def __init__(self, request, *args, **kwargs):
|
||||
super(RestoreCheckpointForm, self).\
|
||||
__init__(request, *args, **kwargs)
|
||||
|
||||
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)
|
||||
|
||||
def handle(self, request, data):
|
||||
try:
|
||||
new_restore = smaugclient.restore_create(
|
||||
new_restore = karborclient.restore_create(
|
||||
request,
|
||||
provider_id=data["provider_id"],
|
||||
checkpoint_id=data["checkpoint_id"],
|
@ -15,7 +15,7 @@
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
import horizon
|
||||
|
||||
from smaug_dashboard import dashboard
|
||||
from karbor_dashboard import dashboard
|
||||
|
||||
|
||||
class Checkpoints(horizon.Panel):
|
@ -18,13 +18,13 @@ from django.utils.translation import ungettext_lazy
|
||||
|
||||
from horizon import tables
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
|
||||
|
||||
class RestoreCheckpointLink(tables.LinkAction):
|
||||
name = "restore"
|
||||
verbose_name = _("Restore Checkpoint")
|
||||
url = "horizon:smaug:checkpoints:restore"
|
||||
url = "horizon:karbor:checkpoints:restore"
|
||||
classes = ("ajax-modal",)
|
||||
icon = "plus"
|
||||
|
||||
@ -55,14 +55,14 @@ class DeleteCheckpointsAction(tables.DeleteAction):
|
||||
def delete(self, request, obj_id):
|
||||
datum = self.table.get_object_by_id(obj_id)
|
||||
provider_id = datum.provider_id
|
||||
smaugclient.checkpoint_delete(request,
|
||||
provider_id=provider_id,
|
||||
checkpoint_id=obj_id)
|
||||
karborclient.checkpoint_delete(request,
|
||||
provider_id=provider_id,
|
||||
checkpoint_id=obj_id)
|
||||
|
||||
|
||||
def get_provider_link(checkpoint):
|
||||
"""url Two args"""
|
||||
return reverse("horizon:smaug:checkpoints:detail",
|
||||
return reverse("horizon:karbor:checkpoints:detail",
|
||||
args=(checkpoint.provider_id, checkpoint.id))
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
# under the License.
|
||||
|
||||
from django.conf.urls import url
|
||||
from smaug_dashboard.checkpoints import views
|
||||
from karbor_dashboard.checkpoints import views
|
||||
|
||||
|
||||
urlpatterns = [
|
@ -26,11 +26,11 @@ from horizon import forms as horizon_forms
|
||||
from horizon import tables as horizon_tables
|
||||
from horizon.utils import memoized
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from smaug_dashboard.checkpoints import forms
|
||||
from smaug_dashboard.checkpoints import tables
|
||||
from smaug_dashboard.checkpoints import utils
|
||||
from smaugclient.v1 import protectables
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
from karbor_dashboard.checkpoints import forms
|
||||
from karbor_dashboard.checkpoints import tables
|
||||
from karbor_dashboard.checkpoints import utils
|
||||
from karborclient.v1 import protectables
|
||||
|
||||
|
||||
class IndexView(horizon_tables.DataTableView):
|
||||
@ -40,11 +40,11 @@ class IndexView(horizon_tables.DataTableView):
|
||||
|
||||
@memoized.memoized_method
|
||||
def get_provider_list(self):
|
||||
return smaugclient.provider_list(self.request)
|
||||
return karborclient.provider_list(self.request)
|
||||
|
||||
@memoized.memoized_method
|
||||
def get_plan_list(self):
|
||||
return smaugclient.plan_list(self.request)
|
||||
return karborclient.plan_list(self.request)
|
||||
|
||||
@memoized.memoized_method
|
||||
def get_filter_list(self):
|
||||
@ -81,7 +81,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
|
||||
context["plan_list"] = self.get_plan_list()
|
||||
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())
|
||||
return context
|
||||
|
||||
@ -151,7 +151,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
raise Exception()
|
||||
|
||||
checkpoints, self._more, self._prev = \
|
||||
smaugclient.checkpoint_list_paged(
|
||||
karborclient.checkpoint_list_paged(
|
||||
self.request,
|
||||
provider_id=provider_id,
|
||||
search_opts=search_opts,
|
||||
@ -161,7 +161,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
sort_key='name',
|
||||
reversed_order=reversed_order)
|
||||
for checkpoint in checkpoints:
|
||||
provider = smaugclient.provider_get(
|
||||
provider = karborclient.provider_get(
|
||||
self.request,
|
||||
checkpoint.protection_plan['provider_id']
|
||||
)
|
||||
@ -181,8 +181,8 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
|
||||
form_id = "restore_checkpoint_form"
|
||||
form_class = forms.RestoreCheckpointForm
|
||||
submit_label = _("Restore Checkpoint")
|
||||
submit_url = 'horizon:smaug:checkpoints:restore'
|
||||
success_url = reverse_lazy('horizon:smaug:checkpoints:index')
|
||||
submit_url = 'horizon:karbor:checkpoints:restore'
|
||||
success_url = reverse_lazy('horizon:karbor:checkpoints:index')
|
||||
page_title = _("Restore Checkpoint")
|
||||
|
||||
def get_initial(self):
|
||||
@ -207,9 +207,9 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
|
||||
try:
|
||||
provider_id = self.kwargs['provider_id']
|
||||
checkpoint_id = self.kwargs['checkpoint_id']
|
||||
checkpoint = smaugclient.checkpoint_get(self.request,
|
||||
provider_id,
|
||||
checkpoint_id)
|
||||
checkpoint = karborclient.checkpoint_get(self.request,
|
||||
provider_id,
|
||||
checkpoint_id)
|
||||
graphnodes = utils.deserialize_resource_graph(
|
||||
checkpoint.resource_graph)
|
||||
self.get_results(graphnodes, None, results)
|
||||
@ -217,7 +217,7 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to retrieve checkpoint details.'),
|
||||
redirect=reverse("horizon:smaug:checkpoints:index"))
|
||||
redirect=reverse("horizon:karbor:checkpoints:index"))
|
||||
return results
|
||||
|
||||
def get_results(self, graphnodes, showparentid, results):
|
||||
@ -249,9 +249,9 @@ class DetailView(horizon_tables.DataTableView):
|
||||
try:
|
||||
provider_id = self.kwargs['provider_id']
|
||||
checkpoint_id = self.kwargs['checkpoint_id']
|
||||
checkpoint = smaugclient.checkpoint_get(self.request,
|
||||
provider_id,
|
||||
checkpoint_id)
|
||||
checkpoint = karborclient.checkpoint_get(self.request,
|
||||
provider_id,
|
||||
checkpoint_id)
|
||||
except Exception:
|
||||
checkpoint = []
|
||||
msg = _('checkpoint list can not be retrieved.')
|
||||
@ -263,10 +263,10 @@ class DetailView(horizon_tables.DataTableView):
|
||||
checkpoint = self.get_checkpoint_data()
|
||||
context["checkpoint"] = checkpoint
|
||||
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["resources"] = self.get_resources()
|
||||
context["url"] = reverse("horizon:smaug:protectionplans:index")
|
||||
context["url"] = reverse("horizon:karbor:protectionplans:index")
|
||||
return context
|
||||
|
||||
@memoized.memoized_method
|
||||
@ -275,9 +275,9 @@ class DetailView(horizon_tables.DataTableView):
|
||||
try:
|
||||
provider_id = self.kwargs['provider_id']
|
||||
checkpoint_id = self.kwargs['checkpoint_id']
|
||||
checkpoint = smaugclient.checkpoint_get(self.request,
|
||||
provider_id,
|
||||
checkpoint_id)
|
||||
checkpoint = karborclient.checkpoint_get(self.request,
|
||||
provider_id,
|
||||
checkpoint_id)
|
||||
graphnodes = utils.deserialize_resource_graph(
|
||||
checkpoint.resource_graph)
|
||||
self.get_results(graphnodes, None, results)
|
||||
@ -285,7 +285,7 @@ class DetailView(horizon_tables.DataTableView):
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to retrieve checkpoint details.'),
|
||||
redirect=reverse("horizon:smaug:checkpoints:index"))
|
||||
redirect=reverse("horizon:karbor:checkpoints:index"))
|
||||
return results
|
||||
|
||||
def get_results(self, graphnodes, showparentid, results):
|
@ -15,12 +15,12 @@
|
||||
import horizon
|
||||
|
||||
# Load the api rest services into Horizon
|
||||
import smaug_dashboard.api.rest # noqa
|
||||
import karbor_dashboard.api.rest # noqa
|
||||
|
||||
|
||||
class DataProtection(horizon.Dashboard):
|
||||
name = "Data Protection"
|
||||
slug = "smaug"
|
||||
slug = "karbor"
|
||||
default_panel = "protectionplans"
|
||||
|
||||
|
@ -14,13 +14,13 @@
|
||||
|
||||
|
||||
# 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.
|
||||
DISABLED = False
|
||||
|
||||
ADD_INSTALLED_APPS = [
|
||||
'smaug_dashboard',
|
||||
'karbor_dashboard',
|
||||
]
|
||||
|
||||
# Automatically discover static resources in installed apps
|
@ -15,7 +15,7 @@
|
||||
|
||||
PANEL = 'protectionplans'
|
||||
PANEL_GROUP = 'default'
|
||||
PANEL_DASHBOARD = 'smaug'
|
||||
PANEL_DASHBOARD = 'karbor'
|
||||
|
||||
ADD_PANEL = \
|
||||
'smaug_dashboard.protectionplans.panel.ProtectionPlans'
|
||||
'karbor_dashboard.protectionplans.panel.ProtectionPlans'
|
@ -15,7 +15,7 @@
|
||||
|
||||
PANEL = 'protectionproviders'
|
||||
PANEL_GROUP = 'default'
|
||||
PANEL_DASHBOARD = 'smaug'
|
||||
PANEL_DASHBOARD = 'karbor'
|
||||
|
||||
ADD_PANEL = \
|
||||
'smaug_dashboard.protectionproviders.panel.ProtectionProviders'
|
||||
'karbor_dashboard.protectionproviders.panel.ProtectionProviders'
|
@ -15,7 +15,7 @@
|
||||
|
||||
PANEL = 'checkpoints'
|
||||
PANEL_GROUP = 'default'
|
||||
PANEL_DASHBOARD = 'smaug'
|
||||
PANEL_DASHBOARD = 'karbor'
|
||||
|
||||
ADD_PANEL = \
|
||||
'smaug_dashboard.checkpoints.panel.Checkpoints'
|
||||
'karbor_dashboard.checkpoints.panel.Checkpoints'
|
@ -15,7 +15,7 @@
|
||||
|
||||
PANEL = 'operationlogs'
|
||||
PANEL_GROUP = 'default'
|
||||
PANEL_DASHBOARD = 'smaug'
|
||||
PANEL_DASHBOARD = 'karbor'
|
||||
|
||||
ADD_PANEL = \
|
||||
'smaug_dashboard.operationlogs.panel.OperationLogs'
|
||||
'karbor_dashboard.operationlogs.panel.OperationLogs'
|
@ -15,7 +15,7 @@
|
||||
|
||||
PANEL = 'triggers'
|
||||
PANEL_GROUP = 'default'
|
||||
PANEL_DASHBOARD = 'smaug'
|
||||
PANEL_DASHBOARD = 'karbor'
|
||||
|
||||
ADD_PANEL = \
|
||||
'smaug_dashboard.triggers.panel.Triggers'
|
||||
'karbor_dashboard.triggers.panel.Triggers'
|
@ -15,7 +15,7 @@
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
import horizon
|
||||
|
||||
from smaug_dashboard import dashboard
|
||||
from karbor_dashboard import dashboard
|
||||
|
||||
|
||||
class OperationLogs(horizon.Panel):
|
@ -19,7 +19,7 @@ from horizon import tables
|
||||
|
||||
class OperationLogsProtectTable(tables.DataTable):
|
||||
id = tables.Column('id',
|
||||
link="horizon:smaug:operationlogs:detail",
|
||||
link="horizon:karbor:operationlogs:detail",
|
||||
verbose_name=_('ID'))
|
||||
name = tables.Column('name',
|
||||
verbose_name=_('Name'))
|
||||
@ -63,7 +63,7 @@ class OperationLogsRestoreTable(tables.DataTable):
|
||||
|
||||
class OperationLogsDeleteTable(tables.DataTable):
|
||||
id = tables.Column('id',
|
||||
link="horizon:smaug:operationlogs:detail",
|
||||
link="horizon:karbor:operationlogs:detail",
|
||||
verbose_name=_('ID'))
|
||||
name = tables.Column('name',
|
||||
verbose_name=_('Name'))
|
@ -13,7 +13,7 @@
|
||||
# under the License.
|
||||
|
||||
from django.conf.urls import url
|
||||
from smaug_dashboard.operationlogs import views
|
||||
from karbor_dashboard.operationlogs import views
|
||||
|
||||
|
||||
urlpatterns = [
|
@ -18,9 +18,9 @@ from django.utils.translation import ugettext_lazy as _
|
||||
from horizon import exceptions
|
||||
from horizon import tables as horizon_tables
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from smaug_dashboard.operationlogs import tables
|
||||
from smaug_dashboard.operationlogs import utils
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
from karbor_dashboard.operationlogs import tables
|
||||
from karbor_dashboard.operationlogs import utils
|
||||
|
||||
|
||||
class IndexView(horizon_tables.DataTableView):
|
||||
@ -59,7 +59,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
context = super(IndexView, self).get_context_data(**kwargs)
|
||||
context["type_list"] = utils.OPERATION_TYPE_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())
|
||||
return context
|
||||
|
||||
@ -123,7 +123,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
|
||||
# Get restore operation logs
|
||||
logs, self._more, self._prev = \
|
||||
smaugclient.restore_list_paged(
|
||||
karborclient.restore_list_paged(
|
||||
self.request,
|
||||
search_opts=filter_opts,
|
||||
marker=marker,
|
||||
@ -133,11 +133,11 @@ class IndexView(horizon_tables.DataTableView):
|
||||
reversed_order=reversed_order)
|
||||
|
||||
for log in logs:
|
||||
checkpoint = smaugclient.checkpoint_get(self.request,
|
||||
log.provider_id,
|
||||
log.checkpoint_id)
|
||||
provider = smaugclient.provider_get(self.request,
|
||||
log.provider_id)
|
||||
checkpoint = karborclient.checkpoint_get(self.request,
|
||||
log.provider_id,
|
||||
log.checkpoint_id)
|
||||
provider = karborclient.provider_get(self.request,
|
||||
log.provider_id)
|
||||
setattr(log, "name", checkpoint.protection_plan["name"])
|
||||
setattr(log, "type",
|
||||
utils.OPERATION_TYPE_DICT[
|
@ -20,7 +20,7 @@ from horizon import forms as horizon_forms
|
||||
from horizon import messages
|
||||
|
||||
import json
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
|
||||
|
||||
class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
||||
@ -44,7 +44,7 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
||||
__init__(request, *args, **kwargs)
|
||||
|
||||
result = []
|
||||
providers = smaugclient.provider_list(request)
|
||||
providers = karborclient.provider_list(request)
|
||||
|
||||
self.fields['providers'].initial = \
|
||||
json.dumps([f._info for f in providers])
|
||||
@ -56,11 +56,11 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
||||
|
||||
def handle(self, request, data):
|
||||
try:
|
||||
new_plan = smaugclient.plan_create(request,
|
||||
data["name"],
|
||||
data["provider_id"],
|
||||
json.loads(data["resources"]),
|
||||
json.loads(data["parameters"]))
|
||||
new_plan = karborclient.plan_create(request,
|
||||
data["name"],
|
||||
data["provider_id"],
|
||||
json.loads(data["resources"]),
|
||||
json.loads(data["parameters"]))
|
||||
|
||||
messages.success(request,
|
||||
_("Protection Plan created successfully."))
|
||||
@ -70,8 +70,8 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
|
||||
return self.next_view.as_view()(request,
|
||||
plan_id=new_plan.id)
|
||||
elif data["actionmode"] == "now":
|
||||
smaugclient.checkpoint_create(request, new_plan.provider_id,
|
||||
new_plan.id)
|
||||
karborclient.checkpoint_create(request, new_plan.provider_id,
|
||||
new_plan.id)
|
||||
messages.success(request, _("Protect now successfully."))
|
||||
return new_plan
|
||||
except Exception:
|
||||
@ -85,13 +85,13 @@ class ScheduleProtectForm(horizon_forms.SelfHandlingForm):
|
||||
widget=forms.HiddenInput)
|
||||
trigger_id = horizon_forms.DynamicChoiceField(
|
||||
label=_("Associate with Trigger"),
|
||||
add_item_link="horizon:smaug:triggers:create")
|
||||
add_item_link="horizon:karbor:triggers:create")
|
||||
|
||||
def __init__(self, request, *args, **kwargs):
|
||||
super(ScheduleProtectForm, self).__init__(request, *args, **kwargs)
|
||||
|
||||
result = []
|
||||
triggers = smaugclient.trigger_list(request)
|
||||
triggers = karborclient.trigger_list(request)
|
||||
if triggers:
|
||||
result = [(e.id, e.name) for e in triggers]
|
||||
|
||||
@ -101,11 +101,11 @@ class ScheduleProtectForm(horizon_forms.SelfHandlingForm):
|
||||
try:
|
||||
operation_definition = dict(provider_id=data["provider_id"],
|
||||
plan_id=data["id"])
|
||||
smaugclient.scheduled_operation_create(request,
|
||||
data["name"],
|
||||
"protect",
|
||||
data["trigger_id"],
|
||||
operation_definition)
|
||||
karborclient.scheduled_operation_create(request,
|
||||
data["name"],
|
||||
"protect",
|
||||
data["trigger_id"],
|
||||
operation_definition)
|
||||
messages.success(request, _("Schedule protect successfully."))
|
||||
return True
|
||||
except Exception:
|
@ -15,7 +15,7 @@
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
import horizon
|
||||
|
||||
from smaug_dashboard import dashboard
|
||||
from karbor_dashboard import dashboard
|
||||
|
||||
|
||||
class ProtectionPlans(horizon.Panel):
|
@ -19,13 +19,13 @@ from horizon import exceptions
|
||||
from horizon import messages
|
||||
from horizon import tables
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
|
||||
|
||||
class CreateProtectionPlanLink(tables.LinkAction):
|
||||
name = "create"
|
||||
verbose_name = _("Create Protection Plan")
|
||||
url = "horizon:smaug:protectionplans:create"
|
||||
url = "horizon:karbor:protectionplans:create"
|
||||
classes = ("ajax-modal",)
|
||||
icon = "plus"
|
||||
|
||||
@ -36,7 +36,7 @@ class CreateProtectionPlanLink(tables.LinkAction):
|
||||
class ScheduleProtectLink(tables.LinkAction):
|
||||
name = "scheduleprotect"
|
||||
verbose_name = _("Schedule Protect")
|
||||
url = "horizon:smaug:protectionplans:scheduleprotect"
|
||||
url = "horizon:karbor:protectionplans:scheduleprotect"
|
||||
classes = ("ajax-modal",)
|
||||
|
||||
def allowed(self, request, plan):
|
||||
@ -58,9 +58,9 @@ class ProtectNowLink(tables.Action):
|
||||
try:
|
||||
datum = self.table.get_object_by_id(datum_id)
|
||||
provider_id = datum.provider_id
|
||||
new_checkpoint = smaugclient.checkpoint_create(request,
|
||||
provider_id,
|
||||
datum_id)
|
||||
new_checkpoint = karborclient.checkpoint_create(request,
|
||||
provider_id,
|
||||
datum_id)
|
||||
messages.success(request, _("Protect now successfully."))
|
||||
return new_checkpoint
|
||||
except Exception:
|
||||
@ -88,7 +88,7 @@ class DeleteProtectionPlansAction(tables.DeleteAction):
|
||||
return True
|
||||
|
||||
def delete(self, request, obj_id):
|
||||
smaugclient.plan_delete(request, obj_id)
|
||||
karborclient.plan_delete(request, obj_id)
|
||||
|
||||
|
||||
class ProtectionPlanFilterAction(tables.FilterAction):
|
||||
@ -101,7 +101,7 @@ class ProtectionPlanFilterAction(tables.FilterAction):
|
||||
|
||||
class ProtectionPlansTable(tables.DataTable):
|
||||
name = tables.Column('name',
|
||||
link="horizon:smaug:protectionplans:detail",
|
||||
link="horizon:karbor:protectionplans:detail",
|
||||
verbose_name=_('Name'))
|
||||
|
||||
status = tables.Column('status',
|
@ -13,7 +13,7 @@
|
||||
# under the License.
|
||||
|
||||
from django.conf.urls import url
|
||||
from smaug_dashboard.protectionplans import views
|
||||
from karbor_dashboard.protectionplans import views
|
||||
|
||||
|
||||
urlpatterns = [
|
@ -22,10 +22,10 @@ from horizon import tables as horizon_tables
|
||||
from horizon.utils import memoized
|
||||
from horizon import views as horizon_views
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from smaug_dashboard.protectionplans import forms
|
||||
from smaug_dashboard.protectionplans import tables
|
||||
from smaugclient.v1 import protectables
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
from karbor_dashboard.protectionplans import forms
|
||||
from karbor_dashboard.protectionplans import tables
|
||||
from karborclient.v1 import protectables
|
||||
import uuid
|
||||
|
||||
|
||||
@ -53,7 +53,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
reversed_order = prev_marker is not None
|
||||
plans = []
|
||||
try:
|
||||
plans, self._more, self._prev = smaugclient.plan_list_paged(
|
||||
plans, self._more, self._prev = karborclient.plan_list_paged(
|
||||
request, None,
|
||||
marker=marker,
|
||||
paginate=True,
|
||||
@ -74,8 +74,8 @@ class CreateView(horizon_forms.ModalFormView):
|
||||
form_id = "create_protectionplan_form"
|
||||
form_class = forms.CreateProtectionPlanForm
|
||||
submit_label = _("Create Protection Plan")
|
||||
submit_url = reverse_lazy("horizon:smaug:protectionplans:create")
|
||||
success_url = reverse_lazy('horizon:smaug:protectionplans:index')
|
||||
submit_url = reverse_lazy("horizon:karbor:protectionplans:create")
|
||||
success_url = reverse_lazy('horizon:karbor:protectionplans:index')
|
||||
page_title = _("Create Protection Plan")
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
@ -91,7 +91,7 @@ class CreateView(horizon_forms.ModalFormView):
|
||||
@memoized.memoized_method
|
||||
def get_object(self):
|
||||
try:
|
||||
instances = smaugclient.protectable_list_instances(
|
||||
instances = karborclient.protectable_list_instances(
|
||||
self.request, "OS::Keystone::Project")
|
||||
results = []
|
||||
self.get_results(instances, None, results)
|
||||
@ -100,7 +100,7 @@ class CreateView(horizon_forms.ModalFormView):
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to create protection plan.'),
|
||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
||||
redirect=reverse("horizon:karbor:protectionplans:index"))
|
||||
|
||||
def get_results(self, instances, showparentid, results):
|
||||
for instance in instances:
|
||||
@ -116,7 +116,7 @@ class CreateView(horizon_forms.ModalFormView):
|
||||
|
||||
for dependent_resource in instance.dependent_resources:
|
||||
if dependent_resource is not None:
|
||||
dependent = smaugclient.protectable_get_instance(
|
||||
dependent = karborclient.protectable_get_instance(
|
||||
self.request,
|
||||
dependent_resource["type"],
|
||||
dependent_resource["id"])
|
||||
@ -129,19 +129,19 @@ class ScheduleProtectView(horizon_forms.ModalFormView):
|
||||
form_id = "scheduleprotect_form"
|
||||
form_class = forms.ScheduleProtectForm
|
||||
submit_label = _("Schedule Protect")
|
||||
submit_url = "horizon:smaug:protectionplans:scheduleprotect"
|
||||
success_url = reverse_lazy('horizon:smaug:protectionplans:index')
|
||||
submit_url = "horizon:karbor:protectionplans:scheduleprotect"
|
||||
success_url = reverse_lazy('horizon:karbor:protectionplans:index')
|
||||
page_title = _("Schedule Protect")
|
||||
|
||||
@memoized.memoized_method
|
||||
def get_object(self):
|
||||
try:
|
||||
return smaugclient.plan_get(self.request, self.kwargs['plan_id'])
|
||||
return karborclient.plan_get(self.request, self.kwargs['plan_id'])
|
||||
except Exception:
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to schedule protect.'),
|
||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
||||
redirect=reverse("horizon:karbor:protectionplans:index"))
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ScheduleProtectView, self).get_context_data(**kwargs)
|
||||
@ -168,31 +168,31 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||
context["plan"] = plan
|
||||
context["provider"] = self.get_provider(plan.provider_id)
|
||||
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)
|
||||
return context
|
||||
|
||||
@memoized.memoized_method
|
||||
def get_data(self):
|
||||
try:
|
||||
return smaugclient.plan_get(self.request, self.kwargs['plan_id'])
|
||||
return karborclient.plan_get(self.request, self.kwargs['plan_id'])
|
||||
except Exception:
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to retrieve protection plan details.'),
|
||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
||||
redirect=reverse("horizon:karbor:protectionplans:index"))
|
||||
|
||||
@memoized.memoized_method
|
||||
def get_provider(self, provider_id):
|
||||
provider = None
|
||||
if provider_id:
|
||||
try:
|
||||
provider = smaugclient.provider_get(self.request, provider_id)
|
||||
provider = karborclient.provider_get(self.request, provider_id)
|
||||
except Exception:
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to retrieve protection provider details.'),
|
||||
redirect=reverse("horizon:smaug:protectionplans:index"))
|
||||
redirect=reverse("horizon:karbor:protectionplans:index"))
|
||||
return provider
|
||||
|
||||
@memoized.memoized_method
|
||||
@ -202,7 +202,7 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||
for instance in instances:
|
||||
instance["showid"] = str(uuid.uuid4())
|
||||
result.append(protectables.Instances(self, instance))
|
||||
detail_instance = smaugclient.protectable_get_instance(
|
||||
detail_instance = karborclient.protectable_get_instance(
|
||||
self.request,
|
||||
instance["type"].strip(),
|
||||
instance["id"].strip())
|
||||
@ -218,4 +218,4 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('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 _
|
||||
import horizon
|
||||
|
||||
from smaug_dashboard import dashboard
|
||||
from karbor_dashboard import dashboard
|
||||
|
||||
|
||||
class ProtectionProviders(horizon.Panel):
|
@ -27,7 +27,7 @@ class ShowCheckpointsAction(tables.Action):
|
||||
return True
|
||||
|
||||
def single(self, table, request, obj_id):
|
||||
redirect = reverse("horizon:smaug:checkpoints:index",
|
||||
redirect = reverse("horizon:karbor:checkpoints:index",
|
||||
args=(obj_id,))
|
||||
return http.HttpResponseRedirect(redirect)
|
||||
|
||||
@ -43,7 +43,7 @@ class ProtectionProviderFilterAction(tables.FilterAction):
|
||||
|
||||
class ProtectionProvidersTable(tables.DataTable):
|
||||
name = tables.Column('name',
|
||||
link="horizon:smaug:protectionproviders:detail",
|
||||
link="horizon:karbor:protectionproviders:detail",
|
||||
verbose_name=_('Name'))
|
||||
description = tables.Column('description',
|
||||
verbose_name=_('Description'))
|
@ -17,8 +17,8 @@ from django.utils.translation import ugettext_lazy as _
|
||||
from horizon import exceptions
|
||||
from horizon import tabs
|
||||
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
import simplejson as json
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
|
||||
|
||||
class OptionsSchemaTab(tabs.Tab):
|
||||
@ -29,7 +29,7 @@ class OptionsSchemaTab(tabs.Tab):
|
||||
def get_context_data(self, request):
|
||||
try:
|
||||
provider_id = self.tab_group.kwargs['provider_id']
|
||||
provider = smaugclient.provider_get(request, provider_id)
|
||||
provider = karborclient.provider_get(request, provider_id)
|
||||
|
||||
schema = {}
|
||||
if provider is not None:
|
||||
@ -51,7 +51,7 @@ class RestoreSchemaTab(tabs.Tab):
|
||||
def get_context_data(self, request):
|
||||
try:
|
||||
provider_id = self.tab_group.kwargs['provider_id']
|
||||
provider = smaugclient.provider_get(request, provider_id)
|
||||
provider = karborclient.provider_get(request, provider_id)
|
||||
|
||||
schema = {}
|
||||
if provider is not None:
|
||||
@ -73,7 +73,7 @@ class SavedInfoSchemaTab(tabs.Tab):
|
||||
def get_context_data(self, request):
|
||||
try:
|
||||
provider_id = self.tab_group.kwargs['provider_id']
|
||||
provider = smaugclient.provider_get(request, provider_id)
|
||||
provider = karborclient.provider_get(request, provider_id)
|
||||
schema = {}
|
||||
if provider is not None:
|
||||
if 'saved_info_schema' in provider.extended_info_schema:
|
@ -13,7 +13,7 @@
|
||||
# under the License.
|
||||
|
||||
from django.conf.urls import url
|
||||
from smaug_dashboard.protectionproviders import views
|
||||
from karbor_dashboard.protectionproviders import views
|
||||
|
||||
|
||||
urlpatterns = [
|
@ -20,9 +20,9 @@ from horizon import tables as horizon_tables
|
||||
from horizon import tabs as horizon_tabs
|
||||
from horizon.utils import memoized
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from smaug_dashboard.protectionproviders import tables
|
||||
from smaug_dashboard.protectionproviders import tabs
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
from karbor_dashboard.protectionproviders import tables
|
||||
from karbor_dashboard.protectionproviders import tabs
|
||||
|
||||
|
||||
class IndexView(horizon_tables.DataTableView):
|
||||
@ -50,7 +50,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
providers = []
|
||||
try:
|
||||
providers, self._more, self._prev = \
|
||||
smaugclient.provider_list_paged(
|
||||
karborclient.provider_list_paged(
|
||||
request, None,
|
||||
marker=marker,
|
||||
paginate=True,
|
||||
@ -67,7 +67,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
|
||||
|
||||
class DetailView(horizon_tabs.TabView):
|
||||
redirect_url = "horizon:smaug:protectionproviders:index"
|
||||
redirect_url = "horizon:karbor:protectionproviders:index"
|
||||
tab_group_class = tabs.ProviderDetailTabs
|
||||
template_name = 'protectionproviders/detail.html'
|
||||
page_title = "{{ provider.name }}"
|
||||
@ -81,12 +81,12 @@ class DetailView(horizon_tabs.TabView):
|
||||
def get_data(self):
|
||||
try:
|
||||
provider_id = self.kwargs['provider_id']
|
||||
provider = smaugclient.provider_get(self.request, provider_id)
|
||||
provider = karborclient.provider_get(self.request, provider_id)
|
||||
except Exception:
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to retrieve protection provider details.'),
|
||||
redirect=reverse("horizon:smaug:protectionproviders:index"))
|
||||
redirect=reverse("horizon:karbor:protectionproviders:index"))
|
||||
return provider
|
||||
|
||||
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() {
|
||||
var trResources = $("#checkpointRestoreResource tr[resource-id]");
|
||||
var provider = $.parseJSON($(".provider").val());
|
||||
var parameters = $.Smaug.getResourceDefaultParameters(provider, "restore_schema");
|
||||
var parameters = $.Karbor.getResourceDefaultParameters(provider, "restore_schema");
|
||||
if(trResources != null) {
|
||||
trResources.each(function() {
|
||||
var trResource = $(this);
|
||||
@ -67,34 +67,34 @@ horizon.checkpoints_restore = {
|
||||
if(schema != null) {
|
||||
var exist_ui_dialogs = $("body").has(".ui-dialog");
|
||||
if(exist_ui_dialogs.length == 0){
|
||||
var dialog_data = $.Smaug.createDialog(schema, userdata, resourceid);
|
||||
$.Smaug.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
|
||||
var dialog_data = $.Karbor.createDialog(schema, userdata, resourceid);
|
||||
$.Karbor.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/* bind parameters dialog save button event */
|
||||
$(document).on('click', "#parametersdialog .btn.btn-primary", function() {
|
||||
var flag = $.Smaug.check_required($("#parametersdialog"));
|
||||
var flag = $.Karbor.check_required($("#parametersdialog"));
|
||||
if(flag) {
|
||||
var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
|
||||
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 + "']")
|
||||
.find(".editparameters")
|
||||
.data("userdata", userdata);
|
||||
$.Smaug.closeDialog("#parametersdialog");
|
||||
$.Karbor.closeDialog("#parametersdialog");
|
||||
}
|
||||
});
|
||||
|
||||
/* bind parameters dialog cancel button event */
|
||||
$(document).on('click', "#parametersdialog .btn.cancel", function() {
|
||||
$.Smaug.closeDialog("#parametersdialog");
|
||||
$.Karbor.closeDialog("#parametersdialog");
|
||||
});
|
||||
|
||||
/* bind parameters dialog close button event */
|
||||
$(document).on('click', "#parametersdialog a.close", function() {
|
||||
$.Smaug.closeDialog("#parametersdialog");
|
||||
$.Karbor.closeDialog("#parametersdialog");
|
||||
});
|
||||
}
|
||||
};
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* jQuery Smaug Function
|
||||
* jQuery Karbor Function
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
@ -171,7 +171,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
$.Smaug = {
|
||||
$.Karbor = {
|
||||
|
||||
/* get the default resources parameters */
|
||||
getResourceDefaultParameters: function(provider, schemaname) {
|
@ -32,7 +32,7 @@ function setProtectedResource() {
|
||||
var resources = [];
|
||||
var cbResources = $(".cbresource:checked");
|
||||
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) {
|
||||
cbResources.each(function() {
|
||||
var cbResource = $(this);
|
||||
@ -132,34 +132,34 @@ horizon.protectionplans_create = {
|
||||
if(schema != null) {
|
||||
var exist_ui_dialogs = $("body").has(".ui-dialog");
|
||||
if(exist_ui_dialogs.length == 0){
|
||||
var dialog_data = $.Smaug.createDialog(schema, userdata, resourceid);
|
||||
$.Smaug.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
|
||||
var dialog_data = $.Karbor.createDialog(schema, userdata, resourceid);
|
||||
$.Karbor.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/* bind parameters dialog save button event */
|
||||
$(document).on('click', "#parametersdialog .btn.btn-primary", function() {
|
||||
var flag = $.Smaug.check_required($("#parametersdialog"));
|
||||
var flag = $.Karbor.check_required($("#parametersdialog"));
|
||||
if(flag) {
|
||||
var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
|
||||
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 + "']")
|
||||
.find(".editparameters")
|
||||
.data("userdata", userdata);
|
||||
$.Smaug.closeDialog("#parametersdialog");
|
||||
$.Karbor.closeDialog("#parametersdialog");
|
||||
}
|
||||
});
|
||||
|
||||
/* bind parameters dialog cancel button event */
|
||||
$(document).on('click', "#parametersdialog .btn.cancel", function() {
|
||||
$.Smaug.closeDialog("#parametersdialog");
|
||||
$.Karbor.closeDialog("#parametersdialog");
|
||||
});
|
||||
|
||||
/* bind parameters dialog close button event */
|
||||
$(document).on('click', "#parametersdialog a.close", function() {
|
||||
$.Smaug.closeDialog("#parametersdialog");
|
||||
$.Karbor.closeDialog("#parametersdialog");
|
||||
});
|
||||
}
|
||||
};
|
@ -4,7 +4,7 @@
|
||||
|
||||
{% block css %}
|
||||
{% compress css %}
|
||||
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
|
||||
{% endcompress %}
|
||||
{% endblock %}
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
{% block css %}
|
||||
{% compress css %}
|
||||
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
|
||||
{% endcompress %}
|
||||
{% endblock %}
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
{% block css %}
|
||||
{% compress css %}
|
||||
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
|
||||
{% endcompress %}
|
||||
{% endblock %}
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
{% block css %}
|
||||
{% compress css %}
|
||||
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
|
||||
{% endcompress %}
|
||||
{% endblock %}
|
||||
|
994
karbor_dashboard/test/api_tests/api_tests.py
Normal file
994
karbor_dashboard/test/api_tests/api_tests.py
Normal file
@ -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
|
||||
# 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 smaug_dashboard import api
|
||||
from smaug_dashboard.test import test_data
|
||||
from smaugclient.v1 import client as smaug_client
|
||||
|
||||
|
||||
class APITestCase(helpers.APITestCase):
|
||||
"""Extends the base Horizon APITestCase for smaugclient"""
|
||||
"""Extends the base Horizon APITestCase for karborclient"""
|
||||
|
||||
def setUp(self):
|
||||
super(APITestCase, self).setUp()
|
||||
self._original_smaugclient = api.smaug.smaugclient
|
||||
api.smaug.smaugclient = lambda request: self.stub_smaugclient()
|
||||
self._original_karborclient = api.karbor.karborclient
|
||||
api.karbor.karborclient = lambda request: self.stub_karborclient()
|
||||
|
||||
def _setup_test_data(self):
|
||||
super(APITestCase, self)._setup_test_data()
|
||||
@ -32,10 +32,10 @@ class APITestCase(helpers.APITestCase):
|
||||
|
||||
def tearDown(self):
|
||||
super(APITestCase, self).tearDown()
|
||||
api.smaug.smaugclient = self._original_smaugclient
|
||||
api.karbor.karborclient = self._original_karborclient
|
||||
|
||||
def stub_smaugclient(self):
|
||||
if not hasattr(self, "smaugclient"):
|
||||
self.mox.StubOutWithMock(smaug_client, 'Client')
|
||||
self.smaugclient = self.mox.CreateMock(smaug_client.Client)
|
||||
return self.smaugclient
|
||||
def stub_karborclient(self):
|
||||
if not hasattr(self, "karborclient"):
|
||||
self.mox.StubOutWithMock(karbor_client, 'Client')
|
||||
self.karborclient = self.mox.CreateMock(karbor_client.Client)
|
||||
return self.karborclient
|
@ -33,7 +33,7 @@ STATIC_URL = '/static/'
|
||||
|
||||
SECRET_KEY = secret_key.generate_or_read_from_file(
|
||||
os.path.join(TEST_DIR, '.secret_key_store'))
|
||||
ROOT_URLCONF = 'smaug_dashboard.test.urls'
|
||||
ROOT_URLCONF = 'karbor_dashboard.test.urls'
|
||||
TEMPLATE_DIRS = (
|
||||
os.path.join(TEST_DIR, 'templates'),
|
||||
)
|
||||
@ -80,7 +80,7 @@ from openstack_dashboard.utils import settings
|
||||
dashboard_module_names = [
|
||||
'openstack_dashboard.enabled',
|
||||
'openstack_dashboard.local.enabled',
|
||||
'smaug_dashboard.enabled',
|
||||
'karbor_dashboard.enabled',
|
||||
]
|
||||
dashboard_modules = []
|
||||
# All dashboards must be enabled for the namespace to get registered, which is
|
||||
@ -151,7 +151,7 @@ LOGGING['loggers']['selenium'] = {
|
||||
'propagate': False,
|
||||
}
|
||||
|
||||
LOGGING['loggers']['smaug_dashboard'] = {
|
||||
LOGGING['loggers']['karbor_dashboard'] = {
|
||||
'handlers': ['test'],
|
||||
'propagate': False,
|
||||
}
|
@ -19,8 +19,8 @@ from horizon import exceptions
|
||||
from horizon import forms as horizon_forms
|
||||
from horizon import messages
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from smaug_dashboard.triggers import utils
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
from karbor_dashboard.triggers import utils
|
||||
|
||||
|
||||
class CreateTriggerForm(horizon_forms.SelfHandlingForm):
|
||||
@ -66,10 +66,10 @@ class CreateTriggerForm(horizon_forms.SelfHandlingForm):
|
||||
def handle(self, request, data):
|
||||
try:
|
||||
data_properties = utils.CrontabUtil.convert_to_crontab(data)
|
||||
new_trigger = smaugclient.trigger_create(request,
|
||||
data["name"],
|
||||
data["type"],
|
||||
data_properties)
|
||||
new_trigger = karborclient.trigger_create(request,
|
||||
data["name"],
|
||||
data["type"],
|
||||
data_properties)
|
||||
messages.success(request, _("Trigger created successfully."))
|
||||
|
||||
return new_trigger
|
@ -15,7 +15,7 @@
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
import horizon
|
||||
|
||||
from smaug_dashboard import dashboard
|
||||
from karbor_dashboard import dashboard
|
||||
|
||||
|
||||
class Triggers(horizon.Panel):
|
@ -17,13 +17,13 @@ from django.utils.translation import ungettext_lazy
|
||||
|
||||
from horizon import tables
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
|
||||
|
||||
class CreateTriggerLink(tables.LinkAction):
|
||||
name = "create"
|
||||
verbose_name = _("Create Trigger")
|
||||
url = "horizon:smaug:triggers:create"
|
||||
url = "horizon:karbor:triggers:create"
|
||||
classes = ("ajax-modal",)
|
||||
icon = "plus"
|
||||
|
||||
@ -48,7 +48,7 @@ class DeleteTriggersAction(tables.DeleteAction):
|
||||
return True
|
||||
|
||||
def delete(self, request, obj_id):
|
||||
smaugclient.trigger_delete(request, obj_id)
|
||||
karborclient.trigger_delete(request, obj_id)
|
||||
|
||||
|
||||
class TriggerFilterAction(tables.FilterAction):
|
||||
@ -61,7 +61,7 @@ class TriggerFilterAction(tables.FilterAction):
|
||||
|
||||
class TriggersTable(tables.DataTable):
|
||||
name = tables.Column('name',
|
||||
link="horizon:smaug:triggers:detail",
|
||||
link="horizon:karbor:triggers:detail",
|
||||
verbose_name=_('Name'))
|
||||
type = tables.Column('type',
|
||||
verbose_name=_('Type'))
|
@ -13,7 +13,7 @@
|
||||
# under the License.
|
||||
|
||||
from django.conf.urls import url
|
||||
from smaug_dashboard.triggers import views
|
||||
from karbor_dashboard.triggers import views
|
||||
|
||||
|
||||
urlpatterns = [
|
@ -22,10 +22,10 @@ from horizon import tables as horizon_tables
|
||||
from horizon.utils import memoized
|
||||
from horizon import views as horizon_views
|
||||
|
||||
from smaug_dashboard.api import smaug as smaugclient
|
||||
from smaug_dashboard.triggers import forms
|
||||
from smaug_dashboard.triggers import tables
|
||||
from smaug_dashboard.triggers import utils
|
||||
from karbor_dashboard.api import karbor as karborclient
|
||||
from karbor_dashboard.triggers import forms
|
||||
from karbor_dashboard.triggers import tables
|
||||
from karbor_dashboard.triggers import utils
|
||||
|
||||
|
||||
class IndexView(horizon_tables.DataTableView):
|
||||
@ -52,7 +52,7 @@ class IndexView(horizon_tables.DataTableView):
|
||||
reversed_order = prev_marker is not None
|
||||
triggers = []
|
||||
try:
|
||||
triggers, self._more, self._prev = smaugclient.trigger_list_paged(
|
||||
triggers, self._more, self._prev = karborclient.trigger_list_paged(
|
||||
request, None,
|
||||
marker=marker,
|
||||
paginate=True,
|
||||
@ -73,8 +73,8 @@ class CreateView(horizon_forms.ModalFormView):
|
||||
form_id = "create_trigger_form"
|
||||
form_class = forms.CreateTriggerForm
|
||||
submit_label = _("Create Trigger")
|
||||
submit_url = reverse_lazy("horizon:smaug:triggers:create")
|
||||
success_url = reverse_lazy('horizon:smaug:triggers:index')
|
||||
submit_url = reverse_lazy("horizon:karbor:triggers:create")
|
||||
success_url = reverse_lazy('horizon:karbor:triggers:index')
|
||||
page_title = _("Create Trigger")
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||
setattr(trigger, key, value)
|
||||
|
||||
context["trigger"] = trigger
|
||||
context["url"] = reverse("horizon:smaug:triggers:index")
|
||||
context["url"] = reverse("horizon:karbor:triggers:index")
|
||||
context["actions"] = table.render_row_actions(trigger)
|
||||
return context
|
||||
|
||||
@ -104,10 +104,10 @@ class DetailView(horizon_views.HorizonTemplateView):
|
||||
def get_data(self):
|
||||
try:
|
||||
trigger_id = self.kwargs['trigger_id']
|
||||
trigger = smaugclient.trigger_get(self.request, trigger_id)
|
||||
trigger = karborclient.trigger_get(self.request, trigger_id)
|
||||
except Exception:
|
||||
exceptions.handle(
|
||||
self.request,
|
||||
_('Unable to retrieve trigger details.'),
|
||||
redirect=reverse("horizon:smaug:triggers:index"))
|
||||
redirect=reverse("horizon:karbor:triggers:index"))
|
||||
return trigger
|
@ -16,5 +16,5 @@
|
||||
from pbr import version
|
||||
|
||||
|
||||
version_info = version.VersionInfo('smaug-dashboard')
|
||||
version_info = version.VersionInfo('karbor-dashboard')
|
||||
__version__ = version_info.cached_version_string()
|
@ -16,4 +16,4 @@ import horizon
|
||||
|
||||
|
||||
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__":
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
|
||||
"smaug_dashboard.test.settings")
|
||||
"karbor_dashboard.test.settings")
|
||||
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-Spin>=1.2.5.2 # 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_env_version=$venv/environments
|
||||
with_venv=tools/with_venv.sh
|
||||
included_dirs="smaug_dashboard"
|
||||
included_dirs="karbor_dashboard"
|
||||
|
||||
always_venv=0
|
||||
backup_env=0
|
||||
@ -187,7 +187,7 @@ function warn_on_flake8_without_venv {
|
||||
function run_pep8 {
|
||||
echo "Running flake8 ..."
|
||||
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 {
|
||||
@ -200,13 +200,13 @@ function run_pep8_changed {
|
||||
files=$(git diff --name-only $base_commit | tr '\n' ' ')
|
||||
echo "Running flake8 on ${files}"
|
||||
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
|
||||
}
|
||||
|
||||
function run_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."
|
||||
}
|
||||
|
||||
@ -340,7 +340,7 @@ function run_tests {
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
if [ $selenium_headless -eq 1 ]; then
|
||||
@ -360,12 +360,12 @@ function run_tests_subset {
|
||||
}
|
||||
|
||||
function run_tests_all {
|
||||
echo "Running Smaug Dashboard tests"
|
||||
export NOSE_XUNIT_FILE=smaug_dashboard/nosetests.xml
|
||||
echo "Running Karbor Dashboard tests"
|
||||
export NOSE_XUNIT_FILE=karbor_dashboard/nosetests.xml
|
||||
if [ "$NOSE_WITH_HTML_OUTPUT" = '1' ]; then
|
||||
export NOSE_HTML_OUT_FILE='dashboard_nose_results.html'
|
||||
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
|
||||
DASHBOARD_RESULT=$?
|
||||
|
||||
@ -420,21 +420,21 @@ function babel_extract {
|
||||
|
||||
function run_makemessages {
|
||||
|
||||
echo -n "smaug dashboard: "
|
||||
cd smaug_dashboard
|
||||
echo -n "karbor dashboard: "
|
||||
cd karbor_dashboard
|
||||
babel_extract django
|
||||
SMAUG_PY_RESULT=$?
|
||||
KARBOR_PY_RESULT=$?
|
||||
|
||||
echo -n "smaug dashboard javascript: "
|
||||
echo -n "karbor dashboard javascript: "
|
||||
babel_extract djangojs
|
||||
SMAUG_JS_RESULT=$?
|
||||
KARBOR_JS_RESULT=$?
|
||||
|
||||
cd ..
|
||||
if [ $check_only -eq 1 ]; then
|
||||
rm smaug_dashboard/locale/django*.pot
|
||||
rm karbor_dashboard/locale/django*.pot
|
||||
fi
|
||||
|
||||
exit $(($SMAUG_PY_RESULT || $SMAUG_JS_RESULT))
|
||||
exit $(($KARBOR_PY_RESULT || $KARBOR_JS_RESULT))
|
||||
}
|
||||
|
||||
function run_compilemessages {
|
||||
|
@ -1,7 +1,7 @@
|
||||
[metadata]
|
||||
name = smaug-dashboard
|
||||
name = karbor-dashboard
|
||||
version = 0.0.1
|
||||
summary = Smaug Dashboard
|
||||
summary = Karbor Dashboard
|
||||
description-file =
|
||||
README.rst
|
||||
author = OpenStack
|
||||
@ -21,7 +21,7 @@ classifier =
|
||||
|
||||
[files]
|
||||
packages =
|
||||
smaug_dashboard
|
||||
karbor_dashboard
|
||||
|
||||
[build_sphinx]
|
||||
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
Block a user