Now user can't create the pods with the same name.
Just like "Demo" , "deMo" and "demo"
Add unit test for case-insensitive query
Change-Id: Ifddc7b70a38d8504e5fe105fa5cc1a77bf0e39a9
Signed-off-by: thuva4 <tharma.thuva@gmail.com>
build
*.egg-info
3rd_party/static/static
build
*.egg-info
3rd_party/static/static
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
import functools
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
import functools
from tornado import gen
from tornado import web
from tornado import gen
from tornado import web
def wrap(self, *args, **kwargs):
query = kwargs.get('query')
if query:
def wrap(self, *args, **kwargs):
query = kwargs.get('query')
if query:
- to_data = yield dbapi.db_find_one(self.table, query())
+ query_data = query()
+ if self.table == 'pods':
+ if query_data.get('name') is not None:
+ query_data['name'] = re.compile(query_data.get('name'),
+ re.IGNORECASE)
+ to_data = yield dbapi.db_find_one(self.table, query_data)
if to_data:
raises.Forbidden(message.exist(self.table, query()))
ret = yield gen.coroutine(xstep)(self, *args, **kwargs)
if to_data:
raises.Forbidden(message.exist(self.table, query()))
ret = yield gen.coroutine(xstep)(self, *args, **kwargs)
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
from operator import itemgetter
from bson.objectid import ObjectId
from operator import itemgetter
from bson.objectid import ObjectId
elif k == 'trust_indicator.current':
if content.get('trust_indicator').get('current') != v:
return False
elif k == 'trust_indicator.current':
if content.get('trust_indicator').get('current') != v:
return False
- elif not isinstance(v, dict) and content.get(k, None) != v:
- return False
+ elif not isinstance(v, dict):
+ if isinstance(v, re._pattern_type):
+ if v.match(content.get(k, None)) is None:
+ return False
+ else:
+ if content.get(k, None) != v:
+ return False
return True
def _find(self, *args):
return True
def _find(self, *args):
for content in self.contents:
if self._in(content, *args):
res.append(content)
for content in self.contents:
if self._in(content, *args):
res.append(content)
return res
def find(self, *args):
return res
def find(self, *args):
self.req_d = pod_models.PodCreateRequest('zte-1', 'virtual',
'zte pod 1', 'ci-pod')
self.req_e = pod_models.PodCreateRequest('zte-2', 'metal', 'zte pod 2')
self.req_d = pod_models.PodCreateRequest('zte-1', 'virtual',
'zte pod 1', 'ci-pod')
self.req_e = pod_models.PodCreateRequest('zte-2', 'metal', 'zte pod 2')
+ self.req_f = pod_models.PodCreateRequest('Zte-1', 'virtual',
+ 'zte pod 1', 'ci-pod')
self.get_res = pod_models.Pod
self.list_res = pod_models.Pods
self.basePath = '/api/v1/pods'
self.get_res = pod_models.Pod
self.list_res = pod_models.Pods
self.basePath = '/api/v1/pods'
self.create_d()
return self.req_d
self.create_d()
return self.req_d
+ @executor.create(httplib.FORBIDDEN, message.exist_base)
+ def test_alreadyExistCaseInsensitive(self):
+ self.create(self.req_f)
+ return self.req_d
+
class TestPodGet(TestPodBase):
def setUp(self):
class TestPodGet(TestPodBase):
def setUp(self):