diff --git a/hbp_nrp_music_interface/hbp_nrp_music_interface/cle/MUSICPyNNControlAdapter.py b/hbp_nrp_music_interface/hbp_nrp_music_interface/cle/MUSICPyNNControlAdapter.py index ded51a715eaa1b0b14997934512388bb81353331..ca649d6217f9dc754ab052f876b3c4f443b33cb8 100644 --- a/hbp_nrp_music_interface/hbp_nrp_music_interface/cle/MUSICPyNNControlAdapter.py +++ b/hbp_nrp_music_interface/hbp_nrp_music_interface/cle/MUSICPyNNControlAdapter.py @@ -28,6 +28,12 @@ class MUSICPyNNControlAdapter(PyNNControlAdapter): """ self.__load_music_brain_proxies(**populations) + # load the brain source for the frontend to display, copied from parent class + logger.info("Saving brain source") + import hbp_nrp_cle.tf_framework.config as tf_config + with open(network_file) as source: + tf_config.brain_source = source.read() + @staticmethod def __load_music_brain_proxies(**populations): """ diff --git a/hbp_nrp_music_interface/hbp_nrp_music_interface/tests/cle/test_control_adapter.py b/hbp_nrp_music_interface/hbp_nrp_music_interface/tests/cle/test_control_adapter.py index 16c5a8abebd44296192d3fc0862997cb2c1d3374..098ef3f168535b0298e7b444587fe687ca909c4e 100644 --- a/hbp_nrp_music_interface/hbp_nrp_music_interface/tests/cle/test_control_adapter.py +++ b/hbp_nrp_music_interface/hbp_nrp_music_interface/tests/cle/test_control_adapter.py @@ -1,8 +1,9 @@ import unittest from hbp_nrp_music_interface.cle.MUSICPyNNControlAdapter import MUSICPyNNControlAdapter +import hbp_nrp_cle.tf_framework.config as tf_config -from mock import Mock, patch +from mock import Mock, patch, mock_open import os @@ -22,9 +23,17 @@ class TestControlAdapter(unittest.TestCase): @patch('os.environ.get', return_value='') @patch('hbp_nrp_music_interface.cle.MUSICBrainLoader.load_proxies_from_xml') def test_valid_xml(self, mocked_setup, mocked_environ, mocked_load): - mc = MUSICPyNNControlAdapter() - mc.load_brain('foo.xml') + + m = mock_open() + m.return_value.read.return_value = 'mock brain source' + + with patch('__builtin__.open', m, create=True): + mc = MUSICPyNNControlAdapter() + mc.load_brain('foo.xml') + mocked_environ.assert_called_once_with('NRP_MUSIC_DIRECTORY') + m.assert_called_once_with('foo.xml') + self.assertEquals(tf_config.brain_source, 'mock brain source') if __name__ == "__main__": unittest.main()