code: def test_observation_normalization_axis(strategy, axis):
      """observation normalization test"""
  
      normalization_config = {
          "default_strategy": strategy,
          "default_strategy_config": {
              "clip_range": (None, None),
              "axis": axis,
          },
          "default_statistics": None,
          "statistics_dump": "statistics.pkl",
          "exclude": None,
          "manual_config": None,
      }
  
      run_observation_normalization_pipeline(normalization_config)
  
imports: import copy
  import os
  import numpy
  import pytest
  import maze.test.core.wrappers.observation_normalization
  from maze.core.agent.random_policy import RandomPolicy
  from maze.core.env.structured_env import ActorID
  from maze.core.log_stats.log_stats import register_log_stats_writer, increment_log_step
  from maze.core.log_stats.log_stats_writer_console import LogStatsWriterConsole
  from maze.core.log_stats.log_stats_writer_tensorboard import LogStatsWriterTensorboard
  from maze.core.wrappers.log_stats_wrapper import LogStatsWrapper
  from maze.core.wrappers.maze_gym_env_wrapper import GymMazeEnv
  from maze.core.wrappers.observation_normalization.normalization_strategies.base import ObservationNormalizationStrategy
  from maze.core.wrappers.observation_normalization.observation_normalization_utils import obtain_normalization_statistics
  from maze.core.wrappers.observation_normalization.observation_normalization_wrapper import ObservationNormalizationWrapper
  from maze.test.shared_test_utils.config_testing_utils import load_env_config
label_desc: Use image node_id 7 for calling a global function with example usage: test_observation_normalization_axis(strategy, axis) without return types