Increase unit test coverage for common utils.

Implements bp: murano-unit-test-coverage
Co-Authored-By: Felipe Monteiro <felipe.monteiro@att.com>
Co-Authored-By: Samantha Blanco <samantha.blanco@att.com>
Co-Authored-By: Julian Sy <julian.sy@att.com>

Change-Id: Id701483f4fc281629063451c719f192da88bce1e
This commit is contained in:
David Purcell 2016-09-22 09:41:12 -04:00
parent a54072af73
commit f08a01021d
1 changed files with 104 additions and 1 deletions

View File

@ -12,17 +12,25 @@
# License for the specific language governing permissions and limitations
# under the License.
import datetime
import json
from murano.common import utils
from murano.tests.unit import base
class UtilsTests(base.MuranoTestCase):
def test_validate_quotes(self):
self.assertEqual(True, utils.validate_quotes('"ab"'))
self.assertTrue(utils.validate_quotes('"ab"'))
def test_validate_quotes_not_closed_quotes(self):
self.assertRaises(ValueError, utils.validate_quotes, '"ab","b""')
def test_validate_quotes_not_opened_quotes(self):
self.assertRaises(ValueError, utils.validate_quotes, '""ab","b"')
def test_validate_quotes_no_coma_before_opening_quotes(self):
self.assertRaises(ValueError, utils.validate_quotes, '"ab""b"')
@ -33,3 +41,98 @@ class UtilsTests(base.MuranoTestCase):
self.assertEqual(['a"bc', 'de', 'fg,h', r'klm\\', '"nop'],
utils.split_for_quotes(r'"a\"bc","de",'
r'"fg,h","klm\\","\"nop"'))
def test_validate_body(self):
json_schema = json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
self.assertIsNotNone(utils.validate_body(json_schema))
json_schema = json.dumps(['body', {'body': ('baz', None, 1.0, 2)}])
self.assertIsNotNone(utils.validate_body(json_schema))
def test_build_entity_map(self):
entity = {"?": {"fun": "id"}}
self.assertEqual({}, utils.build_entity_map(entity))
entity = {"?": {"id": "id"}}
self.assertEqual({'id': {'?': {'id': 'id'}}},
utils.build_entity_map(entity))
entity = [{"?": {"id": "id1"}}, {"?": {"id": "id2"}}]
self.assertEqual({'id1': {'?': {'id': 'id1'}},
'id2': {'?': {'id': 'id2'}}},
utils.build_entity_map(entity))
def test_is_different(self):
t1 = "Hello"
t2 = "World"
self.assertTrue(utils.is_different(t1, t2))
t1 = "Hello"
t2 = "Hello"
self.assertFalse(utils.is_different(t1, t2))
t1 = {1, 2, 3, 4}
t2 = t1
self.assertFalse(utils.is_different(t1, t2))
t2 = {1, 2, 3}
self.assertTrue(utils.is_different(t1, t2))
t1 = [1, 2, {1, 2, 3, 4}]
t1[0] = t1
self.assertTrue(utils.is_different(t1, t2))
t1 = [t2]
t2 = [t1]
self.assertTrue(utils.is_different(t1, t2))
t1 = [{1, 2, 3}, {1, 2, 3}]
t2 = [{1, 2, 3}, {1, 2}]
self.assertTrue(utils.is_different(t1, t2))
t1 = datetime.date(2016, 8, 8)
t2 = datetime.date(2016, 8, 7)
self.assertTrue(utils.is_different(t1, t2))
t1 = {1: 1, 2: 2, 3: 3}
t2 = {1: 1, 2: 4, 3: 3}
self.assertTrue(utils.is_different(t1, t2))
t1 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": [1, 2, 3]}}
t2 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": "world\n\n\nEnd"}}
self.assertTrue(utils.is_different(t1, t2))
t1 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": [1, 2, 5]}}
t2 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": [1, 3, 2, 5]}}
self.assertTrue(utils.is_different(t1, t2))
class ClassA(object):
__slots__ = ['x', 'y']
def __init__(self, x, y):
self.x = x
self.y = y
t1 = ClassA(1, 1)
t2 = ClassA(1, 2)
self.assertTrue(utils.is_different(t1, t2))
t1 = [1, 2, 3]
t1.append(t1)
t2 = [1, 2, 4]
t2.append(t2)
self.assertTrue(utils.is_different(t1, t2))
t1 = [1, 2, 3]
t2 = [1, 2, 4]
t2.append(t1)
t1.append(t2)
self.assertTrue(utils.is_different(t1, t2))
t1 = utils
t2 = datetime
self.assertTrue(utils.is_different(t1, t2))
t2 = "Not a module"
self.assertTrue(utils.is_different(t1, t2))