13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
17
"""Tests for library API infrastructure
19
This is specifically for things controlling the interface, such as versioning.
19
This is specifically for things controlling the interface, such as versioning.
20
20
Tests for particular parts of the library interface should be in specific
21
21
relevant test modules.
71
71
self.assertEqual(bzrlib.version_info[0:3],
72
72
bzrlib.api.get_current_api_version(an_object))
74
def test_require_any_api_wanted_one(self):
75
an_object = TrivialObject()
76
an_object.api_minimum_version = (1, 2, 3)
77
an_object.api_current_version = (4, 5, 6)
78
bzrlib.api.require_any_api(an_object, [(1, 2, 3)])
80
def test_require_any_api_wanted_first_compatible(self):
81
an_object = TrivialObject()
82
an_object.api_minimum_version = (1, 2, 3)
83
an_object.api_current_version = (4, 5, 6)
84
bzrlib.api.require_any_api(an_object, [(1, 2, 3), (5, 6, 7)])
86
def test_require_any_api_wanted_second_compatible(self):
87
an_object = TrivialObject()
88
an_object.api_minimum_version = (1, 2, 3)
89
an_object.api_current_version = (4, 5, 6)
90
bzrlib.api.require_any_api(an_object, [(5, 6, 7), (1, 2, 3)])
92
def test_require_any_api_wanted_none_compatible(self):
93
an_object = TrivialObject()
94
an_object.api_minimum_version = (1, 2, 3)
95
an_object.api_current_version = (4, 5, 6)
96
self.assertRaises(IncompatibleAPI, bzrlib.api.require_any_api,
97
an_object, [(1, 2, 2), (5, 6, 7)])
99
74
def test_require_api_wanted_is_minimum_is_ok(self):
100
75
an_object = TrivialObject()
101
76
an_object.api_minimum_version = (1, 2, 3)