def test_translator(self): """Test translating message dictionary values.""" orig = ( 'pytroll://tm1 file [email protected] 2018-10-25T01:15:54.752065 v1.01 application/json ' '{"sensor": "viirs", "format": "SDR", "variant": "DR", "uid": "bla.png", "uri": "/home/user/bla.png"}' ) dest_dir = '/tmp' expected = ( 'pytroll://tm1 file [email protected] 2018-10-25T01:15:54.752065 v1.01 application/json ' '{"sensor": "viirs", "format": "SDR", "variant": "DR", "uid": "bla.png", "uri": "/tmp/bla.png"}' ) def dummy_cb(k, v): dirname, filename = os.path.split(v) return os.path.join(dest_dir, filename) expected_dict = Message(rawstr=expected).data res = translate_dict_value(Message(rawstr=orig).data, 'uri', dummy_cb) self.assertDictEqual(expected_dict, res) orig = ( 'pytroll://tm1 file [email protected] 2018-10-25T01:15:54.752065 v1.01 application/json ' '{"sensor": "viirs", "format": "SDR", "variant": "DR", ' ' "dataset": [{"uid": "bla.png", "uri": "/home/user/bla.png"},' ' {"uid": "bla2.png", "uri": "/home/user/bla2.png"}]}') expected = ( 'pytroll://tm1 file [email protected] 2018-10-25T01:15:54.752065 v1.01 application/json ' '{"sensor": "viirs", "format": "SDR", "variant": "DR", ' ' "dataset": [{"uid": "bla.png", "uri": "/tmp/bla.png"},' ' {"uid": "bla2.png", "uri": "/tmp/bla2.png"}]}') expected_dict = Message(rawstr=expected).data res = translate_dict_value(Message(rawstr=orig).data, 'uri', dummy_cb) self.assertDictEqual(expected_dict, res) orig = ( 'pytroll://tm1 file [email protected] 2018-10-25T01:15:54.752065 v1.01 application/json ' '{"sensor": "viirs", "format": "SDR", "variant": "DR", ' ' "collection": [{"dataset": [{"uid": "bla.png", "uri": "/home/user/bla.png"},' ' {"uid": "bla2.png", "uri": "/home/user/bla2.png"}]}]}' ) expected = ( 'pytroll://tm1 file [email protected] 2018-10-25T01:15:54.752065 v1.01 application/json ' '{"sensor": "viirs", "format": "SDR", "variant": "DR", ' ' "collection": [{"dataset": [{"uid": "bla.png", "uri": "/tmp/bla.png"},' ' {"uid": "bla2.png", "uri": "/tmp/bla2.png"}]}]}' ) expected_dict = Message(rawstr=expected).data res = translate_dict_value(Message(rawstr=orig).data, 'uri', dummy_cb) self.assertDictEqual(expected_dict, res)
def test_translate_dict_value(self): """Test message data dictionary value translation.""" msg = Message(rawstr=test_msg) orig_data = copy.deepcopy(msg.data) res = translate_dict_value(msg.data, 'uri', dummy_callback_translate_dict_values) for uri in gen_dict_extract(res, 'uri'): self.assertTrue(uri.startswith(DEST_DIR)) self.assertDictEqual(orig_data, msg.data)
def test_real_translate(self): msg = Message(rawstr=test_msg) orig_data = copy.deepcopy(msg.data) def dummy_cb(k, v): dirname, filename = os.path.split(v) return os.path.join(dest_dir, filename) dest_dir = '/tmp' res = translate_dict_value(msg.data, 'uri', dummy_cb) for uri in gen_dict_extract(res, 'uri'): self.assertTrue(uri.startswith(dest_dir)) self.assertDictEqual(orig_data, msg.data)
def test_translate_dict_values_file_message(self): """Test translating message dictionary values.""" orig = ( 'pytroll://tm1 file [email protected] 2018-10-25T01:15:54.752065 v1.01 application/json ' '{"sensor": "viirs", "format": "SDR", "variant": "DR", "uid": "bla.png", "uri": "/home/user/bla.png"}' ) expected = ( 'pytroll://tm1 file [email protected] 2018-10-25T01:15:54.752065 v1.01 application/json ' '{"sensor": "viirs", "format": "SDR", "variant": "DR", "uid": "bla.png", "uri": "/tmp/bla.png"}' ) expected_dict = Message(rawstr=expected).data res = translate_dict_value( Message(rawstr=orig).data, 'uri', dummy_callback_translate_dict_values) self.assertDictEqual(expected_dict, res)