Coverage for python / lsst / dax / apdb / tests / _apdb_admin.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-04-30 08:48 +0000

1# This file is part of dax_apdb. 

2# 

3# Developed for the LSST Data Management System. 

4# This product includes software developed by the LSST Project 

5# (http://www.lsst.org). 

6# See the COPYRIGHT file at the top-level directory of this distribution 

7# for details of code ownership. 

8# 

9# This program is free software: you can redistribute it and/or modify 

10# it under the terms of the GNU General Public License as published by 

11# the Free Software Foundation, either version 3 of the License, or 

12# (at your option) any later version. 

13# 

14# This program is distributed in the hope that it will be useful, 

15# but WITHOUT ANY WARRANTY; without even the implied warranty of 

16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

17# GNU General Public License for more details. 

18# 

19# You should have received a copy of the GNU General Public License 

20# along with this program. If not, see <http://www.gnu.org/licenses/>. 

21 

22from __future__ import annotations 

23 

24__all__ = ["ApdbAdminTest"] 

25 

26from abc import ABC, abstractmethod 

27from typing import Any 

28 

29from .. import ApdbConfig 

30from .utils import TestCaseMixin 

31 

32 

33class ApdbAdminTest(TestCaseMixin, ABC): 

34 """Base class for ApdbAdmin tests that can be specialized for concrete 

35 implementation. 

36 

37 This can only be used as a mixin class for a unittest.TestCase and it 

38 calls various assert methods. 

39 

40 There are no common test methods in this class yet, they may be added in 

41 the future. 

42 """ 

43 

44 @abstractmethod 

45 def make_instance(self, **kwargs: Any) -> ApdbConfig: 

46 """Make database instance and return configuration for it.""" 

47 raise NotImplementedError()