| from mysos.common.zookeeper import parse |
| |
| import pytest |
| |
| |
| def test_parse(): |
| assert parse("zk://host1:port1") == (None, "host1:port1", "/") |
| assert parse("zk://jake:1@host1:port1") == ("jake:1", "host1:port1", "/") |
| assert parse("zk://jake:1@host1:port1/") == ("jake:1", "host1:port1", "/") |
| assert (parse("zk://jake:1@host1:port1,host2:port2") == |
| ("jake:1", "host1:port1,host2:port2", "/")) |
| assert (parse("zk://jake:1@host1:port1,host2:port2/") == |
| ("jake:1", "host1:port1,host2:port2", "/")) |
| assert (parse("zk://jake:1@host1:port1,host2:port2/path/to/znode") == |
| ("jake:1", "host1:port1,host2:port2", "/path/to/znode")) |
| |
| |
| def test_parse_errors(): |
| with pytest.raises(ValueError) as e: |
| parse("host1:port1") |
| assert e.value.message == "Expecting 'zk://' at the beginning of the URL" |
| |
| # This method doesn't validate the values in the tuple. |
| assert parse("zk://") == (None, "", "/") |
| assert parse("zk://host_no_port") == (None, "host_no_port", "/") |
| assert parse("zk://jake@host") == ("jake", "host", "/") |