Fix pep8 errors
Fixes existing pep8 errors and reenables the corresponding tox rules Change-Id: I4168a90c40173e4c35c9d75030cd592ace657508
This commit is contained in:
@@ -1,15 +1,12 @@
|
||||
import logging
|
||||
import os
|
||||
|
||||
from pecan import make_app, conf
|
||||
from pecan.commands import CommandRunner
|
||||
|
||||
from services import region_resource_id_status
|
||||
from storage import factory
|
||||
from sot import sot_factory
|
||||
|
||||
from audit_client.api import audit
|
||||
|
||||
from pecan import conf, make_app
|
||||
from pecan.commands import CommandRunner
|
||||
from services import region_resource_id_status
|
||||
from sot import sot_factory
|
||||
from storage import factory
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -70,7 +67,7 @@ def main():
|
||||
drive, path_and_file = os.path.splitdrive(dir_name)
|
||||
path, filename = os.path.split(path_and_file)
|
||||
runner = CommandRunner()
|
||||
runner.run(['serve', path+'/config.py'])
|
||||
runner.run(['serve', path + '/config.py'])
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
"""Configuration rest API input module."""
|
||||
|
||||
import logging
|
||||
|
||||
from orm_common.utils import utils
|
||||
from pecan import conf
|
||||
from pecan import rest
|
||||
from pecan import conf, rest
|
||||
from wsmeext.pecan import wsexpose
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -5,17 +5,15 @@ import logging.handlers
|
||||
import time
|
||||
|
||||
import pecan
|
||||
import wsme
|
||||
from pecan import rest
|
||||
from rds.controllers.v1.base import (ClientSideError, LockedEntity,
|
||||
NotAllowedError)
|
||||
from rds.services.base import ConflictValue
|
||||
from rds.services import resource as ResourceService
|
||||
import wsme
|
||||
from wsme import types as wtypes
|
||||
from wsmeext.pecan import wsexpose
|
||||
|
||||
from rds.controllers.v1.base import ClientSideError
|
||||
from rds.controllers.v1.base import LockedEntity
|
||||
from rds.controllers.v1.base import NotAllowedError
|
||||
from rds.services import resource as ResourceService
|
||||
from rds.services.base import ConflictValue
|
||||
|
||||
my_logger = logging.getLogger(__name__)
|
||||
|
||||
resources_operation_list = {
|
||||
@@ -192,7 +190,7 @@ class CreateNewResource(rest.RestController):
|
||||
resource_type,
|
||||
resource_id)
|
||||
res = Result(**{resource_type: CreatedResource(id=resource_id,
|
||||
created='%d' % (time.time()*1000),
|
||||
created='%d' % (time.time() * 1000),
|
||||
links=Links(site_link))})
|
||||
return res
|
||||
except ConflictValue as e:
|
||||
@@ -233,11 +231,11 @@ class CreateNewResource(rest.RestController):
|
||||
site_link = "%s/v1/rds/%s/%s" % (base_url,
|
||||
resource_type,
|
||||
resource_id)
|
||||
res = Result(**{resource_type: CreatedResource(id=resource_id,
|
||||
updated='%d' % (
|
||||
time.time() * 1000),
|
||||
links=Links(
|
||||
site_link))})
|
||||
res = Result(**{
|
||||
resource_type: CreatedResource(
|
||||
id=resource_id,
|
||||
updated='%d' % (time.time() * 1000),
|
||||
links=Links(site_link))})
|
||||
return res
|
||||
except ConflictValue as e:
|
||||
my_logger.error("the request blocked need to wait "
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
"""v1 controller."""
|
||||
from rds.controllers.v1 import logs
|
||||
from rds.controllers.v1.configuration import root as config_root
|
||||
from rds.controllers.v1 import logs
|
||||
from rds.controllers.v1.resources import root as Rds
|
||||
|
||||
from rds.controllers.v1.status import resource_status
|
||||
|
||||
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
"""handle get resource module."""
|
||||
import logging
|
||||
|
||||
import wsme
|
||||
from pecan import rest
|
||||
from wsme import types as wtypes
|
||||
from wsmeext.pecan import wsexpose
|
||||
|
||||
from rds.controllers.v1.base import EntityNotFoundError
|
||||
from rds.services import region_resource_id_status as regionResourceIdStatus
|
||||
import wsme
|
||||
from wsme import types as wtypes
|
||||
from wsmeext.pecan import wsexpose
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -20,7 +19,7 @@ class ResourceMetaData(wtypes.DynamicBase):
|
||||
size = wsme.wsattr(wtypes.text, mandatory=True)
|
||||
|
||||
def __init__(self, size='', virtual_size='', checksum=''):
|
||||
"""
|
||||
"""init
|
||||
|
||||
:param size:
|
||||
:param virtual_size:
|
||||
|
||||
@@ -2,17 +2,16 @@
|
||||
import logging
|
||||
import time
|
||||
|
||||
import wsme
|
||||
from pecan import rest
|
||||
from rds.controllers.v1.base import InputValueError, ClientSideError
|
||||
from rds.controllers.v1.base import InputValueError
|
||||
from rds.controllers.v1.status import get_resource
|
||||
from rds.services.base import ErrorMesage, InputError
|
||||
from rds.services import region_resource_id_status as regionResourceIdStatus
|
||||
from rds.utils import utils
|
||||
import wsme
|
||||
from wsme import types as wtypes
|
||||
from wsmeext.pecan import wsexpose
|
||||
|
||||
from rds.controllers.v1.status import get_resource
|
||||
from rds.services import region_resource_id_status as regionResourceIdStatus
|
||||
from rds.services.base import InputError, ErrorMesage
|
||||
from rds.utils import utils
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -23,7 +22,7 @@ class MetaData(wtypes.DynamicBase):
|
||||
size = wsme.wsattr(wtypes.text, mandatory=True)
|
||||
|
||||
def __init__(self, checksum=None, virtual_size=None, size=None):
|
||||
"""
|
||||
"""init
|
||||
|
||||
:param checksum:
|
||||
:param virtual_size:
|
||||
@@ -126,7 +125,7 @@ class Status(rest.RestController):
|
||||
logger.info("post status")
|
||||
logger.debug("parse json!")
|
||||
data_to_save = dict(
|
||||
timestamp=int(time.time())*1000,
|
||||
timestamp=int(time.time()) * 1000,
|
||||
region=status_input.rds_listener.region,
|
||||
resource_id=status_input.rds_listener.resource_id,
|
||||
status=status_input.rds_listener.status,
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
"""ORD trigger main module."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
import time
|
||||
|
||||
import logging
|
||||
import requests
|
||||
|
||||
from pecan import conf
|
||||
|
||||
from audit_client.api import audit
|
||||
|
||||
from pecan import conf
|
||||
from rds.services import region_resource_id_status as regionResourceIdStatus
|
||||
|
||||
# REST API constants
|
||||
@@ -145,9 +143,9 @@ def _notify(ord_url,
|
||||
# Make sure the ORD sent an ACK
|
||||
if response.status_code != ACK_CODE:
|
||||
message = 'Did not receive an ACK from ORD %s, status code: %d' % (
|
||||
ord_url, response.status_code, )
|
||||
ord_url, response.status_code, )
|
||||
encoded_message = message.replace('\n', '_').replace('\r', '_')
|
||||
if encoded_message != message:
|
||||
if encoded_message != message:
|
||||
encoded_message = encoded_message + "(encoded)"
|
||||
logger.error(encoded_message)
|
||||
raise NotifyNotAcknowledgedError(message)
|
||||
@@ -284,5 +282,6 @@ def notify_ord(transaction_id,
|
||||
_update_audit(region_id, application_id, tracking_id, transaction_id,
|
||||
transaction_type, resource_id, user_id, external_id,
|
||||
event_details, status)
|
||||
logger.debug("Create Resource Requested to ORD: region=%s resource_id=%s status=%s"
|
||||
% (region_id, resource_id, status))
|
||||
logger.debug(
|
||||
"Create Resource Requested to ORD: region=%s resource_id=%s status=%s" % (
|
||||
region_id, resource_id, status))
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import requests
|
||||
import json
|
||||
import logging
|
||||
|
||||
import requests
|
||||
|
||||
from pecan import conf
|
||||
|
||||
from rds.utils import authentication as AuthService
|
||||
from rds.services.base import ErrorMesage
|
||||
|
||||
from rds.utils import authentication as AuthService
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -20,7 +19,7 @@ def _set_headers():
|
||||
if token_id:
|
||||
headers['X-Auth-Token'] = token_id
|
||||
headers['X-Auth-Region'] = region
|
||||
except:
|
||||
except Exception:
|
||||
logger.error("no token")
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
"""python module."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
|
||||
import requests
|
||||
|
||||
from pecan import conf
|
||||
from rds.services.base import ErrorMesage
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -15,8 +15,5 @@ class ErrorMesage(Error):
|
||||
|
||||
|
||||
class ConflictValue(Error):
|
||||
"""
|
||||
block values if operation still in progress
|
||||
"""
|
||||
"""block values if operation still in progress"""
|
||||
pass
|
||||
|
||||
|
||||
@@ -10,4 +10,4 @@ class ResourceData(object):
|
||||
self.operation = operation
|
||||
self.transaction_id = transaction_id
|
||||
self.model = model
|
||||
self.external_transaction_id = external_transaction_id
|
||||
self.external_transaction_id = external_transaction_id
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import logging
|
||||
import sys
|
||||
import time
|
||||
|
||||
from rds.services.base import Error, InputError
|
||||
from rds.storage import factory
|
||||
@@ -22,14 +21,14 @@ def add_status(data):
|
||||
", transaction_id [{}] and resource_id [{}], ord_notifier_id [{}], "
|
||||
"error message [{}], error code [{}] and "
|
||||
"resource_extra_metadata [{}]".format(data['timestamp'],
|
||||
data['region'],
|
||||
data['status'],
|
||||
data['transaction_id'],
|
||||
data['resource_id'],
|
||||
data['ord_notifier_id'],
|
||||
data['error_msg'],
|
||||
data['error_code'],
|
||||
data.get('resource_extra_metadata', None)))
|
||||
data['region'],
|
||||
data['status'],
|
||||
data['transaction_id'],
|
||||
data['resource_id'],
|
||||
data['ord_notifier_id'],
|
||||
data['error_msg'],
|
||||
data['error_code'],
|
||||
data.get('resource_extra_metadata', None)))
|
||||
|
||||
try:
|
||||
validate_status_value(data['status'])
|
||||
@@ -47,7 +46,7 @@ def add_status(data):
|
||||
except Error as e:
|
||||
logger.exception("invalid inputs error")
|
||||
raise
|
||||
except:
|
||||
except Exception:
|
||||
logger.exception("Unexpected error: {}".format(sys.exc_info()[0]))
|
||||
raise
|
||||
|
||||
@@ -93,4 +92,4 @@ def validate_status_value(status):
|
||||
# logger.debug("send metadata {} to ims :- {} for region {}".format(
|
||||
# data['resource_extra_metadata'], data['resource_id'], data['region']))
|
||||
# # ims_proxy.send_image_metadata(data['resource_extra_metadata'], data['resource_id'], data['region'])
|
||||
# return
|
||||
# return
|
||||
|
||||
@@ -2,19 +2,14 @@
|
||||
import logging
|
||||
import time
|
||||
|
||||
from pecan import conf
|
||||
from pecan import request
|
||||
from pecan import conf, request
|
||||
from rds.services import region_resource_id_status as regionResourceIdStatus
|
||||
from rds.services import yaml_customer_builder
|
||||
from rds.services import yaml_flavor_bulder
|
||||
from rds.services import yaml_image_builder
|
||||
from rds.services.base import ConflictValue
|
||||
from rds.services.base import ErrorMesage
|
||||
from rds.services import (yaml_customer_builder, yaml_flavor_bulder,
|
||||
yaml_image_builder)
|
||||
from rds.services.base import ConflictValue, ErrorMesage
|
||||
from rds.services.model.resource_input import ResourceData as InputData
|
||||
from rds.sot import sot_factory
|
||||
from rds.utils import uuid_utils
|
||||
from rds.utils import utils
|
||||
|
||||
from rds.utils import utils, uuid_utils
|
||||
|
||||
my_logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -43,8 +38,8 @@ def _get_inputs_from_resource_type(jsondata,
|
||||
|
||||
|
||||
def _region_valid(region):
|
||||
if 'rms_status' in region and region[
|
||||
'rms_status'] not in conf.allow_region_statuses:
|
||||
if ('rms_status' in region
|
||||
and region['rms_status'] not in conf.allow_region_statuses):
|
||||
return False
|
||||
return True
|
||||
|
||||
@@ -141,8 +136,9 @@ def _check_resource_status(input_data):
|
||||
|
||||
def update_sot(input_data):
|
||||
"""create resource."""
|
||||
my_logger.debug("build yaml file for %s id: %s" % (input_data.resource_type,
|
||||
input_data.resource_id))
|
||||
my_logger.debug(
|
||||
"build yaml file for %s id: %s" % (input_data.resource_type,
|
||||
input_data.resource_id))
|
||||
targetslist = _create_data_to_sot(input_data)
|
||||
my_logger.debug("upload yaml to SoT")
|
||||
_upload_to_sot(input_data.resource_id,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"""yaml build build yaml from json input."""
|
||||
import logging
|
||||
import re
|
||||
|
||||
import yaml
|
||||
|
||||
from pecan import conf
|
||||
@@ -40,9 +41,9 @@ def creat_final_yaml(title, description, resources, outputs):
|
||||
default_flow_style=False))
|
||||
resources_yaml = re.sub("'", '', resourcesyaml)
|
||||
yamldata = title_yaml
|
||||
yamldata = yamldata + "\n"+description_yaml
|
||||
yamldata = yamldata + "\n"+resources_yaml
|
||||
yamldata = yamldata + "\n"+yaml.dump(outputs)
|
||||
yamldata = yamldata + "\n" + description_yaml
|
||||
yamldata = yamldata + "\n" + resources_yaml
|
||||
yamldata = yamldata + "\n" + yaml.dump(outputs)
|
||||
return yamldata
|
||||
|
||||
|
||||
@@ -103,9 +104,6 @@ def yamlbuilder(alldata, region):
|
||||
{"role": role_format % role,
|
||||
'project': "{'get_resource': '%s'}" % alldata['uuid']}
|
||||
)
|
||||
# create the output for roles
|
||||
# outputs['outputs']["%s_id" % role] =\
|
||||
# {"value": {"get_resource": "%s" % role}}
|
||||
|
||||
# no support for group when type is ldap
|
||||
if yaml_type != 'ldap':
|
||||
@@ -156,7 +154,6 @@ def yamlbuilder(alldata, region):
|
||||
if ite in quotas_keys:
|
||||
items[item][quotas_keys[ite]] = items[item][ite]
|
||||
del items[item][ite]
|
||||
#------------------------------------
|
||||
|
||||
# adding tenant to each quota
|
||||
items[item]['tenant'] = \
|
||||
|
||||
@@ -3,6 +3,7 @@ import logging
|
||||
import re
|
||||
|
||||
import yaml
|
||||
|
||||
from pecan import conf
|
||||
|
||||
my_logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -2,6 +2,7 @@ import logging
|
||||
import re
|
||||
|
||||
import yaml
|
||||
|
||||
from pecan import conf
|
||||
|
||||
my_logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
import subprocess
|
||||
|
||||
from pecan import conf
|
||||
|
||||
|
||||
class BaseGit(object):
|
||||
@@ -32,4 +29,3 @@ class GitResetError(Exception):
|
||||
|
||||
class GitValidateError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import logging
|
||||
|
||||
from pecan import conf
|
||||
from gittle import Gittle
|
||||
|
||||
from git_base import BaseGit, GitInitError, GitUploadError
|
||||
from gittle import Gittle
|
||||
from pecan import conf
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
"""Native (bash commands) Git module."""
|
||||
import logging
|
||||
import subprocess, shlex
|
||||
import shlex
|
||||
import subprocess
|
||||
from threading import Timer
|
||||
|
||||
import time
|
||||
from pecan import conf
|
||||
|
||||
from git_base import BaseGit
|
||||
from git_base import GitUploadError, GitInitError, GitResetError
|
||||
from git_base import GitValidateError
|
||||
from git_base import (BaseGit, GitInitError, GitResetError, GitUploadError,
|
||||
GitValidateError)
|
||||
from pecan import conf
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -23,8 +22,8 @@ class GitNative(BaseGit):
|
||||
"Git server url: {}, "
|
||||
"Git command timeout: "
|
||||
"{} seconds".format(conf.git.local_repository_path,
|
||||
conf.git.git_server_url,
|
||||
conf.git.git_cmd_timeout))
|
||||
conf.git.git_server_url,
|
||||
conf.git.git_cmd_timeout))
|
||||
|
||||
out, error = self._git_pull(conf.git.local_repository_path)
|
||||
if self._is_conflict(out) or self._is_error(error):
|
||||
|
||||
@@ -2,14 +2,13 @@ import logging
|
||||
import os
|
||||
import threading
|
||||
|
||||
import git_factory
|
||||
from git_base import (GitInitError, GitResetError, GitUploadError,
|
||||
GitValidateError)
|
||||
from rds.ordupdate.ord_notifier import notify_ord
|
||||
from rds.sot import base_sot
|
||||
from rds.sot.base_sot import SoTError
|
||||
|
||||
import git_factory
|
||||
from git_base import GitUploadError, GitInitError, GitResetError
|
||||
from git_base import GitValidateError
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
lock = threading.Lock()
|
||||
|
||||
@@ -226,8 +225,3 @@ def cleanup(git_impl):
|
||||
except GitResetError as exc:
|
||||
logger.error(exc.message)
|
||||
raise SoTError(exc.message)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from rds.storage.mysql.region_resource_id_status import Connection as RegionResourceIdStatusConnection
|
||||
from rds.storage.mysql.region_resource_id_status import \
|
||||
Connection as RegionResourceIdStatusConnection
|
||||
|
||||
database = {
|
||||
'url': 'na'
|
||||
@@ -7,4 +8,3 @@ database = {
|
||||
|
||||
def get_region_resource_id_status_connection():
|
||||
return RegionResourceIdStatusConnection(database['url'])
|
||||
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
import logging
|
||||
import time
|
||||
|
||||
import oslo_db
|
||||
from oslo_db.sqlalchemy import session as db_session
|
||||
from sqlalchemy import Column, Integer, Text, BigInteger, ForeignKey
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.ext.declarative.api import declarative_base
|
||||
|
||||
from pecan import conf
|
||||
from rds.services.model.region_resource_id_status import Model, StatusModel
|
||||
from rds.storage import region_resource_id_status
|
||||
import logging
|
||||
import oslo_db
|
||||
|
||||
from pecan import conf
|
||||
from sqlalchemy import BigInteger, Column, ForeignKey, Integer, Text
|
||||
from sqlalchemy.ext.declarative.api import declarative_base
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
Base = declarative_base()
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -203,10 +201,8 @@ class Connection(region_resource_id_status.Base):
|
||||
return None
|
||||
|
||||
def get_timstamp_pair(self):
|
||||
timestamp = int(time.time())*1000
|
||||
timestamp = int(time.time()) * 1000
|
||||
# assume same time period for all resource types
|
||||
max_interval_time_in_seconds = conf.region_resource_id_status.max_interval_time.default * 60
|
||||
ref_timestamp = (int(time.time()) - max_interval_time_in_seconds) * 1000
|
||||
return timestamp, ref_timestamp
|
||||
|
||||
|
||||
|
||||
@@ -21,4 +21,4 @@ class Base(object):
|
||||
raise NotImplementedError("Please Implement this method")
|
||||
|
||||
def get_records_by_filter_args(self, **filter_args):
|
||||
raise NotImplementedError("Please Implement this method")
|
||||
raise NotImplementedError("Please Implement this method")
|
||||
|
||||
@@ -74,7 +74,7 @@ yaml_configs = {
|
||||
}
|
||||
}
|
||||
},
|
||||
'flavor_yaml':{
|
||||
'flavor_yaml': {
|
||||
'yaml_version': '2013-05-23',
|
||||
'yaml_args': {
|
||||
'rxtx_factor': 1
|
||||
@@ -161,10 +161,8 @@ logging = {
|
||||
},
|
||||
'color': {
|
||||
'()': 'pecan.log.ColorFormatter',
|
||||
'format':'%(asctime)s [%(padded_color_levelname)s] [%(name)s] [%(threadName)s] %(message)s',
|
||||
'format': '%(asctime)s [%(padded_color_levelname)s] [%(name)s] [%(threadName)s] %(message)s',
|
||||
'__force_dict__': True
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""Get configuration module unittests."""
|
||||
from rds.tests.controllers.v1.functional_test import FunctionalTest
|
||||
from rds.controllers.v1.configuration import root
|
||||
from mock import patch
|
||||
from rds.controllers.v1.configuration import root
|
||||
from rds.tests.controllers.v1.functional_test import FunctionalTest
|
||||
|
||||
|
||||
class TestGetConfiguration(FunctionalTest):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""unittest get resource."""
|
||||
from mock import patch
|
||||
|
||||
import rds.controllers.v1.resources.root as root
|
||||
from rds.tests.controllers.v1.functional_test import FunctionalTest
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ from rds.controllers.v1.base import ClientSideError
|
||||
|
||||
class Test(unittest.TestCase):
|
||||
|
||||
#Test the creation of ClientSideError
|
||||
# Test the creation of ClientSideError
|
||||
def test_ClientSideError(self):
|
||||
error_str = "This is an error message"
|
||||
clientSideError = ClientSideError(error=error_str)
|
||||
self.assertEqual(clientSideError.msg, error_str)
|
||||
self.assertEqual(clientSideError.code, 400)
|
||||
self.assertEqual(clientSideError.code, 400)
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
"""unittest get resource status."""
|
||||
from mock import MagicMock
|
||||
|
||||
import rds.controllers.v1.status.get_resource as resource
|
||||
from rds.services.model.region_resource_id_status import Model
|
||||
from rds.services.model.region_resource_id_status import StatusModel
|
||||
from rds.services.model.region_resource_id_status import Model, StatusModel
|
||||
from rds.tests.controllers.v1.functional_test import FunctionalTest
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""unittest for post resource."""
|
||||
from mock import patch
|
||||
|
||||
import rds.controllers.v1.status.resource_status as resource
|
||||
from rds.tests.controllers.v1.functional_test import FunctionalTest
|
||||
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
"""Logs module unittests."""
|
||||
import logging
|
||||
from rds.tests.controllers.v1.functional_test import FunctionalTest
|
||||
from rds.controllers.v1.configuration import root
|
||||
from mock import patch
|
||||
|
||||
|
||||
class TestLogs(FunctionalTest):
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
"""Base classes for API tests.
|
||||
"""
|
||||
|
||||
import os
|
||||
import unittest
|
||||
|
||||
import pecan
|
||||
import pecan.testing
|
||||
import unittest
|
||||
from pecan.testing import load_test_app
|
||||
import os
|
||||
|
||||
|
||||
class FunctionalTest(unittest.TestCase):
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import unittest
|
||||
|
||||
import mock
|
||||
from mock import patch
|
||||
|
||||
from rds.ordupdate import ord_notifier
|
||||
import unittest
|
||||
|
||||
|
||||
class MyResponse(object):
|
||||
@@ -114,30 +114,13 @@ class MainTest(unittest.TestCase):
|
||||
'(expected NotifyNotAcknowledgedError)')
|
||||
except ord_notifier.NotifyNotAcknowledgedError:
|
||||
pass
|
||||
# @mock.patch.object(ord_notifier, 'conf')
|
||||
# def test_notify_sanity(self, mock_conf):
|
||||
# ord_notifier.requests.post = mock.MagicMock(
|
||||
# return_value=MyResponse(ord_notifier.ACK_CODE, None))
|
||||
# ord_notifier._notify(*("1", )*8)
|
||||
|
||||
# @mock.patch.object(ord_notifier, 'conf')
|
||||
# def test_notify_not_acknowledged(self, mock_conf):
|
||||
# ord_notifier.requests.post = mock.MagicMock(
|
||||
# return_value=MyResponse(404, None))
|
||||
#
|
||||
# try:
|
||||
# ord_notifier._notify(*("1", )*8)
|
||||
# self.fail('notify() passed successfully'
|
||||
# '(expected NotifyNotAcknowledgedError)')
|
||||
# except ord_notifier.NotifyNotAcknowledgedError:
|
||||
# pass
|
||||
|
||||
@mock.patch.object(ord_notifier, 'conf')
|
||||
def test_notify_https_disabled_but_received(self, mock_conf):
|
||||
ord_notifier.requests.post = validate_http_post
|
||||
mock_conf.ordupdate.https_enabled = False
|
||||
mock_conf.ordupdate.template_type = 'a'
|
||||
ord_notifier._notify('https://127.0.0.1:1337', *("1", )*7)
|
||||
ord_notifier._notify('https://127.0.0.1:1337', * ("1", ) * 7)
|
||||
|
||||
@mock.patch.object(ord_notifier, 'conf')
|
||||
@mock.patch.object(ord_notifier.json, 'dumps')
|
||||
@@ -158,22 +141,6 @@ class MainTest(unittest.TestCase):
|
||||
self.assertRaises(ord_notifier.requests.exceptions.SSLError,
|
||||
ord_notifier._notify, 'https://127.0.0.1:1337',
|
||||
*("1",) * 7)
|
||||
# @mock.patch.object(ord_notifier, 'conf')
|
||||
# def test_notify_https_enabled_and_no_certificate(self, mock_conf):
|
||||
# ord_notifier.requests.post = validate_https_post
|
||||
# mock_conf.ordupdate.https_enabled = True
|
||||
# mock_conf.ordupdate.cert_path = ''
|
||||
# ord_notifier._notify('https://127.0.0.1:1337', *("1", )*7)
|
||||
|
||||
# @mock.patch.object(ord_notifier, 'conf')
|
||||
# def test_notify_https_enabled_and_ssl_error(self, mock_conf):
|
||||
# ord_notifier.requests.post = mock.MagicMock(
|
||||
# side_effect=ord_notifier.requests.exceptions.SSLError('test'))
|
||||
# mock_conf.ordupdate.https_enabled = True
|
||||
# mock_conf.ordupdate.cert_path = ''
|
||||
# self.assertRaises(ord_notifier.requests.exceptions.SSLError,
|
||||
# ord_notifier._notify, 'https://127.0.0.1:1337',
|
||||
# *("1", )*7)
|
||||
|
||||
@patch.object(ord_notifier.audit, 'audit')
|
||||
@patch.object(ord_notifier, 'regionResourceIdStatus')
|
||||
@@ -189,35 +156,6 @@ class MainTest(unittest.TestCase):
|
||||
self.assertEqual(e.message, 'ORD of LCP %s not found' % (
|
||||
'gigi', ))
|
||||
|
||||
#@patch.object(ord_notifier.audit, 'audit')
|
||||
#@patch.object(ord_notifier, 'regionResourceIdStatus')
|
||||
# @mock.patch.object(ord_notifier, 'conf')
|
||||
# @mock.patch.object(ord_notifier.json, 'dumps')
|
||||
#def test_main_sanity(self, mock_dumps, mock_conf, mock_region, mock_audit):
|
||||
# ord_notifier.requests.get = mock.MagicMock(
|
||||
# return_value=MyResponse(ord_notifier.OK_CODE,
|
||||
# {ord_notifier.LCP_ID: 'gigi',
|
||||
# ord_notifier.ORD_URL: 'test'}))
|
||||
# ord_notifier.requests.post = mock.MagicMock(
|
||||
# return_value=MyResponse(ord_notifier.ACK_CODE, None))
|
||||
|
||||
# ord_notifier.notify_ord('test', '1', '2', '3', '4', '5', '6', '7',
|
||||
# '8', '')
|
||||
# @patch.object(ord_notifier.audit, 'audit')
|
||||
# @patch.object(ord_notifier, 'regionResourceIdStatus')
|
||||
# @mock.patch.object(ord_notifier, 'conf')
|
||||
# def test_main_sanity(self, mock_audit, mock_region, mock_conf):
|
||||
# ord_notifier.requests.get = mock.MagicMock(
|
||||
# return_value=MyResponse(ord_notifier.OK_CODE,
|
||||
# {'regions': [{'endpoints': [
|
||||
# {'publicurl': 'test',
|
||||
# 'type': 'ord'}]}]}))
|
||||
# ord_notifier.requests.post = mock.MagicMock(
|
||||
# return_value=MyResponse(ord_notifier.ACK_CODE, None))
|
||||
|
||||
#ord_notifier.notify_ord('test', '1', '2', '3', '4', '5', '6', '7',
|
||||
# '8', '')
|
||||
|
||||
@patch.object(ord_notifier.audit, 'audit')
|
||||
@patch.object(ord_notifier, 'regionResourceIdStatus')
|
||||
@mock.patch.object(ord_notifier, 'conf')
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
import unittest
|
||||
|
||||
from mock import patch
|
||||
|
||||
from rds.services import resource as ResourceService
|
||||
from rds.services.model.region_resource_id_status import Model, ResourceMetaData
|
||||
from rds.services.model.region_resource_id_status import StatusModel
|
||||
from rds.services.model.region_resource_id_status import (Model,
|
||||
ResourceMetaData,
|
||||
StatusModel)
|
||||
|
||||
result = Model(
|
||||
status="success", timestamp="123456789", region="name",
|
||||
transaction_id=5, resource_id="1",
|
||||
ord_notifier="", err_msg="123", err_code="12", operation="create",
|
||||
resource_extra_metadata=[ResourceMetaData(checksum=1,virtual_size=2,size=3)]
|
||||
resource_extra_metadata=[ResourceMetaData(checksum=1, virtual_size=2, size=3)]
|
||||
)
|
||||
|
||||
uuid = "uuid-12345"
|
||||
@@ -26,13 +26,13 @@ class InputData(object):
|
||||
external_transaction_id=""):
|
||||
"""init function.
|
||||
|
||||
:param resource_id:
|
||||
:param resource_type:
|
||||
:param targets:
|
||||
:param operation:
|
||||
:param transaction_id:
|
||||
:param model:
|
||||
:param external_transaction_id:
|
||||
: param resource_id:
|
||||
: param resource_type:
|
||||
: param targets:
|
||||
: param operation:
|
||||
: param transaction_id:
|
||||
: param model:
|
||||
: param external_transaction_id:
|
||||
"""
|
||||
self.resource_id = resource_id
|
||||
self.targets = targets
|
||||
@@ -298,17 +298,17 @@ jsondata = {
|
||||
"ram": "10",
|
||||
"keypairs": "10",
|
||||
"injected_files": "10"
|
||||
},
|
||||
},
|
||||
"storage": {"gigabytes": "10",
|
||||
"snapshots": "10",
|
||||
"volumes": "10"
|
||||
},
|
||||
"network":{
|
||||
"router": "10",
|
||||
"floatingip": "10",
|
||||
"port": "10",
|
||||
"network": "10",
|
||||
"subnet": "10"
|
||||
"network": {
|
||||
"router": "10",
|
||||
"floatingip": "10",
|
||||
"port": "10",
|
||||
"network": "10",
|
||||
"subnet": "10"
|
||||
}}],
|
||||
"users":
|
||||
[
|
||||
@@ -552,64 +552,64 @@ targets = [{'users': [{'id': 'userId1', 'roles': ['admin', 'other']},
|
||||
'floatingip': '10'}}]}]
|
||||
|
||||
json_data_image = {
|
||||
"internal_id":1,
|
||||
"id":"uuu1id12-uuid-uuid-uuid",
|
||||
"name":"Ubuntu",
|
||||
"enabled": 1,
|
||||
"protected": 1,
|
||||
"url": "https://mirrors.it.att.com/images/image-name",
|
||||
"visibility": "public",
|
||||
"disk_format": "raw",
|
||||
"container_format": "bare",
|
||||
"min_disk":2,
|
||||
"min_ram":0,
|
||||
"regions":[
|
||||
{
|
||||
"name":"North",
|
||||
"type":"single",
|
||||
"action": "delete",
|
||||
"image_internal_id":1
|
||||
},
|
||||
{
|
||||
"name":"North",
|
||||
"action": "create",
|
||||
"type":"single",
|
||||
"image_internal_id":1
|
||||
}
|
||||
],
|
||||
"image_properties":[
|
||||
{
|
||||
"key_name":"Key1",
|
||||
"key_value":"Key1.value",
|
||||
"image_internal_id":1
|
||||
},
|
||||
{
|
||||
"key_name":"Key2",
|
||||
"key_value":"Key2.value",
|
||||
"image_internal_id":1
|
||||
}
|
||||
],
|
||||
"image_tenant":[
|
||||
{
|
||||
"tenant_id":"abcd-efgh-ijkl-4567",
|
||||
"image_internal_id":1
|
||||
},
|
||||
{
|
||||
"tenant_id":"abcd-efgh-ijkl-4567",
|
||||
"image_internal_id":1
|
||||
}
|
||||
],
|
||||
"image_tags":[
|
||||
{
|
||||
"tag":"abcd-efgh-ijkl-4567",
|
||||
"image_internal_id":1
|
||||
},
|
||||
{
|
||||
"tag":"abcd-efgh-ijkl-4567",
|
||||
"image_internal_id":1
|
||||
}
|
||||
],
|
||||
"status":"complete",
|
||||
"internal_id": 1,
|
||||
"id": "uuu1id12-uuid-uuid-uuid",
|
||||
"name": "Ubuntu",
|
||||
"enabled": 1,
|
||||
"protected": 1,
|
||||
"url": "https://mirrors.it.att.com/images/image-name",
|
||||
"visibility": "public",
|
||||
"disk_format": "raw",
|
||||
"container_format": "bare",
|
||||
"min_disk": 2,
|
||||
"min_ram": 0,
|
||||
"regions": [
|
||||
{
|
||||
"name": "North",
|
||||
"type": "single",
|
||||
"action": "delete",
|
||||
"image_internal_id": 1
|
||||
},
|
||||
{
|
||||
"name": "North",
|
||||
"action": "create",
|
||||
"type": "single",
|
||||
"image_internal_id": 1
|
||||
}
|
||||
],
|
||||
"image_properties": [
|
||||
{
|
||||
"key_name": "Key1",
|
||||
"key_value": "Key1.value",
|
||||
"image_internal_id": 1
|
||||
},
|
||||
{
|
||||
"key_name": "Key2",
|
||||
"key_value": "Key2.value",
|
||||
"image_internal_id": 1
|
||||
}
|
||||
],
|
||||
"image_tenant": [
|
||||
{
|
||||
"tenant_id": "abcd-efgh-ijkl-4567",
|
||||
"image_internal_id": 1
|
||||
},
|
||||
{
|
||||
"tenant_id": "abcd-efgh-ijkl-4567",
|
||||
"image_internal_id": 1
|
||||
}
|
||||
],
|
||||
"image_tags": [
|
||||
{
|
||||
"tag": "abcd-efgh-ijkl-4567",
|
||||
"image_internal_id": 1
|
||||
},
|
||||
{
|
||||
"tag": "abcd-efgh-ijkl-4567",
|
||||
"image_internal_id": 1
|
||||
}
|
||||
],
|
||||
"status": "complete",
|
||||
}
|
||||
|
||||
input_data_resource = {'resource_id': '1e24981a-fa51-11e5-86aa-5e5517507c66',
|
||||
@@ -692,44 +692,46 @@ input_data_resource = {'resource_id': '1e24981a-fa51-11e5-86aa-5e5517507c66',
|
||||
'operation': 'create',
|
||||
'transaction_id': ''}
|
||||
|
||||
expected_image_input_data = {'resource_id': 'uuu1id12-uuid-uuid-uuid',
|
||||
'targets': [
|
||||
{'action': 'delete', 'image_internal_id': 1,
|
||||
'type': 'single', 'name': 'North'},
|
||||
{'action': 'create', 'image_internal_id': 1,
|
||||
'type': 'single', 'name': 'North'}],
|
||||
'resource_type': 'image',
|
||||
'model': {'status': 'complete', 'name': 'Ubuntu',
|
||||
'internal_id': 1,
|
||||
'url': 'https://mirrors.it.att.com/images/image-name',
|
||||
'disk_format': 'raw', 'min_ram': 0,
|
||||
'enabled': 1, 'visibility': 'public',
|
||||
'image_tags': [{'image_internal_id': 1,
|
||||
'tag': 'abcd-efgh-ijkl-4567'},
|
||||
{'image_internal_id': 1,
|
||||
'tag': 'abcd-efgh-ijkl-4567'}],
|
||||
'regions': [{'action': 'delete',
|
||||
'image_internal_id': 1,
|
||||
'type': 'single',
|
||||
'name': 'North'},
|
||||
{'action': 'create',
|
||||
'image_internal_id': 1,
|
||||
'type': 'single',
|
||||
'name': 'North'}],
|
||||
'image_properties': [
|
||||
{'key_name': 'Key1',
|
||||
'key_value': 'Key1.value',
|
||||
'image_internal_id': 1},
|
||||
{'key_name': 'Key2',
|
||||
'key_value': 'Key2.value',
|
||||
'image_internal_id': 1}],
|
||||
'protected': 1, 'image_tenant': [
|
||||
{'tenant_id': 'abcd-efgh-ijkl-4567',
|
||||
'image_internal_id': 1},
|
||||
{'tenant_id': 'abcd-efgh-ijkl-4567',
|
||||
'image_internal_id': 1}],
|
||||
'container_format': 'bare',
|
||||
'min_disk': 2,
|
||||
'id': 'uuu1id12-uuid-uuid-uuid'},
|
||||
'external_transaction_id': 'uuid-12345',
|
||||
'operation': 'create', 'transaction_id': ''}
|
||||
expected_image_input_data = {
|
||||
'resource_id': 'uuu1id12-uuid-uuid-uuid',
|
||||
'targets': [
|
||||
{
|
||||
'action': 'delete', 'image_internal_id': 1,
|
||||
'type': 'single', 'name': 'North'},
|
||||
{
|
||||
'action': 'create', 'image_internal_id': 1,
|
||||
'type': 'single', 'name': 'North'}],
|
||||
'resource_type': 'image',
|
||||
'model': {
|
||||
'status': 'complete', 'name': 'Ubuntu',
|
||||
'internal_id': 1,
|
||||
'url': 'https://mirrors.it.att.com/images/image-name',
|
||||
'disk_format': 'raw', 'min_ram': 0,
|
||||
'enabled': 1, 'visibility': 'public',
|
||||
'image_tags': [
|
||||
{'image_internal_id': 1, 'tag': 'abcd-efgh-ijkl-4567'},
|
||||
{'image_internal_id': 1, 'tag': 'abcd-efgh-ijkl-4567'}],
|
||||
'regions': [
|
||||
{
|
||||
'action': 'delete', 'image_internal_id': 1,
|
||||
'type': 'single', 'name': 'North'},
|
||||
{
|
||||
'action': 'create', 'image_internal_id': 1,
|
||||
'type': 'single', 'name': 'North'}],
|
||||
'image_properties': [
|
||||
{
|
||||
'key_name': 'Key1',
|
||||
'key_value': 'Key1.value',
|
||||
'image_internal_id': 1},
|
||||
{
|
||||
'key_name': 'Key2',
|
||||
'key_value': 'Key2.value',
|
||||
'image_internal_id': 1}],
|
||||
'protected': 1, 'image_tenant': [
|
||||
{'tenant_id': 'abcd-efgh-ijkl-4567', 'image_internal_id': 1},
|
||||
{'tenant_id': 'abcd-efgh-ijkl-4567', 'image_internal_id': 1}],
|
||||
'container_format': 'bare',
|
||||
'min_disk': 2,
|
||||
'id': 'uuu1id12-uuid-uuid-uuid'},
|
||||
'external_transaction_id': 'uuid-12345',
|
||||
'operation': 'create', 'transaction_id': ''}
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
import unittest
|
||||
|
||||
import yaml
|
||||
from mock import patch
|
||||
|
||||
from mock import patch
|
||||
from rds.services import yaml_customer_builder as CustomerBuild
|
||||
|
||||
alldata = {
|
||||
'uuid': '1e24981a-fa51-11e5-86aa-5e5517507c66',
|
||||
'metadata': [{'my_server_name': 'Apache1'},{'ocx_cust': '123456889'}],
|
||||
'metadata': [{'my_server_name': 'Apache1'}, {'ocx_cust': '123456889'}],
|
||||
'default_region': {'users': [{'id': 'userId1zzzz',
|
||||
'roles': ['adminzzzz', 'otherzzzzz']},
|
||||
{'id': 'userId2zzz',
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
"""flavor unittest module."""
|
||||
from mock import patch
|
||||
from rds.services import yaml_flavor_bulder as FlavorBuild
|
||||
import unittest
|
||||
|
||||
import yaml
|
||||
|
||||
from mock import patch
|
||||
from rds.services import yaml_flavor_bulder as FlavorBuild
|
||||
|
||||
alldata = {'status': 'complete', 'series': 'P2',
|
||||
'description': 'First flavor for AMAR',
|
||||
|
||||
@@ -1,45 +1,60 @@
|
||||
import unittest
|
||||
|
||||
import yaml
|
||||
|
||||
from mock import patch
|
||||
from rds.services import yaml_image_builder as ImageBuild
|
||||
import yaml
|
||||
import datetime
|
||||
|
||||
json_input = {'status': 'complete', 'name': 'Ubuntu', 'internal_id': 1,
|
||||
'url': 'https://mirrors.it.att.com/images/image-name',
|
||||
'disk_format': 'raw', 'min_ram': 0, 'enabled': 1,
|
||||
'visibility': 'public', 'owner': 'unknown', 'image_tags': [
|
||||
json_input = {
|
||||
'status': 'complete', 'name': 'Ubuntu', 'internal_id': 1,
|
||||
'url': 'https://mirrors.it.att.com/images/image-name',
|
||||
'disk_format': 'raw', 'min_ram': 0, 'enabled': 1,
|
||||
'visibility': 'public', 'owner': 'unknown', 'image_tags': [
|
||||
{'image_internal_id': 1, 'tag': 'abcd-efgh-ijkl-4567'},
|
||||
{'image_internal_id': 1, 'tag': 'abcd-efgh-ijkl-4567'}], 'regions': [
|
||||
{'action': 'delete', 'image_internal_id': 1, 'type': 'single',
|
||||
'name': 'North'},
|
||||
{'action': 'create', 'image_internal_id': 1, 'type': 'single',
|
||||
'name': 'North'}], 'image_properties': [
|
||||
{'key_name': 'Key1', 'key_value': 'Key1.value',
|
||||
'image_internal_id': 1},
|
||||
{'key_name': 'Key2', 'key_value': 'Key2.value',
|
||||
'image_internal_id': 1}], 'protected': 1, 'customers': [
|
||||
{'image_internal_id': 1, 'tag': 'abcd-efgh-ijkl-4567'}],
|
||||
'regions': [
|
||||
{
|
||||
'action': 'delete', 'image_internal_id': 1,
|
||||
'type': 'single', 'name': 'North'},
|
||||
{
|
||||
'action': 'create', 'image_internal_id': 1,
|
||||
'type': 'single', 'name': 'North'}],
|
||||
'image_properties': [
|
||||
{
|
||||
'key_name': 'Key1', 'key_value': 'Key1.value',
|
||||
'image_internal_id': 1},
|
||||
{
|
||||
'key_name': 'Key2', 'key_value': 'Key2.value',
|
||||
'image_internal_id': 1}],
|
||||
'protected': 1,
|
||||
'customers': [
|
||||
{'customer_id': 'abcd-efgh-ijkl-4567', 'image_id': 1},
|
||||
{'customer_id': 'abcd-efgh-ijkl-4567', 'image_id': 1}],
|
||||
'container_format': 'bare', 'min_disk': 2,
|
||||
'id': 'uuu1id12-uuid-uuid-uuid'}
|
||||
'container_format': 'bare', 'min_disk': 2,
|
||||
'id': 'uuu1id12-uuid-uuid-uuid'}
|
||||
|
||||
region = {'action': 'delete', 'image_internal_id': 1, 'type': 'single',
|
||||
'name': 'North'}
|
||||
|
||||
yaml_output = {'description': 'yaml file for region - North',
|
||||
'resources': {'glance_image': {'properties': {'container_format': 'bare',
|
||||
'disk_format': 'raw',
|
||||
'is_public': True,
|
||||
'copy_from': 'https://mirrors.it.att.com/images/image-name',
|
||||
'min_disk': 2,
|
||||
'min_ram': 0,
|
||||
'name': 'North',
|
||||
'owner': 'unknown',
|
||||
'protected': True,
|
||||
'tenants': ['abcd-efgh-ijkl-4567', 'abcd-efgh-ijkl-4567']},
|
||||
'type': 'OS::Glance::Image2'}},
|
||||
'heat_template_version': '2015-1-1',
|
||||
'outputs': {'glance_image_id': {'value': {'get_resource': 'glance_image'}}}}
|
||||
yaml_output = {
|
||||
'description': 'yaml file for region - North',
|
||||
'resources': {
|
||||
'glance_image': {
|
||||
'properties': {
|
||||
'container_format': 'bare',
|
||||
'disk_format': 'raw',
|
||||
'is_public': True,
|
||||
'copy_from': 'https://mirrors.it.att.com/images/image-name',
|
||||
'min_disk': 2,
|
||||
'min_ram': 0,
|
||||
'name': 'North',
|
||||
'owner': 'unknown',
|
||||
'protected': True,
|
||||
'tenants': ['abcd-efgh-ijkl-4567', 'abcd-efgh-ijkl-4567']},
|
||||
'type': 'OS::Glance::Image2'}},
|
||||
'heat_template_version': '2015-1-1',
|
||||
'outputs': {'glance_image_id': {'value': {'get_resource': 'glance_image'}}}
|
||||
}
|
||||
|
||||
|
||||
class CreateImage(unittest.TestCase):
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
from rds.tests import config as conf
|
||||
import mock
|
||||
import time
|
||||
import unittest
|
||||
|
||||
import mock
|
||||
from rds.services import region_resource_id_status
|
||||
from rds.tests import config as conf
|
||||
|
||||
|
||||
class MyResult(object):
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
import subprocess
|
||||
import unittest
|
||||
import mock
|
||||
from mock import patch
|
||||
|
||||
from rds.sot.git_sot import git_base
|
||||
from rds.sot.git_sot.git_base import BaseGit, GitResetError
|
||||
from rds.sot.git_sot.git_base import BaseGit
|
||||
|
||||
|
||||
class BaseGitTests(unittest.TestCase):
|
||||
@@ -60,4 +56,3 @@ class BaseGitTests(unittest.TestCase):
|
||||
with self.assertRaises(NotImplementedError):
|
||||
base_git = BaseGit()
|
||||
base_git.validate_git()
|
||||
|
||||
|
||||
@@ -22,4 +22,4 @@ class GitFactoryTests(unittest.TestCase):
|
||||
def test_get_sot_no_sot_type(self):
|
||||
"""Test that when given unknown type, exception raised"""
|
||||
with self.assertRaises(RuntimeError):
|
||||
git_factory.get_git_impl("unknown")
|
||||
git_factory.get_git_impl("unknown")
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import mock
|
||||
from mock import patch
|
||||
|
||||
import unittest
|
||||
|
||||
import mock
|
||||
from mock import patch
|
||||
from rds.sot.git_sot import git_gittle
|
||||
from rds.sot.git_sot.git_gittle import GitGittle
|
||||
from rds.sot.git_sot.git_base import GitInitError, GitUploadError
|
||||
from rds.sot.git_sot.git_gittle import GitGittle
|
||||
|
||||
|
||||
class GitGittleTests(unittest.TestCase):
|
||||
@@ -53,4 +52,3 @@ class GitGittleTests(unittest.TestCase):
|
||||
self.my_git.repo = mock.MagicMock()
|
||||
self.my_git.repo.commit = mock.MagicMock(side_effect=Exception("Failed to commit"))
|
||||
self.assertRaises(GitUploadError, self.my_git.git_upload_changes)
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
"""Unittest module for git_native."""
|
||||
import mock
|
||||
from mock import patch
|
||||
import unittest
|
||||
|
||||
import mock
|
||||
from mock import patch
|
||||
from rds.sot.git_sot import git_native
|
||||
from rds.sot.git_sot.git_native import GitNativeError, GitValidateError
|
||||
|
||||
@@ -82,11 +82,11 @@ class GitNativeTest(unittest.TestCase):
|
||||
@patch.object(git_native.subprocess, 'Popen')
|
||||
@patch.object(git_native.GitNative, '_git_config',
|
||||
side_effect=GitNativeError("Could not write to file"))
|
||||
def test_git_native_validate_git_config_fail(self, conf,mock_popen, result):
|
||||
def test_git_native_validate_git_config_fail(self, conf, mock_popen, result):
|
||||
"""Test that no exception is raised when calling git_init.aein"""
|
||||
my_pipe = mock.MagicMock()
|
||||
my_pipe.communicate = mock.MagicMock(return_value=('1', '2',))
|
||||
mock_popen.return_value = my_pipe
|
||||
test_git = git_native.GitNative()
|
||||
with self.assertRaises(GitValidateError):
|
||||
test_git.validate_git()
|
||||
test_git.validate_git()
|
||||
|
||||
@@ -1,33 +1,32 @@
|
||||
import os
|
||||
import mock
|
||||
import unittest
|
||||
import threading
|
||||
import unittest
|
||||
|
||||
import mock
|
||||
from mock import patch
|
||||
|
||||
from rds.sot.git_sot import git_sot as sot
|
||||
from rds.sot.base_sot import SoTError
|
||||
from rds.sot.git_sot.git_base import GitUploadError, GitInitError, GitResetError
|
||||
from rds.sot.git_sot.git_base import GitValidateError
|
||||
from rds.sot.git_sot.git_base import (GitInitError, GitResetError,
|
||||
GitUploadError, GitValidateError)
|
||||
from rds.sot.git_sot import git_sot as sot
|
||||
from rds.sot import sot_factory
|
||||
|
||||
from rds.tests import config as conf
|
||||
|
||||
lock = mock.MagicMock()
|
||||
|
||||
resource = {
|
||||
"operation": "create",
|
||||
"region_id": '1',
|
||||
"resource_type": '2',
|
||||
"resource_name": '3',
|
||||
"template_data": '4'
|
||||
"operation": "create",
|
||||
"region_id": '1',
|
||||
"resource_type": '2',
|
||||
"resource_name": '3',
|
||||
"template_data": '4'
|
||||
}
|
||||
|
||||
resource_delete = {
|
||||
"operation": "delete",
|
||||
"region_id": '1',
|
||||
"resource_type": '2',
|
||||
"resource_name": '3',
|
||||
"template_data": '4'
|
||||
"operation": "delete",
|
||||
"region_id": '1',
|
||||
"resource_type": '2',
|
||||
"resource_name": '3',
|
||||
"template_data": '4'
|
||||
}
|
||||
|
||||
|
||||
@@ -43,15 +42,12 @@ class GitSoTTest(unittest.TestCase):
|
||||
git_factory = mock.MagicMock()
|
||||
git_factory.get_git_impl = mock.MagicMock()
|
||||
|
||||
##################
|
||||
### update_sot ###
|
||||
##################
|
||||
|
||||
# update_sot
|
||||
@patch.object(sot, 'init_git', side_effect=GitInitError("Failed to initialize Git"))
|
||||
def test_git_sot_update_sot_init_git_fail(self, result):
|
||||
"""" init_git fails and raise exception"""
|
||||
try:
|
||||
sot.update_sot("", lock, '1', '2', ['3','5'], '4', '6')
|
||||
sot.update_sot("", lock, '1', '2', ['3', '5'], '4', '6')
|
||||
except SoTError:
|
||||
self.fail("Exception should have been handled inside method")
|
||||
|
||||
@@ -71,7 +67,7 @@ class GitSoTTest(unittest.TestCase):
|
||||
def test_git_sot_update_sot_update_git_fail(self, git_repo, files_created, result, clean_result):
|
||||
"""" update git fails and raise exception"""
|
||||
try:
|
||||
sot.update_sot("",lock, 'a', 'b', ['c', 'd'], 'e', 'f')
|
||||
sot.update_sot("", lock, 'a', 'b', ['c', 'd'], 'e', 'f')
|
||||
except GitUploadError:
|
||||
self.fail("Exception should have been handled inside method")
|
||||
|
||||
@@ -288,5 +284,3 @@ class GitSoTTest(unittest.TestCase):
|
||||
sot.validate_git(git_impl, lock)
|
||||
except GitInitError:
|
||||
self.fail("No exceptions should be thrown in this case")
|
||||
|
||||
|
||||
|
||||
@@ -9,12 +9,10 @@ class BaseSoTTests(unittest.TestCase):
|
||||
""" Check if creating an instance and calling save method fail"""
|
||||
with self.assertRaises(Exception):
|
||||
sot = BaseSoT()
|
||||
sot.save_resource_to_sot('1','2',[])
|
||||
sot.save_resource_to_sot('1', '2', [])
|
||||
|
||||
def test_base_sot_no_method_validate_implemented(self):
|
||||
""" Check if creating an instance and calling validate method fail"""
|
||||
with self.assertRaises(Exception):
|
||||
sot = BaseSoT()
|
||||
sot.validate_sot_state()
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import unittest
|
||||
import mock
|
||||
|
||||
from rds.sot import sot_factory
|
||||
import mock
|
||||
from rds.sot.git_sot.git_sot import GitSoT
|
||||
from rds.sot import sot_factory
|
||||
|
||||
|
||||
class SoTFactoryTests(unittest.TestCase):
|
||||
@@ -46,11 +46,3 @@ class SoTFactoryTests(unittest.TestCase):
|
||||
self.assertEqual(GitSoT.commit_email, "6", "commit_email not match")
|
||||
self.assertEqual(GitSoT.git_server_url, "7", "git_server_url not match")
|
||||
self.assertEqual(GitSoT.git_type, "gittle", "git_type not match")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
"""Unittest module for mysql.region_resource_id_status."""
|
||||
import time
|
||||
import unittest
|
||||
|
||||
import mock
|
||||
from mock import patch
|
||||
|
||||
from rds.storage.mysql import region_resource_id_status
|
||||
import unittest
|
||||
|
||||
|
||||
class RecordMock(object):
|
||||
@@ -104,7 +103,7 @@ class MysqlRegionResourceIdStatusTest(unittest.TestCase):
|
||||
'err_code')
|
||||
|
||||
@mock.patch.object(region_resource_id_status.db_session, 'EngineFacade',
|
||||
return_value=MyFacade(True,False))
|
||||
return_value=MyFacade(True, False))
|
||||
def test_add_update_status_record_duplicate_entry(self, mock_db_session):
|
||||
"""No exception is raised when trying to add a duplicate entry."""
|
||||
my_connection = region_resource_id_status.Connection('url')
|
||||
@@ -121,10 +120,10 @@ class MysqlRegionResourceIdStatusTest(unittest.TestCase):
|
||||
@mock.patch.object(region_resource_id_status, 'StatusModel')
|
||||
@patch.object(region_resource_id_status.Connection,
|
||||
'get_timstamp_pair',
|
||||
return_value=(1,2))
|
||||
return_value=(1, 2))
|
||||
@mock.patch.object(region_resource_id_status, 'Model')
|
||||
@mock.patch.object(region_resource_id_status.db_session, 'EngineFacade',
|
||||
return_value=MyFacade(False,False,True))
|
||||
return_value=MyFacade(False, False, True))
|
||||
def test_get_records_by_filter_args_no_records(self, mock_db_session,
|
||||
mock_get_timestamp,
|
||||
mock_model,
|
||||
@@ -140,10 +139,11 @@ class MysqlRegionResourceIdStatusTest(unittest.TestCase):
|
||||
@mock.patch.object(region_resource_id_status, 'Model')
|
||||
@mock.patch.object(region_resource_id_status.db_session, 'EngineFacade',
|
||||
return_value=MyFacade(False, True, True))
|
||||
def test_get_records_by_filter_args_with_records(self, mock_db_session,
|
||||
mock_get_timestamp,
|
||||
mock_model,
|
||||
mock_statusmodel):
|
||||
def test_get_records_by_filter_args_with_records(self,
|
||||
mock_db_session,
|
||||
mock_get_timestamp,
|
||||
mock_model,
|
||||
mock_statusmodel):
|
||||
"""Test that the function returns None when it got records."""
|
||||
my_connection = region_resource_id_status.Connection('url')
|
||||
my_connection.get_records_by_filter_args()
|
||||
@@ -214,4 +214,3 @@ class MysqlRegionResourceIdStatusTest(unittest.TestCase):
|
||||
mock_statusmodel):
|
||||
my_connection = region_resource_id_status.Connection('url')
|
||||
my_connection.get_records_by_resource_id_and_status('1', '2')
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ class BaseStorageTests(unittest.TestCase):
|
||||
def test_storage_add_status_record_not_implemented(self):
|
||||
""" Check if creating an instance and calling add_update_status_record method fail"""
|
||||
with self.assertRaises(Exception):
|
||||
Base("").add_update_status_record('1','2','3','4','5','6','7','8')
|
||||
Base("").add_update_status_record('1', '2', '3', '4', '5', '6', '7', '8')
|
||||
|
||||
def test_storage_get_records_by_resource_id_implemented(self):
|
||||
""" Check if creating an instance and calling get_records_by_resource_id method fail"""
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
"""UUID utils test module."""
|
||||
|
||||
import mock
|
||||
from rds.utils import uuid_utils
|
||||
import unittest
|
||||
|
||||
|
||||
class MyResponse(object):
|
||||
"""A test response class."""
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import logging
|
||||
import requests
|
||||
import json
|
||||
from pecan import conf
|
||||
from keystone_utils import tokens
|
||||
from rds.proxies import rms_proxy as RmsService
|
||||
import logging
|
||||
|
||||
import requests
|
||||
|
||||
from keystone_utils import tokens
|
||||
from pecan import conf
|
||||
from rds.proxies import rms_proxy as RmsService
|
||||
|
||||
enabled = False
|
||||
mech_id = ""
|
||||
|
||||
@@ -11,4 +11,3 @@ def set_utils_conf(conf):
|
||||
"""Mock set_utils_conf function."""
|
||||
|
||||
pass
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
"""module"""
|
||||
import logging
|
||||
|
||||
import requests
|
||||
|
||||
from pecan import conf
|
||||
from rds.services.base import ErrorMesage
|
||||
from rds.proxies import ims_proxy
|
||||
from rds.services.base import ErrorMesage
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -71,4 +73,3 @@ def add_rms_status_to_regions(resource_regions, resource_type):
|
||||
# if region not found in rms
|
||||
region['rms_status'] = "region_not_found_in_rms"
|
||||
return resource_regions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user