code: def test_discrete_not_allowed():
      mu_true = np.array([-2, 0, 2])
      z_true = np.random.randint(len(mu_true), size=100)
      y = np.random.normal(mu_true[z_true], np.ones_like(z_true))
  
      with pm.Model():
          mu = pm.Normal("mu", mu=0, sigma=10, size=3)
          z = pm.Categorical("z", p=pt.ones(3) / 3, size=len(y))
          pm.Normal("y_obs", mu=mu[z], sigma=1.0, observed=y)
          with pytest.raises(
              opvi.ParametrizationError, match="Discrete variables"
          ):
              pm.fit(n=1)
  
imports: import functools
  import numpy
  import pytensor.tensor
  import pytest
  import pymc
  from pymc.variational import opvi
  from pymc.variational.approximations import Empirical, EmpiricalGroup, FullRank, FullRankGroup, MeanField, MeanFieldGroup
  from tests.helpers import not_raises
label_desc: Use image node_id 1 for calling a global function with example usage: test_discrete_not_allowed() without return types