From b2e61155f8e92154cd1493c3be245d7e2afa52f5 Mon Sep 17 00:00:00 2001 From: Kelvin Rodriguez <kr788@nau.edu> Date: Mon, 26 Aug 2019 12:04:38 -0700 Subject: [PATCH] Removed config file from ALE (#251) * kernel list support added * simple spice as fixture * removed abstractmethod tags * added property tags * addressed comments * removed config, combined kernel and metakernel methods, added test for metakerenl queries * added test to env var * Add short name test for dawn * Add other short name tests --- ale/__init__.py | 29 ++++---------- ale/base/base.py | 4 ++ ale/base/data_isis.py | 1 - ale/base/data_naif.py | 14 +++---- ale/config.yml | 8 ---- ale/drivers/__init__.py | 2 +- .../{cassini_drivers.py => co_drivers.py} | 19 --------- ale/drivers/dawn_drivers.py | 20 ---------- ale/drivers/lro_drivers.py | 28 +++---------- .../{messenger_drivers.py => mes_drivers.py} | 37 ------------------ ale/drivers/mex_drivers.py | 19 --------- ale/drivers/mro_drivers.py | 39 ------------------- .../{kaguya_drivers.py => selene_drivers.py} | 21 +--------- bin/change_mk_data_path.py | 2 +- tests/pytests/test_cassini_drivers.py | 9 +++-- tests/pytests/test_data_naif.py | 1 - tests/pytests/test_dawn_drivers.py | 3 ++ tests/pytests/test_env.py | 16 ++++++++ tests/pytests/test_kaguya_drivers.py | 9 +++-- tests/pytests/test_lro_drivers.py | 2 + tests/pytests/test_mdis_drivers.py | 13 ++++--- tests/pytests/test_mro_drivers.py | 3 ++ 22 files changed, 69 insertions(+), 230 deletions(-) delete mode 100644 ale/config.yml rename ale/drivers/{cassini_drivers.py => co_drivers.py} (95%) rename ale/drivers/{messenger_drivers.py => mes_drivers.py} (91%) rename ale/drivers/{kaguya_drivers.py => selene_drivers.py} (96%) create mode 100644 tests/pytests/test_env.py diff --git a/ale/__init__.py b/ale/__init__.py index ee4529a..08269ea 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 896a25a..83a435e 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 67acb61..3cd979d 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 36af7b5..ee4309e 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 f39a9aa..0000000 --- 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 9bfaeaa..36f4cb2 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 e7d10c3..25eb209 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 7d7f9fb..48d3a4a 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 9fc6076..5246e6e 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 18171c1..801472c 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 725ca92..61af9fd 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 8112b56..e1c5c66 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 cf83124..3fdbd74 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 e616a1a..d9a48f6 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 811f0cd..4b99580 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 f3d1b12..3e758aa 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 3c672ef..04b5f3c 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 0000000..9263d46 --- /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 81f6809..a67023e 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 5a39108..f3277ee 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 12fa0ee..3ebb76e 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='<DEGC>')}}}) as f: diff --git a/tests/pytests/test_mro_drivers.py b/tests/pytests/test_mro_drivers.py index 453d093..b576b70 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("") -- GitLab