Adds interface tests for timeutils

We were originally testing the return value of timeutils.parse_strtime
in our unit tests. Instead of interleaving tests for an external library
into Keystone tests I gave them a place of their own.

Change-Id: I2601b1198ca841c71a7590c7b00b11bcede4d4a9
This commit is contained in:
David Stanek 2015-09-23 11:02:48 +00:00
parent e167e468f4
commit 93b82ea503
3 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,9 @@
This directory contains interface tests for external libraries. The goal
is not to test every possible path through a library's code and get 100%
coverage. It's to give us a level of confidence that their general interface
remains the same through version upgrades.
This gives us a place to put these tests without having to litter our
own tests with assertions that are not directly related to the code
under test. The expectations for the external library are all in one
place so it makes it easier for us to find out what they are.

View File

View File

@ -0,0 +1,33 @@
# 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.
import datetime
from oslo_utils import timeutils
import keystone.tests.unit as tests
class TestTimeUtils(tests.BaseTestCase):
def test_parsing_date_strings_returns_a_datetime(self):
example_date_str = '2015-09-23T04:45:37.196621Z'
dt = timeutils.parse_strtime(example_date_str, fmt=tests.TIME_FORMAT)
self.assertIsInstance(dt, datetime.datetime)
def test_parsing_invalid_date_strings_raises_a_ValueError(self):
example_date_str = ''
simple_format = '%Y'
self.assertRaises(ValueError,
timeutils.parse_strtime,
example_date_str,
fmt=simple_format)