from __future__ import absolute_import
import os
import unittest

import mozharness.base.python as python

here = os.path.dirname(os.path.abspath(__file__))


class TestVirtualenvMixin(unittest.TestCase):
    def test_package_versions(self):
        example = os.path.join(here, "pip-freeze.example.txt")
        output = open(example).read()
        mixin = python.VirtualenvMixin()
        packages = mixin.package_versions(output)

        # from the file
        expected = {
            "MakeItSo": "0.2.6",
            "PyYAML": "3.10",
            "Tempita": "0.5.1",
            "WebOb": "1.2b3",
            "coverage": "3.5.1",
            "logilab-astng": "0.23.1",
            "logilab-common": "0.57.1",
            "mozdevice": "0.2",
            "mozhttpd": "0.3",
            "mozinfo": "0.3.3",
            "nose": "1.1.2",
            "pyflakes": "0.5.0",
            "pylint": "0.25.1",
            "virtualenv": "1.7.1.2",
            "wsgiref": "0.1.2",
        }

        self.assertEqual(packages, expected)


if __name__ == "__main__":
    unittest.main()
