class_docstr: Tests for 'get_satpos'.
class_docstr_tok: ["Tests","for","'get_satpos","'","."]
docstr: Test that get_satpos raises an informative error message.
docstr_tok: ["Test","that","get_satpos","raises","an","informative","error","message","."]
code: def test_get_satpos_fails_with_informative_error(self, attrs):
      """Test that get_satpos raises an informative error message."""
      data_arr = xr.DataArray((), attrs=attrs)
      with pytest.raises(
          KeyError, match="Unable to determine satellite position.*"
      ):
          get_satpos(data_arr)
  
imports: from __future__ import annotations
  import datetime
  import logging
  import typing
  import unittest
  import warnings
  from math import sqrt
  from unittest import mock
  import dask.array
  import numpy
  import pytest
  import xarray
  from satpy.tests.utils import xfail_skyfield_unstable_numpy2
  from satpy.utils import angle2xyz, get_legacy_chunk_size, get_satpos, import_error_helper, lonlat2xyz, proj_units_to_meters, xyz2angle, xyz2lonlat
label_desc: Use image node_id 2 for calling the TestGetSatPos obj's underlying member method code with example usage: obj.test_get_satpos_fails_with_informative_error(attrs) without return types