diff --git a/ale/__init__.py b/ale/__init__.py index ee4529a99559a06144ee8b5fa8e5c414d95b1916..08269ea76a77cc31943b2abfc2f38b0f03614ab4 100644 --- a/ale/__init__.py +++ b/ale/__init__.py @@ -1,28 +1,7 @@ import os -import pathlib -from shutil import copyfile -import yaml +import warnings from pkg_resources import get_distribution, DistributionNotFound -class DotDict(dict): - """dot.notation access to dictionary attributes""""" - __getattr__ = dict.get - __setattr__ = dict.__setitem__ - __delattr__ = dict.__delitem__ - - def __str__(self): - return yaml.dump(dict(self)) - -home_path = os.path.expanduser('~') -config_dir = pathlib.Path(os.path.join(home_path, '.ale')) -config_file_path = pathlib.Path(os.path.join(home_path, '.ale', 'config.yml')) - -config_dir.mkdir(parents=True, exist_ok=True) - -if not config_file_path.is_file(): - copyfile(os.path.join(os.path.dirname(__file__), 'config.yml'), config_file_path) - -config = DotDict(yaml.load(open(config_file_path), Loader=yaml.FullLoader)) try: _dist = get_distribution('ale') @@ -37,6 +16,12 @@ except DistributionNotFound: else: __version__ = _dist.version +try: + spice_root = os.environ['ALESPICEROOT'] +except: + warnings.warn('ALESPICEROOT environment variable not set, Spice Drivers will not function correctly') + spice_root = None + # bring ale stuff into main ale module from . import drivers from . import formatters diff --git a/ale/base/base.py b/ale/base/base.py index 896a25afc0ae8605a412994e6c017edd67447d90..83a435ed67333f4193f32080027ca1c9abf554e0 100644 --- a/ale/base/base.py +++ b/ale/base/base.py @@ -308,3 +308,7 @@ class Driver(): Center ephemeris time for an image """ return (self.ephemeris_start_time + self.ephemeris_stop_time) / 2 + + @property + def short_mission_name(self): + return self.__module__.split('.')[-1].split('_')[0] diff --git a/ale/base/data_isis.py b/ale/base/data_isis.py index 67acb61ce01af56f1ec811cd25eb6b44726c9174..3cd979dfdac16808d73dd5e1d0d0daee0e4f7018 100644 --- a/ale/base/data_isis.py +++ b/ale/base/data_isis.py @@ -11,7 +11,6 @@ import pvl import spiceypy as spice from ale.rotation import ConstantRotation, TimeDependentRotation from ale.transformation import FrameChain -from ale import config from scipy.interpolate import interp1d, BPoly diff --git a/ale/base/data_naif.py b/ale/base/data_naif.py index 36af7b51d1adf9b7dc1144f78bd03a236781ed46..ee4309ec9154a14b7623928f33088a44b2caa9b7 100644 --- a/ale/base/data_naif.py +++ b/ale/base/data_naif.py @@ -4,6 +4,7 @@ import numpy as np from ale.base.type_sensor import Framer from ale.transformation import FrameChain from ale.rotation import TimeDependentRotation +from ale import util class NaifSpice(): def __enter__(self): @@ -13,8 +14,6 @@ class NaifSpice(): """ if self.kernels: [spice.furnsh(k) for k in self.kernels] - elif self.metakernel: - spice.furnsh(self.metakernel) return self def __exit__(self, exc_type, exc_val, exc_tb): @@ -25,18 +24,17 @@ class NaifSpice(): """ if self.kernels: [spice.unload(k) for k in self.kernels] - else: - spice.unload(self.metakernel) @property def kernels(self): if not hasattr(self, '_kernels'): - self._kernels = self._props.get('kernels', None) + if 'kernels' in self._props.keys(): + self._kernels = self._props['kernels'] + else: + search_results = util.get_metakernels(missions=self.short_mission_name, years=self.utc_start_time.year, versions='latest') + self._kernels = [search_results['data'][0]['path']] return self._kernels - def metakernel(self): - pass - @property def light_time_correction(self): """ diff --git a/ale/config.yml b/ale/config.yml deleted file mode 100644 index f39a9aa83c01320365e42c1dbb4cac3e0f1f467e..0000000000000000000000000000000000000000 --- a/ale/config.yml +++ /dev/null @@ -1,8 +0,0 @@ -spice_root: "/data/spice/" -cassini: '/scratch/jlaura/spice/co-s_j_e_v-spice-6-v1.0/cosp_1000/extras/mk/' # Cassini ISS -mdis: '/scratch/jlaura/spice/mess-e_v_h-spice-6-v1.0/messsp_1000/extras/mk' # Messenger -mex: '/scratch/jlaura/spice/mex-e_m-spice-6-v1.0/mexsp_1000/EXTRAS/MK' # Mars Explorer -mro: '/data/spice/mro-m-spice-6-v1.0/mrosp_1000/extras/mk' # Mars Reconnaissance Orbiter -kaguya: '/data/spice/SELENE/kernels/mk/' -dawn: '/scratch/spice/dawn-m_a-spice-6-v1.0/dawnsp_1000/extras/mk/' -lro: '/scratch/jlaura/spice/lro-l-spice-6-v1.0/lrosp_1000/extras/mk/' # LRO diff --git a/ale/drivers/__init__.py b/ale/drivers/__init__.py index 9bfaeaab2dcf5054c7921ae35a360899501fb769..36f4cb20fd5b4d52cb8473ec120f87cbe513b914 100644 --- a/ale/drivers/__init__.py +++ b/ale/drivers/__init__.py @@ -46,7 +46,7 @@ class JsonEncoder(json.JSONEncoder): return json.JSONEncoder.default(self, obj) -def load(label, formatter='usgscsm'): +def load(file_path, formatter='usgscsm'): """ Attempt to load a given label from all possible drivers diff --git a/ale/drivers/cassini_drivers.py b/ale/drivers/co_drivers.py similarity index 95% rename from ale/drivers/cassini_drivers.py rename to ale/drivers/co_drivers.py index e7d10c3905224484284c3cd9e3f5aaf05c316f66..25eb2091ac23206b5ee3aed5bc4f5fdda8962179 100644 --- a/ale/drivers/cassini_drivers.py +++ b/ale/drivers/co_drivers.py @@ -5,7 +5,6 @@ import numpy as np import pvl import spiceypy as spice -from ale import config from ale.base import Driver from ale.base.data_naif import NaifSpice from ale.base.label_pds3 import Pds3Label @@ -80,24 +79,6 @@ class CassiniIssPds3LabelNaifSpiceDriver(Framer, Pds3Label, NaifSpice, RadialDis ("P120","UV3"):2002.71 } - - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : string - Path to latest metakernel file - """ - metakernel_dir = config.cassini - year = self.utc_start_time.year - - if not hasattr(self, '_metakernel'): - self._metakernel = find_latest_metakernel(metakernel_dir, year) - return self._metakernel - @property def instrument_id(self): """ diff --git a/ale/drivers/dawn_drivers.py b/ale/drivers/dawn_drivers.py index 7d7f9fb2cf57a952d88feefbf28a7ef42f3ee5a0..48d3a4a50777621a08c4d21dd69de04a27fdc31d 100644 --- a/ale/drivers/dawn_drivers.py +++ b/ale/drivers/dawn_drivers.py @@ -5,7 +5,6 @@ import os from glob import glob import ale -from ale import config from ale.base import Driver from ale.base.data_naif import NaifSpice from ale.base.label_pds3 import Pds3Label @@ -35,25 +34,6 @@ class DawnFcPds3NaifSpiceDriver(Framer, Pds3Label, NaifSpice, Driver): return "DAWN_{}_FILTER_{}".format(instrument_id, filter_number) - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : string - Path to latest metakernel file - """ - metakernel_dir = config.dawn - mks = sorted(glob(os.path.join(metakernel_dir,'*.tm'))) - if not hasattr(self, '_metakernel'): - self._metakernel = None - for mk in mks: - if str(self.utc_start_time.year) in os.path.basename(mk): - self._metakernel = mk - return self._metakernel - @property def label(self): """ diff --git a/ale/drivers/lro_drivers.py b/ale/drivers/lro_drivers.py index 9fc6076f6b846e7f10962708591ff2963d852ad8..5246e6efa7956f44a322e59bc36040d63e69fa8a 100644 --- a/ale/drivers/lro_drivers.py +++ b/ale/drivers/lro_drivers.py @@ -4,7 +4,6 @@ import pvl import spiceypy as spice from glob import glob -from ale import config from ale.util import get_metakernels from ale.base import Driver from ale.base.data_naif import NaifSpice @@ -42,28 +41,6 @@ class LroLrocPds3LabelNaifSpiceDriver(LineScanner, NaifSpice, Pds3Label, Driver) elif instrument == "LROC" and frame_id == "RIGHT": return "LRO_LROCNACR" - - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : str - Path to latest metakernel file - """ - metakernel_dir = config.lro - - mks = sorted(glob(os.path.join(metakernel_dir, '*.tm'))) - if not hasattr(self, '_metakernel'): - self._metakernel = None - for mk in mks: - if str(self.utc_start_time.year) in os.path.basename(mk): - self._metakernel = mk - return self._metakernel - - @property def spacecraft_name(self): """ @@ -225,6 +202,11 @@ class LroLrocPds3LabelNaifSpiceDriver(LineScanner, NaifSpice, Pds3Label, Driver) """ return 1024.0 + @property + def mission_name(self): + return self.label['MISSION_NAME'] + + @property def sampling_factor(self): """ diff --git a/ale/drivers/messenger_drivers.py b/ale/drivers/mes_drivers.py similarity index 91% rename from ale/drivers/messenger_drivers.py rename to ale/drivers/mes_drivers.py index 18171c10bf30c9473767e16e9ff7f25ac63075c3..801472c9a7f28fb7b7879e8f6f0ac462498fc784 100644 --- a/ale/drivers/messenger_drivers.py +++ b/ale/drivers/mes_drivers.py @@ -5,7 +5,6 @@ import pvl import spiceypy as spice import numpy as np -from ale import config from ale.base import Driver from ale.base.data_naif import NaifSpice from ale.base.label_pds3 import Pds3Label @@ -23,24 +22,6 @@ class MessengerMdisPds3NaifSpiceDriver(Framer, Pds3Label, NaifSpice, Driver): ephemeris and instrument data located exclusively in spice kernels. """ - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : string - Path to latest metakernel file - """ - metakernel_dir = config.mdis - mks = sorted(glob(os.path.join(metakernel_dir,'*.tm'))) - if not hasattr(self, '_metakernel'): - for mk in mks: - if str(self.utc_start_time.year) in os.path.basename(mk): - self._metakernel = mk - return self._metakernel - @property def spacecraft_name(self): """ @@ -233,24 +214,6 @@ class MessengerMdisIsisLabelNaifSpiceDriver(IsisLabel, NaifSpice, Framer, Driver into ISIS from PDS EDR images but have not been spiceinit'd yet. """ - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : string - Path to latest metakernel file - """ - metakernel_dir = config.mdis - mks = sorted(glob(os.path.join(metakernel_dir,'*.tm'))) - if not hasattr(self, '_metakernel'): - for mk in mks: - if str(self.utc_start_time.year) in os.path.basename(mk): - self._metakernel = mk - return self._metakernel - @property def instrument_id(self): """ diff --git a/ale/drivers/mex_drivers.py b/ale/drivers/mex_drivers.py index 725ca92d55b0e534d38e8dbb6c4e7b7f6fa05cca..61af9fd8362c532d7eb58c8ddedc86349f41912f 100644 --- a/ale/drivers/mex_drivers.py +++ b/ale/drivers/mex_drivers.py @@ -8,7 +8,6 @@ import struct import spiceypy as spice import warnings -from ale import config from ale.base import Driver from ale.base.data_naif import NaifSpice from ale.base.label_pds3 import Pds3Label @@ -88,24 +87,6 @@ class MexHrscPds3NaifSpiceDriver(LineScanner, Pds3Label, NaifSpice, RadialDistor """ - - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : string - Path to latest metakernel file - """ - warnings.warn('This driver has currently not been tested! Use at your own risk.') - self._metakernel_dir = config.mex - if not hasattr(self, '_metakernel'): - self._metakernel = find_latest_metakernel(self._metakernel_dir, self.utc_start_time.year) - return self._metakernel - - @property def odtk(self): """ diff --git a/ale/drivers/mro_drivers.py b/ale/drivers/mro_drivers.py index 8112b568b4a65f030f24e41893af436bfa6d5eb7..e1c5c66c1f38931296541829b4f058ddaf47562b 100644 --- a/ale/drivers/mro_drivers.py +++ b/ale/drivers/mro_drivers.py @@ -5,7 +5,6 @@ import numpy as np import pvl import spiceypy as spice -from ale import config from ale.base import Driver from ale.base.data_naif import NaifSpice from ale.base.data_isis import IsisSpice @@ -70,25 +69,6 @@ class MroCtxIsisLabelNaifSpiceDriver(LineScanner, IsisLabel, NaifSpice, RadialDi Driver for reading CTX ISIS labels. """ - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : string - Path to latest metakernel file - """ - metakernel_dir = config.mro - mks = sorted(glob(os.path.join(metakernel_dir,'*.tm'))) - if not hasattr(self, '_metakernel'): - self._metakernel = None - for mk in mks: - if str(self.utc_start_time.year) in os.path.basename(mk): - self._metakernel = mk - return self._metakernel - @property def instrument_id(self): """ @@ -198,25 +178,6 @@ class MroCtxPds3LabelNaifSpiceDriver(LineScanner, Pds3Label, NaifSpice, RadialDi ephemeris and instrument data located exclusively in spice kernels. """ - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : string - Path to latest metakernel file - """ - metakernel_dir = config.mro - mks = sorted(glob(os.path.join(metakernel_dir,'*.tm'))) - if not hasattr(self, '_metakernel'): - self._metakernel = None - for mk in mks: - if str(self.utc_start_time.year) in os.path.basename(mk): - self._metakernel = mk - return self._metakernel - @property def instrument_id(self): """ diff --git a/ale/drivers/kaguya_drivers.py b/ale/drivers/selene_drivers.py similarity index 96% rename from ale/drivers/kaguya_drivers.py rename to ale/drivers/selene_drivers.py index cf831244dccf848f2c5dab86206ce0fedeff18ab..3fdbd746da712f9341fec18a9bbc0608ddc27ea8 100644 --- a/ale/drivers/kaguya_drivers.py +++ b/ale/drivers/selene_drivers.py @@ -2,7 +2,7 @@ import os from glob import glob import numpy as np import spiceypy as spice -from ale import config + from ale.base import Driver from ale.base.data_naif import NaifSpice from ale.base.label_pds3 import Pds3Label @@ -23,25 +23,6 @@ class KaguyaTcPds3NaifSpiceDriver(LineScanner, Pds3Label, NaifSpice, Driver): Therefore, methods normally in the Distortion classes are reimplemented here. """ - @property - def metakernel(self): - """ - Returns latest instrument metakernels - - Returns - ------- - : string - Path to latest metakernel file - """ - metakernel_dir = config.kaguya - mks = sorted(glob(os.path.join(metakernel_dir,'*.tm'))) - if not hasattr(self, '_metakernel'): - self._metakernel = None - for mk in mks: - if str(self.utc_start_time.year) in os.path.basename(mk): - self._metakernel = mk - return self._metakernel - @property def utc_start_time(self): diff --git a/bin/change_mk_data_path.py b/bin/change_mk_data_path.py index e616a1a706687eb029cd6fe647316c82de4472e4..d9a48f63b338d3ce0404ae7a050ad4b3d8c93e20 100755 --- a/bin/change_mk_data_path.py +++ b/bin/change_mk_data_path.py @@ -26,7 +26,7 @@ for mk in mks: print(f'No path values in {mk}') for i in lines_to_change: - lines[i] = f' PATH_VALUES = ( \'{new_data_dir}\' )\n' + lines[i] = f' PATH_VALUES = ( \'{args.new_data_path}\' )\n' with open(mk, 'w') as f: f.write(''.join(lines)) diff --git a/tests/pytests/test_cassini_drivers.py b/tests/pytests/test_cassini_drivers.py index 811f0cd95c4e5f35a7039011322b80b86c06bfe5..4b995807454968e1abcbaf6f17d1a25ce46c0a1c 100644 --- a/tests/pytests/test_cassini_drivers.py +++ b/tests/pytests/test_cassini_drivers.py @@ -1,7 +1,7 @@ import pytest import ale -from ale.drivers import cassini_drivers +from ale.drivers import co_drivers from ale.base import data_naif from ale.base import label_pds3 @@ -13,10 +13,10 @@ from conftest import SimpleSpice, get_mockkernels simplespice = SimpleSpice() data_naif.spice = simplespice -cassini_drivers.spice = simplespice +co_drivers.spice = simplespice label_pds3.spice = simplespice -from ale.drivers.cassini_drivers import CassiniIssPds3LabelNaifSpiceDriver +from ale.drivers.co_drivers import CassiniIssPds3LabelNaifSpiceDriver CassiniIssPds3LabelNaifSpiceDriver.metakernel = get_mockkernels @@ -24,6 +24,9 @@ CassiniIssPds3LabelNaifSpiceDriver.metakernel = get_mockkernels def driver(): return CassiniIssPds3LabelNaifSpiceDriver("") +def test_short_mission_name(driver): + assert driver.short_mission_name=='co' + def test_instrument_id(driver): with patch('ale.base.label_pds3.Pds3Label.instrument_id', new_callable=PropertyMock) as mock_instrument_id: mock_instrument_id.return_value = 'ISSNA' diff --git a/tests/pytests/test_data_naif.py b/tests/pytests/test_data_naif.py index f3d1b12fcaad1a9f6160f85c089b17339df7c940..3e758aac4df54471ef60b7a91198a125936a2a85 100644 --- a/tests/pytests/test_data_naif.py +++ b/tests/pytests/test_data_naif.py @@ -30,7 +30,6 @@ def test_naif_data_with_kernels(): FakeNaifDriver = type("FakeNaifDriver", (base.Driver, data_naif.NaifSpice), {}) return FakeNaifDriver("", props={'kernels': kernels}) - def test_target_id(test_naif_data): assert test_naif_data.target_id == -12345 diff --git a/tests/pytests/test_dawn_drivers.py b/tests/pytests/test_dawn_drivers.py index 3c672ef9770f689f1ab84709c5c6a93e30d30751..04b5f3cf1b2de0c504ea3b1383eee9b465f9c6a8 100644 --- a/tests/pytests/test_dawn_drivers.py +++ b/tests/pytests/test_dawn_drivers.py @@ -24,6 +24,9 @@ DawnFcPds3NaifSpiceDriver.metakernel = get_mockkernels def driver(): return DawnFcPds3NaifSpiceDriver("") +def test_short_mission_name(driver): + assert driver.short_mission_name=='dawn' + @patch('ale.base.label_pds3.Pds3Label.instrument_id', 1) @patch('ale.base.label_pds3.Pds3Label.filter_number', 2) def test_instrument_id(driver): diff --git a/tests/pytests/test_env.py b/tests/pytests/test_env.py new file mode 100644 index 0000000000000000000000000000000000000000..9263d46fce010a457d85e316ce45301b14cd206a --- /dev/null +++ b/tests/pytests/test_env.py @@ -0,0 +1,16 @@ +import pytest +import warnings +from importlib import reload + +import ale + +def test_env_not_set(monkeypatch): + monkeypatch.delenv('ALESPICEROOT', raising=False) + with pytest.warns(UserWarning, match='ALESPICEROOT environment variable not set'): + reload(ale) + assert not ale.spice_root + +def test_env_set(monkeypatch): + monkeypatch.setenv('ALESPICEROOT', '/foo/bar') + reload(ale) + assert ale.spice_root == '/foo/bar' diff --git a/tests/pytests/test_kaguya_drivers.py b/tests/pytests/test_kaguya_drivers.py index 81f680970b4b158a75b7d046fc4023953fc63d8b..a67023e01c2198a81f85c90fdcbb5ee04a51ac2c 100644 --- a/tests/pytests/test_kaguya_drivers.py +++ b/tests/pytests/test_kaguya_drivers.py @@ -3,7 +3,7 @@ import numpy as np import pvl import ale -from ale.drivers import kaguya_drivers +from ale.drivers import selene_drivers from ale.base import data_naif from ale.base import label_pds3 @@ -15,10 +15,10 @@ from conftest import SimpleSpice, get_mockkernels simplespice = SimpleSpice() data_naif.spice = simplespice -kaguya_drivers.spice = simplespice +selene_drivers.spice = simplespice label_pds3.spice = simplespice -from ale.drivers.kaguya_drivers import KaguyaTcPds3NaifSpiceDriver +from ale.drivers.selene_drivers import KaguyaTcPds3NaifSpiceDriver KaguyaTcPds3NaifSpiceDriver.metakernel = get_mockkernels @@ -26,6 +26,9 @@ KaguyaTcPds3NaifSpiceDriver.metakernel = get_mockkernels def driver(): return KaguyaTcPds3NaifSpiceDriver("") +def test_short_mission_name(driver): + assert driver.short_mission_name=='selene' + @patch('ale.base.label_pds3.Pds3Label.instrument_id', 123) def test_instrument_id(driver): with patch.dict(driver.label, {'SWATH_MODE_ID':'NOMINAL', 'PRODUCT_SET_ID':'TC_w_Level2B0' }) as f: diff --git a/tests/pytests/test_lro_drivers.py b/tests/pytests/test_lro_drivers.py index 5a39108365a21d89539cdeafcc94caf1fb29aeec..f3277ee0bf42e39726c8ac3de5a2707eb7e148aa 100644 --- a/tests/pytests/test_lro_drivers.py +++ b/tests/pytests/test_lro_drivers.py @@ -28,6 +28,8 @@ LroLrocPds3LabelNaifSpiceDriver.metakernel = get_mockkernels def driver(): return LroLrocPds3LabelNaifSpiceDriver("") +def test_short_mission_name(driver): + assert driver.short_mission_name=='lro' @patch('ale.base.label_pds3.Pds3Label.instrument_id', 'LROC') def test_instrument_id_left(driver): diff --git a/tests/pytests/test_mdis_drivers.py b/tests/pytests/test_mdis_drivers.py index 12fa0ee35011e4ab0bfd5bf91848d50a1dfd2615..3ebb76e04439c21eda61bc0accb80d4514abc8c8 100644 --- a/tests/pytests/test_mdis_drivers.py +++ b/tests/pytests/test_mdis_drivers.py @@ -2,7 +2,7 @@ import pytest import pvl import ale -from ale.drivers import messenger_drivers +from ale.drivers import mes_drivers from ale.base import data_naif from ale.base import label_pds3 from ale.base import label_isis @@ -15,11 +15,11 @@ from conftest import SimpleSpice, get_mockkernels simplespice = SimpleSpice() data_naif.spice = simplespice -messenger_drivers.spice = simplespice +mes_drivers.spice = simplespice label_pds3.spice = simplespice -from ale.drivers.messenger_drivers import MessengerMdisPds3NaifSpiceDriver -from ale.drivers.messenger_drivers import MessengerMdisIsisLabelNaifSpiceDriver +from ale.drivers.mes_drivers import MessengerMdisPds3NaifSpiceDriver +from ale.drivers.mes_drivers import MessengerMdisIsisLabelNaifSpiceDriver MessengerMdisPds3NaifSpiceDriver.metakernel = get_mockkernels MessengerMdisIsisLabelNaifSpiceDriver.metakernel = get_mockkernels @@ -28,6 +28,9 @@ MessengerMdisIsisLabelNaifSpiceDriver.metakernel = get_mockkernels def Pds3Driver(): return MessengerMdisPds3NaifSpiceDriver("") +def test_short_mission_name(Pds3Driver): + assert Pds3Driver.short_mission_name=='mes' + @pytest.fixture def IsisLabelDriver(): return MessengerMdisIsisLabelNaifSpiceDriver("") @@ -99,7 +102,7 @@ def test_fikid_isis(IsisLabelDriver): with patch.dict(IsisLabelDriver.label, {'IsisCube': {'BandBin' : {'Number' : 10 }}}) as f: assert IsisLabelDriver.fikid == 90 -@patch('ale.drivers.messenger_drivers.MessengerMdisIsisLabelNaifSpiceDriver.fikid', 1) +@patch('ale.drivers.mes_drivers.MessengerMdisIsisLabelNaifSpiceDriver.fikid', 1) def test_focal_length_isis(IsisLabelDriver): with patch.dict(IsisLabelDriver.label, {'IsisCube': {'Instrument': {'FocalPlaneTemperature': pvl._collections.Units(value=1, units='')}}}) as f: diff --git a/tests/pytests/test_mro_drivers.py b/tests/pytests/test_mro_drivers.py index 453d093c6dfb75a5160f5417545029e153d548e5..b576b70904a866f247b132ba3eec67ef6108ab4f 100644 --- a/tests/pytests/test_mro_drivers.py +++ b/tests/pytests/test_mro_drivers.py @@ -25,6 +25,9 @@ MroCtxPds3LabelNaifSpiceDriver.metakernel = get_mockkernels def Pds3NaifDriver(): return MroCtxPds3LabelNaifSpiceDriver("") +def test_short_mission_name(Pds3NaifDriver): + assert Pds3NaifDriver.short_mission_name=='mro' + @pytest.fixture def IsisLabelNaifDriver(): return MroCtxIsisLabelNaifSpiceDriver("")