Blame tools/extra/packager/test/test_metadata.py

Packit 534379
import unittest
Packit 534379
import packager
Packit 534379
import filecmp
Packit 534379
import metadata.constants
Packit 534379
import struct
Packit 534379
import os
Packit 534379
import json
Packit 534379
from collections import OrderedDict
Packit 534379
Packit 534379
filepath = os.path.dirname(os.path.realpath(__file__))
Packit 534379
Packit 534379
afu_json = (
Packit 534379
    '{"version": 1, "afu-image": {"clock-frequency-low": 50, '
Packit 534379
    '"slot-type-uuid": "166b785b-0a5d-411a-bc2d-5b3d17c479a8"'
Packit 534379
    ', "clock-frequency-high": 200, "accelerator-clusters": '
Packit 534379
    '[{"total-contexts": 1, "accelerator-type-uuid": '
Packit 534379
    '"c000c966-0d82-4272-9aef-fe5f84570612"'
Packit 534379
    ', "name": "nlb_400"}], "power": 10}}')
Packit 534379
Packit 534379
expected_metadata = ("XeonFPGA" + chr(0xb7) + "GBSv001" +
Packit 534379
                     struct.pack('
Packit 534379
                     afu_json)
Packit 534379
Packit 534379
expected_no_json_metadata = ("XeonFPGA" + chr(0xb7) + "GBSv001" +
Packit 534379
                             struct.pack('
Packit 534379
Packit 534379
Packit 534379
""" Unit tests for the metadata.py file
Packit 534379
"""
Packit 534379
Packit 534379
Packit 534379
class TestMetadata(unittest.TestCase):
Packit 534379
Packit 534379
    def setUp(self):
Packit 534379
        self.afu_json = json.loads(afu_json, object_pairs_hook=OrderedDict)
Packit 534379
Packit 534379
    # compare generated and expected metadata
Packit 534379
    def test_get_metadata(self):
Packit 534379
        self.assertTrue(
Packit 534379
            list(expected_metadata) == metadata.metadata.get_metadata(
Packit 534379
                self.afu_json))
Packit 534379
Packit 534379
    # test the case where there is no JSON
Packit 534379
    def test_no_json(self):
Packit 534379
        self.assertTrue(list(expected_no_json_metadata) ==
Packit 534379
                        metadata.metadata.get_metadata({}))
Packit 534379
Packit 534379
Packit 534379
if __name__ == '__main__':
Packit 534379
    unittest.main()