1 # Copyright 2017 Sandvine
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may
6 # not use this file except in compliance with the License. You may obtain
7 # a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 # License for the specific language governing permissions and limitations
19 from osmclient
.common
import utils
21 class TestUtil(unittest
.TestCase
):
23 def test_wait_for_method_basic(self
):
26 assert utils
.wait_for_value(lambda: foobar())
28 def test_wait_for_method_timeout(self
):
31 assert not utils
.wait_for_value(lambda: foobar(),wait_time
=0)
33 def test_wait_for_method_paramter(self
):
36 assert not utils
.wait_for_value(lambda: foobar(False),wait_time
=0)
37 assert utils
.wait_for_value(lambda: foobar(True),wait_time
=0)
39 def test_wait_for_method_wait_for_change(self
):
41 if foobar
.counter
== 0:
46 assert utils
.wait_for_value(lambda: foobar(),wait_time
=1)
48 def test_wait_for_method_exception(self
):
50 raise Exception('send exception')
51 assert not utils
.wait_for_value(lambda: foobar(),wait_time
=0,catch_exception
=Exception)
53 def test_wait_for_method_first_exception(self
):
55 if foobar
.counter
== 0:
58 raise Exception('send exception')
60 assert utils
.wait_for_value(lambda: foobar(),wait_time
=1,catch_exception
=Exception)