Coverage for k8splugin/utils.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1# ============LICENSE_START=======================================================
2# org.onap.dcae
3# ================================================================================
4# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.
5# Copyright (c) 2019 Pantheon.tech. All rights reserved.
6# ================================================================================
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18# ============LICENSE_END=========================================================
19#
21import string
22import random
23import collections
26def random_string(n):
27 """Random generate an ascii string of "n" length"""
28 corpus = string.ascii_lowercase + string.ascii_uppercase + string.digits
29 return ''.join(random.choice(corpus) for x in range(n))
32def update_dict(d, u):
33 """Recursively updates dict
35 Update dict d with dict u
36 """
37 for k, v in u.items():
38 if isinstance(v, collections.Mapping):
39 r = update_dict(d.get(k, {}), v)
40 d[k] = r
41 else:
42 d[k] = u[k]
43 return d