blob: 697a98329ae1125fd2e76cbe2bb294170e3c1833 [file] [log] [blame]
#!/usr/bin/env python2.7
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import frontend
import os
import tempfile
import unittest
class TestFrontend(unittest.TestCase):
def test_load_metadata_success(self):
tf = tempfile.NamedTemporaryFile()
tf.write(
'{"parts": [{"meta": "tools/x64/zbi-meta.json", '
'"type": "host_tool"}, {"meta": "tools/x64/zxdb-meta.json", '
'"type": "host_tool"}, {"meta": "tools/zbi-meta.json", '
'"type": "host_tool"}], "arch": {"host": "x86_64-linux-gn", '
'"target": ["arm64", "x64"]}, "id": "0.20200313.2.1", '
'"schema_version": "1"}')
tf.flush()
metadata = frontend.load_metadata(tf.name)
self.assertEqual(3, len(metadata['parts']))
self.assertEqual('x86_64-linux-gn', metadata['arch']['host'])
self.assertEqual('0.20200313.2.1', metadata['id'])
def test_load_metadata_fail(self):
tf = tempfile.NamedTemporaryFile()
tf.write('invalid json')
self.assertFalse(frontend.load_metadata(tf.name))
tf.close() # temp file is removed when closed
self.assertFalse(frontend.load_metadata(tf.name))
if __name__ == '__main__':
unittest.main()