Merge "Adds interface tests for timeutils"

This commit is contained in:
Jenkins 2015-09-28 20:51:38 +00:00 committed by Gerrit Code Review
commit 3f587c5fd5
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)