def test_validate_domain_model_raises_error_if_not_correct_single_type(): m = DomainModel() with pytest.raises(InvalidDomainModelSubclassError) as e: validate_domain_model(m, instance_of=SubclassedDomainModel1, extra_error_msg="wakka7") assert "wakka7" in str(e)
def test_validate_domain_model_does_not_autopopulated_if_disabled_and_validate_is_disabled( mocker, ): m = DomainModel() spied_validate = mocker.spy(m, "validate") spied_autopopulate = mocker.spy(m, "autopopulate") validate_domain_model(m, autopopulate=False, validate=False) assert spied_validate.call_count == 0 assert spied_autopopulate.call_count == 0
def test_validate_domain_model_calls_validate_and_autopopulate_of_that_model( mocker): m = DomainModel() spied_validate = mocker.spy(m, "validate") spied_autopopulate = mocker.spy(m, "autopopulate") validate_domain_model(m) assert spied_validate.call_count == 1 assert spied_autopopulate.call_count == 1
def test_validate_domain_model_raises_error_if_not_correct_tuple_of_types(): m = DomainModel() with pytest.raises(InvalidDomainModelSubclassError) as e: validate_domain_model( m, instance_of=(SubclassedDomainModel1, SubclassedDomainModel2), extra_error_msg="wakka98", ) assert "wakka98" in str(e)
def validate_internals(self, autopopulate: bool = True) -> None: super().validate_internals(autopopulate=autopopulate) validate_domain_model( self.labware_definition, extra_error_msg="labware_definition", instance_of=LabwareDefinition, autopopulate=autopopulate, ) self.validate_barcode()
def test_validate_domain_model__still_autopopulates_even_if_not_validating( mocker): m = DomainModel() mocked_autopopulate = mocker.spy(m, "autopopulate") validate_domain_model(m, validate=False) assert mocked_autopopulate.call_count == 1
def test_validate_domain_model__does_not_validate_model_if_set(mocker): m = DomainModel() mocked_validate = mocker.spy(m, "validate") validate_domain_model(m, validate=False) assert mocked_validate.call_count == 0
def test_validate_domain_model_does_not_raise_error_if_correct_in_tuple_of_types( ): m = SubclassedDomainModel2() validate_domain_model(m, instance_of=(SubclassedDomainModel1, SubclassedDomainModel2))
def test_validate_domain_model_does_not_raise_error_if_None_and_allowed(): # would raise error if failed validate_domain_model(None, allow_null=True)
def test_validate_domain_model_raises_error_if_None(): with pytest.raises(ObjectIsNullError) as e: validate_domain_model(None, extra_error_msg="blah32") assert "blah32" in str(e)
def test_validate_domain_model_raises_error_if_not_domain_model(): with pytest.raises(ObjectNotDomainModelError) as e: validate_domain_model(27, extra_error_msg="blah19") assert "blah19" in str(e)