from keble_helpers.typings.schemas import is_http_url


def test_is_http_url():
    # Test valid HTTP URLs
    assert is_http_url("http://example.com") is True
    assert is_http_url("https://example.com") is True
    assert is_http_url("http://example.com/path?query=value") is True
    assert is_http_url("https://sub.example.com:8080/path") is True

    # Test invalid URLs
    assert is_http_url("ftp://example.com") is False
    assert is_http_url("example.com") is False
    assert is_http_url("http://") is False
    assert is_http_url("https://") is False
    assert is_http_url("") is False
    assert is_http_url(None) is False

    # Test non-string values
    assert is_http_url(123) is False
    assert is_http_url(True) is False
    assert is_http_url([]) is False
    assert is_http_url({}) is False
