/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-ctl

  • Committer: Teddy Hogeborn
  • Date: 2019-03-07 20:28:17 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 382.
  • Revision ID: teddy@recompile.se-20190307202817-avhha20s3pl14j6y
mandos-ctl: Refactor; move parsing of intervals into argument parsing

* mandos-ctl (MillisecondsValueArgumentMixIn.value_to_set): Assume
  that an incoming value is datetime.timedelta(), not a string.
  (add_command_line_options): Add "type=string_to_delta" to --timeout,
  --extended-timeout, --interval, --approval-delay, and
  --approval-duration.
  (TestSetTimeoutCmd, TestSetExtendedTimeoutCmd, TestSetIntervalCmd,
  TestSetApprovalDelayCmd, TestSetApprovalDurationCmd): Change
  values_to_set to be datetime.timedelta() values, and change to more
  appropriate values to test.  Also adjust values_to_get accordingly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1169
1169
        self.assert_command_from_args(["--verbose"], PrintTableCmd,
1170
1170
                                      verbose=True)
1171
1171
 
1172
 
    def test_print_table_verbose_short(self):
1173
 
        self.assert_command_from_args(["-v"], PrintTableCmd,
1174
 
                                      verbose=True)
1175
 
 
1176
1172
    def test_enable(self):
1177
1173
        self.assert_command_from_args(["--enable", "foo"], EnableCmd)
1178
1174
 
1179
 
    def test_enable_short(self):
1180
 
        self.assert_command_from_args(["-e", "foo"], EnableCmd)
1181
 
 
1182
1175
    def test_disable(self):
1183
1176
        self.assert_command_from_args(["--disable", "foo"],
1184
1177
                                      DisableCmd)
1185
1178
 
1186
 
    def test_disable_short(self):
1187
 
        self.assert_command_from_args(["-d", "foo"], DisableCmd)
1188
 
 
1189
1179
    def test_bump_timeout(self):
1190
1180
        self.assert_command_from_args(["--bump-timeout", "foo"],
1191
1181
                                      BumpTimeoutCmd)
1192
1182
 
1193
 
    def test_bump_timeout_short(self):
1194
 
        self.assert_command_from_args(["-b", "foo"], BumpTimeoutCmd)
1195
 
 
1196
1183
    def test_start_checker(self):
1197
1184
        self.assert_command_from_args(["--start-checker", "foo"],
1198
1185
                                      StartCheckerCmd)
1205
1192
        self.assert_command_from_args(["--remove", "foo"],
1206
1193
                                      RemoveCmd)
1207
1194
 
1208
 
    def test_remove_short(self):
1209
 
        self.assert_command_from_args(["-r", "foo"], RemoveCmd)
1210
 
 
1211
1195
    def test_checker(self):
1212
1196
        self.assert_command_from_args(["--checker", ":", "foo"],
1213
1197
                                      SetCheckerCmd, value_to_set=":")
1216
1200
        self.assert_command_from_args(["--checker", "", "foo"],
1217
1201
                                      SetCheckerCmd, value_to_set="")
1218
1202
 
1219
 
    def test_checker_short(self):
1220
 
        self.assert_command_from_args(["-c", ":", "foo"],
1221
 
                                      SetCheckerCmd, value_to_set=":")
1222
 
 
1223
1203
    def test_timeout(self):
1224
1204
        self.assert_command_from_args(["--timeout", "PT5M", "foo"],
1225
1205
                                      SetTimeoutCmd,
1226
1206
                                      value_to_set=300000)
1227
1207
 
1228
 
    def test_timeout_short(self):
1229
 
        self.assert_command_from_args(["-t", "PT5M", "foo"],
1230
 
                                      SetTimeoutCmd,
1231
 
                                      value_to_set=300000)
1232
 
 
1233
1208
    def test_extended_timeout(self):
1234
1209
        self.assert_command_from_args(["--extended-timeout", "PT15M",
1235
1210
                                       "foo"],
1241
1216
                                      SetIntervalCmd,
1242
1217
                                      value_to_set=120000)
1243
1218
 
1244
 
    def test_interval_short(self):
1245
 
        self.assert_command_from_args(["-i", "PT2M", "foo"],
1246
 
                                      SetIntervalCmd,
1247
 
                                      value_to_set=120000)
1248
 
 
1249
1219
    def test_approve_by_default(self):
1250
1220
        self.assert_command_from_args(["--approve-by-default", "foo"],
1251
1221
                                      ApproveByDefaultCmd)
1269
1239
                                       "foo"], SetHostCmd,
1270
1240
                                      value_to_set="foo.example.org")
1271
1241
 
1272
 
    def test_host_short(self):
1273
 
        self.assert_command_from_args(["-H", "foo.example.org",
1274
 
                                       "foo"], SetHostCmd,
1275
 
                                      value_to_set="foo.example.org")
1276
 
 
1277
1242
    def test_secret_devnull(self):
1278
1243
        self.assert_command_from_args(["--secret", os.path.devnull,
1279
1244
                                       "foo"], SetSecretCmd,
1288
1253
                                           "foo"], SetSecretCmd,
1289
1254
                                          value_to_set=value)
1290
1255
 
1291
 
    def test_secret_devnull_short(self):
1292
 
        self.assert_command_from_args(["-s", os.path.devnull, "foo"],
1293
 
                                      SetSecretCmd, value_to_set=b"")
1294
 
 
1295
 
    def test_secret_tempfile_short(self):
1296
 
        with tempfile.NamedTemporaryFile(mode="r+b") as f:
1297
 
            value = b"secret\0xyzzy\nbar"
1298
 
            f.write(value)
1299
 
            f.seek(0)
1300
 
            self.assert_command_from_args(["-s", f.name, "foo"],
1301
 
                                          SetSecretCmd,
1302
 
                                          value_to_set=value)
1303
 
 
1304
1256
    def test_approve(self):
1305
1257
        self.assert_command_from_args(["--approve", "foo"],
1306
1258
                                      ApproveCmd)
1307
1259
 
1308
 
    def test_approve_short(self):
1309
 
        self.assert_command_from_args(["-A", "foo"], ApproveCmd)
1310
 
 
1311
1260
    def test_deny(self):
1312
1261
        self.assert_command_from_args(["--deny", "foo"], DenyCmd)
1313
1262
 
1314
 
    def test_deny_short(self):
1315
 
        self.assert_command_from_args(["-D", "foo"], DenyCmd)
1316
 
 
1317
1263
    def test_dump_json(self):
1318
1264
        self.assert_command_from_args(["--dump-json"], DumpJSONCmd)
1319
1265
 
1321
1267
        self.assert_command_from_args(["--is-enabled", "foo"],
1322
1268
                                      IsEnabledCmd)
1323
1269
 
1324
 
    def test_is_enabled_short(self):
1325
 
        self.assert_command_from_args(["-V", "foo"], IsEnabledCmd)
1326
 
 
1327
1270
 
1328
1271
 
1329
1272
def should_only_run_tests():