From ce7c69673ad5cf3b6c6a2cd9c1e2d6432c10a715 Mon Sep 17 00:00:00 2001 From: Masayuki Igawa Date: Mon, 10 Mar 2014 16:14:52 +0900 Subject: [PATCH] Add unit test for data_utils This commit adds data_utils except build_url function because of no user for that function. Note: Removing build_url function is another topic. So the patch is separated: I8989ac12f36f342ca1066cc65f7a427a83de721f . Partially implements bp unit-tests Change-Id: I1e3b3c4916144fe82c5708a6c30fe94a3d1c5e58 --- tempest/tests/common/__init__.py | 0 tempest/tests/common/utils/__init__.py | 0 tempest/tests/common/utils/test_data_utils.py | 77 +++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 tempest/tests/common/__init__.py create mode 100644 tempest/tests/common/utils/__init__.py create mode 100644 tempest/tests/common/utils/test_data_utils.py diff --git a/tempest/tests/common/__init__.py b/tempest/tests/common/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tempest/tests/common/utils/__init__.py b/tempest/tests/common/utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tempest/tests/common/utils/test_data_utils.py b/tempest/tests/common/utils/test_data_utils.py new file mode 100644 index 0000000000..7aafdb2f3b --- /dev/null +++ b/tempest/tests/common/utils/test_data_utils.py @@ -0,0 +1,77 @@ +# Copyright 2014 NEC Corporation. +# All Rights Reserved. +# +# 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 tempest.common.utils import data_utils +from tempest.tests import base + + +class TestDataUtils(base.TestCase): + + def test_rand_uuid(self): + actual = data_utils.rand_uuid() + self.assertIsInstance(actual, str) + self.assertRegexpMatches(actual, "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]" + "{4}-[0-9a-f]{4}-[0-9a-f]{12}$") + actual2 = data_utils.rand_uuid() + self.assertNotEqual(actual, actual2) + + def test_rand_uuid_hex(self): + actual = data_utils.rand_uuid_hex() + self.assertIsInstance(actual, str) + self.assertRegexpMatches(actual, "^[0-9a-f]{32}$") + + actual2 = data_utils.rand_uuid_hex() + self.assertNotEqual(actual, actual2) + + def test_rand_name(self): + actual = data_utils.rand_name() + self.assertIsInstance(actual, str) + actual2 = data_utils.rand_name() + self.assertNotEqual(actual, actual2) + + actual = data_utils.rand_name('foo') + self.assertTrue(actual.startswith('foo')) + actual2 = data_utils.rand_name('foo') + self.assertTrue(actual.startswith('foo')) + self.assertNotEqual(actual, actual2) + + def test_rand_int(self): + actual = data_utils.rand_int_id() + self.assertIsInstance(actual, int) + + actual2 = data_utils.rand_int_id() + self.assertNotEqual(actual, actual2) + + def test_rand_mac_address(self): + actual = data_utils.rand_mac_address() + self.assertIsInstance(actual, str) + self.assertRegexpMatches(actual, "^([0-9a-f][0-9a-f]:){5}" + "[0-9a-f][0-9a-f]$") + + actual2 = data_utils.rand_mac_address() + self.assertNotEqual(actual, actual2) + + def test_parse_image_id(self): + actual = data_utils.parse_image_id("/foo/bar/deadbeaf") + self.assertEqual("deadbeaf", actual) + + def test_arbitrary_string(self): + actual = data_utils.arbitrary_string() + self.assertEqual(actual, "test") + actual = data_utils.arbitrary_string(size=30, base_text="abc") + self.assertEqual(actual, "abc" * (30 / len("abc"))) + actual = data_utils.arbitrary_string(size=5, base_text="deadbeaf") + self.assertEqual(actual, "deadb")