def test_user_config_nested(): v1 = DeploymentVersion("1", [{"1": "2"}, {"1": "2"}]) v2 = DeploymentVersion("1", [{"1": "2"}, {"1": "2"}]) v3 = DeploymentVersion("1", [{"1": "2"}, {"1": "3"}]) assert v1 == v2 assert hash(v1) == hash(v2) assert v1 != v3 assert hash(v1) != hash(v3)
def test_user_config_list(): v1 = DeploymentVersion("1", ["1", "2"]) v2 = DeploymentVersion("1", ["1", "2"]) v3 = DeploymentVersion("1", ["1", "3"]) assert v1 == v2 assert hash(v1) == hash(v2) assert v1 != v3 assert hash(v1) != hash(v3)
def test_user_config_dict_vals(): v1 = DeploymentVersion("1", {"1": "1"}) v2 = DeploymentVersion("1", {"1": "1"}) v3 = DeploymentVersion("1", {"1": "2"}) assert v1 == v2 assert hash(v1) == hash(v2) assert v1 != v3 assert hash(v1) != hash(v3)
def test_user_config_hashable(): v1 = DeploymentVersion("1", ("1", "2")) v2 = DeploymentVersion("1", ("1", "2")) v3 = DeploymentVersion("1", ("1", "3")) assert v1 == v2 assert hash(v1) == hash(v2) assert v1 != v3 assert hash(v1) != hash(v3)
def test_user_config_basic(): v1 = DeploymentVersion("1", "1") v2 = DeploymentVersion("1", "1") v3 = DeploymentVersion("1", "2") assert v1 == v2 assert hash(v1) == hash(v2) assert v1 != v3 assert hash(v1) != hash(v3)
def test_code_version(): v1 = DeploymentVersion("1", None) v2 = DeploymentVersion("1", None) v3 = DeploymentVersion("2", None) assert v1 == v2 assert hash(v1) == hash(v2) assert v1 != v3 assert hash(v1) != hash(v3)
def test_user_config_nested_in_hashable(): v1 = DeploymentVersion("1", ([{"1": "2"}, {"1": "2"}], )) v2 = DeploymentVersion("1", ([{"1": "2"}, {"1": "2"}], )) v3 = DeploymentVersion("1", ([{"1": "2"}, {"1": "3"}], )) assert v1 == v2 assert hash(v1) == hash(v2) assert v1 != v3 assert hash(v1) != hash(v3)
def test_validation(): # Code version must be a string. with pytest.raises(TypeError): DeploymentVersion(123, None) # Can't pass unhashable type as user config. with pytest.raises(TypeError): DeploymentVersion(123, set()) # Can't pass nested unhashable type as user config. with pytest.raises(TypeError): DeploymentVersion(123, {"set": set()})
def test_other_type_equality(): v = DeploymentVersion("1", None) assert v is not None assert v != "1" assert v != None # noqa: E711
def get_version(): return DeploymentVersion("1", ([{"1": "2"}, {"1": "2"}], ))