Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# This file is part of daf_butler. 

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 

22"""Unit tests for the daf_butler dataset-type CLI option. 

23""" 

24 

25import unittest 

26 

27from lsst.daf.butler.registry import CollectionType 

28from lsst.daf.butler.tests import (OptFlagTest, 

29 OptCaseInsensitiveTest, 

30 OptChoiceTest, 

31 OptHelpTest, 

32 OptMultipleTest, 

33 OptRequiredTest, 

34 OptSplitKeyValueTest) 

35from lsst.daf.butler.cli.opt import (collection_type_option, config_file_option, config_option, 

36 dataset_type_option, directory_argument, glob_parameter, 

37 log_level_option, long_log_option, repo_argument, transfer_option, 

38 verbose_option) 

39 

40 

41class CollectionTypeTestCase(OptHelpTest, 

42 OptCaseInsensitiveTest, 

43 OptChoiceTest, 

44 OptRequiredTest, 

45 unittest.TestCase): 

46 optionClass = collection_type_option 

47 optionName = "collection-type" 

48 choices = ["CHAINED", "RUN", "TAGGED"] 

49 expectedChoiceValues = [CollectionType.CHAINED, CollectionType.RUN, CollectionType.TAGGED] 

50 

51 

52class ConfigTestCase(OptHelpTest, 

53 OptMultipleTest, 

54 OptRequiredTest, 

55 OptSplitKeyValueTest, 

56 unittest.TestCase): 

57 metavar = "test metavar" 

58 optionName = "config" 

59 shortOptionName = "c" 

60 optionClass = config_option 

61 optionMultipleKeyValues = ["one=two,three=four", "five=six"] 

62 

63 

64class ConfigFileTestCase(OptHelpTest, 

65 OptMultipleTest, 

66 OptRequiredTest, 

67 unittest.TestCase): 

68 optionName = "config-file" 

69 shortOptionName = "C" 

70 optionClass = config_file_option 

71 

72 

73class DatasetTypeTestCase(OptHelpTest, 

74 OptMultipleTest, 

75 OptRequiredTest, 

76 unittest.TestCase): 

77 

78 optionClass = dataset_type_option 

79 optionName = "dataset-type" 

80 shortOptionName = "d" 

81 

82 

83class DirectoryArgumentTestCase(OptHelpTest, 

84 OptRequiredTest, 

85 unittest.TestCase): 

86 optionClass = directory_argument 

87 optionName = "directory" 

88 isArgument = True 

89 

90 

91class GlobArgumentTestCase(OptHelpTest, 

92 OptRequiredTest, 

93 OptMultipleTest, 

94 unittest.TestCase): 

95 optionClass = glob_parameter 

96 optionName = "glob" 

97 isArgument = True 

98 isParameter = True 

99 

100 

101class GlobOptionTestCase(OptHelpTest, 

102 OptRequiredTest, 

103 OptMultipleTest, 

104 unittest.TestCase): 

105 optionClass = glob_parameter 

106 optionName = "glob" 

107 isParameter = True 

108 

109 

110class LogLevelTestCase(OptChoiceTest, 

111 OptHelpTest, 

112 OptCaseInsensitiveTest, 

113 OptRequiredTest, 

114 unittest.TestCase): 

115 

116 expectedValDefault = {"": log_level_option.defaultValue} 

117 optionClass = log_level_option 

118 optionName = "log-level" 

119 choices = ["DEBUG", "lsst.daf.butler=DEBUG"] 

120 expectedChoiceValues = [{'': "DEBUG"}, {"lsst.daf.butler": "DEBUG"}] 

121 

122 

123class LongLogOption(OptFlagTest, 

124 OptHelpTest, 

125 unittest.TestCase): 

126 optionClass = long_log_option 

127 optionName = "long-log" 

128 

129 

130class RepoArgumentTestCase(OptHelpTest, 

131 OptRequiredTest, 

132 unittest.TestCase): 

133 isArgument = True 

134 optionClass = repo_argument 

135 optionName = "repo" 

136 

137 

138class TransferTestCase(OptChoiceTest, 

139 OptHelpTest, 

140 OptRequiredTest, 

141 unittest.TestCase): 

142 expectedValDefault = "auto" 

143 optionClass = transfer_option 

144 optionName = "transfer" 

145 shortOptionName = "t" 

146 

147 

148# Doesn't test for required; this is nonsensical for a flag (where 

149# present=True and not-present=False) 

150class VerboseTestCase(OptFlagTest, 

151 OptHelpTest, 

152 unittest.TestCase): 

153 optionClass = verbose_option 

154 optionName = "verbose" 

155 isBool = True 

156 expectedValDefault = "False" 

157 

158 

159if __name__ == "__main__": 159 ↛ 160line 159 didn't jump to line 160, because the condition on line 159 was never true

160 unittest.main()