MCPcopy
hub / github.com/mitmproxy/mitmproxy / test_set

Function test_set

test/mitmproxy/test_optmanager.py:416–479  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

414
415
416def test_set():
417 opts = TTypes()
418
419 opts.set("str=foo")
420 assert opts.str == "foo"
421 with pytest.raises(exceptions.OptionsError):
422 opts.set("str")
423
424 opts.set("optstr=foo")
425 assert opts.optstr == "foo"
426 opts.set("optstr")
427 assert opts.optstr is None
428 with pytest.raises(exceptions.OptionsError, match="Received multiple values"):
429 opts.set("optstr=foo", "optstr=bar")
430
431 opts.set("bool=false")
432 assert opts.bool is False
433 opts.set("bool")
434 assert opts.bool is True
435 opts.set("bool=true")
436 assert opts.bool is True
437 with pytest.raises(exceptions.OptionsError, match="Failed to parse option bool: "):
438 opts.set("bool=wobble")
439
440 opts.set("bool=toggle")
441 assert opts.bool is False
442 opts.set("bool=toggle")
443 assert opts.bool is True
444
445 opts.set("int=1")
446 assert opts.int == 1
447 with pytest.raises(exceptions.OptionsError, match="Failed to parse option int: "):
448 opts.set("int=wobble")
449 opts.set("optint")
450 assert opts.optint is None
451
452 assert opts.seqstr == []
453 opts.set("seqstr=foo")
454 assert opts.seqstr == ["foo"]
455 opts.set("seqstr=foo", "seqstr=bar")
456 assert opts.seqstr == ["foo", "bar"]
457 opts.set("seqstr")
458 assert opts.seqstr == []
459
460 with pytest.raises(exceptions.OptionsError):
461 opts.set("deferredoption=wobble")
462
463 opts.set("deferredoption=wobble", defer=True)
464 assert "deferredoption" in opts.deferred
465 opts.process_deferred()
466 assert "deferredoption" in opts.deferred
467 opts.add_option("deferredoption", str, "default", "help")
468 opts.process_deferred()
469 assert "deferredoption" not in opts.deferred
470 assert opts.deferredoption == "wobble"
471
472 opts.set(*("deferredsequenceoption=a", "deferredsequenceoption=b"), defer=True)
473 assert "deferredsequenceoption" in opts.deferred

Callers

nothing calls this directly

Calls 4

TTypesClass · 0.85
process_deferredMethod · 0.80
setMethod · 0.45
add_optionMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…