code: def test_unknown_primitive_type(es):
      value = IdentityFeature(es["log"].ww["value"])
      max_feat = AggregationFeature(value, "sessions", Max)
      primitive_dict = serialize_primitive(Max())
      primitive_dict["type"] = "FakePrimitive"
      dictionary = {
          "ft_version": __version__,
          "schema_version": FEATURES_SCHEMA_VERSION,
          "entityset": es.to_dictionary(),
          "feature_list": [max_feat.unique_name(), value.unique_name()],
          "feature_definitions": {
              max_feat.unique_name(): max_feat.to_dictionary(),
              value.unique_name(): value.to_dictionary(),
          },
          "primitive_definitions": {"0": primitive_dict},
      }
  
      with pytest.raises(RuntimeError) as excinfo:
          FeaturesDeserializer(dictionary)
  
      error_text = (
          'Primitive "FakePrimitive" in module "%s" not found'
          % Max.__module__
      )
      assert error_text == str(excinfo.value)
  
imports: import logging
  from unittest.mock import patch
  import pandas
  import pytest
  from featuretools import AggregationFeature, Feature, IdentityFeature, TransformFeature, __version__
  from featuretools.feature_base.features_deserializer import FeaturesDeserializer
  from featuretools.primitives import Count, Max, MultiplyNumericScalar, NMostCommon, NumberOfCommonWords, NumUnique
  from featuretools.primitives.utils import serialize_primitive
  from featuretools.utils.schema_utils import FEATURES_SCHEMA_VERSION
label_desc: Use image node_id 8 for calling a global function with example usage: test_unknown_primitive_type(es) without return types