Exemplo n.º 1
0
def test_prio_context_over_ignore():
    s = Settings()
    s.update(project="pizza", _source=s.Source.ENTITY, _override=True)
    assert s.project == "pizza"
    with s._as_source(s.Source.PROJECT, override=True) as s2:
        s2.project = "pizza2"
    assert s.project == "pizza"
Exemplo n.º 2
0
def test_prio_context_ok():
    s = Settings()
    s.update(project="pizza", _source=s.Source.ENTITY)
    assert s.project == "pizza"
    with s._as_source(s.Source.PROJECT) as s2:
        s2.project = "pizza2"
    assert s.project == "pizza2"
Exemplo n.º 3
0
def test_copy():
    s = Settings()
    s.update(base_url="changed")
    s2 = copy.copy(s)
    assert s2.base_url == "changed"
    s.update(base_url="notchanged")
    assert s.base_url == "notchanged"
    assert s2.base_url == "changed"
Exemplo n.º 4
0
def test_invalid_both():
    s = Settings()
    with pytest.raises(KeyError):
        s.update(dict(project="ok"), invalid="new")
    assert s.project != "ok"
    with pytest.raises(KeyError):
        s.update(dict(wrong="bad", entity="nope"), project="okbutnotset")
    assert s.entity != "nope"
    assert s.project != "okbutnotset"
def test_validate_base_url():
    s = Settings()
    with pytest.raises(TypeError):
        s.update(base_url="https://wandb.ai")
    with pytest.raises(TypeError):
        s.update(base_url="https://app.wandb.ai")
    with pytest.raises(TypeError):
        s.update(base_url="http://api.wandb.ai")
    s.update(base_url="https://api.wandb.ai")
    assert s.base_url == "https://api.wandb.ai"
    s.update(base_url="https://wandb.ai.other.crazy.domain.com")
    assert s.base_url == "https://wandb.ai.other.crazy.domain.com"
Exemplo n.º 6
0
def test_freeze():
    s = Settings()
    s.project = "goodprojo"
    assert s.project == "goodprojo"
    s.freeze()
    with pytest.raises(TypeError):
        s.project = "badprojo"
    assert s.project == "goodprojo"
    with pytest.raises(TypeError):
        s.update(project="badprojo2")
    assert s.project == "goodprojo"
    c = copy.copy(s)
    assert c.project == "goodprojo"
    c.project = "changed"
    assert c.project == "changed"
Exemplo n.º 7
0
def test_preprocess_base_url():
    s = Settings()
    s.update(base_url="http://host.com")
    assert s.base_url == "http://host.com"
    s.update(base_url="http://host.com/")
    assert s.base_url == "http://host.com"
    s.update(base_url="http://host.com///")
    assert s.base_url == "http://host.com"
    s.update(base_url="//http://host.com//")
    assert s.base_url == "//http://host.com"
Exemplo n.º 8
0
def test_invalid_kwargs():
    s = Settings()
    with pytest.raises(KeyError):
        s.update(invalid="new")
Exemplo n.º 9
0
def test_update_both():
    s = Settings()
    s.update(dict(base_url="somethingb"), project="nothing")
    assert s.base_url == "somethingb"
    assert s.project == "nothing"
Exemplo n.º 10
0
def test_update_kwargs():
    s = Settings()
    s.update(base_url="something")
    assert s.base_url == "something"
Exemplo n.º 11
0
def test_update_dict():
    s = Settings()
    s.update(dict(base_url="something2"))
    assert s.base_url == "something2"
Exemplo n.º 12
0
def test_bad_choice():
    s = Settings()
    with pytest.raises(TypeError):
        s.mode = "goodprojo"
    with pytest.raises(TypeError):
        s.update(mode="badpro")
Exemplo n.º 13
0
def test_prio_update_over_ignore():
    s = Settings()
    s.update(project="pizza", _source=s.Source.ENTITY, _override=True)
    assert s.project == "pizza"
    s.update(project="pizza2", _source=s.Source.PROJECT, _override=True)
    assert s.project == "pizza"
Exemplo n.º 14
0
def test_prio_update_ignore():
    s = Settings()
    s.update(project="pizza", _source=s.Source.PROJECT)
    assert s.project == "pizza"
    s.update(project="pizza2", _source=s.Source.ENTITY)
    assert s.project == "pizza"