xref: /aosp_15_r20/external/bazelbuild-rules_license/tests/hello_licenses_test.py (revision f578df4fd057ffe2023728444759535685631548)
1*f578df4fSJingwen Chen"""Tests for google3.tools.build_defs.license.tests.hello_licenses."""
2*f578df4fSJingwen Chen
3*f578df4fSJingwen Chenimport codecs
4*f578df4fSJingwen Chenimport os
5*f578df4fSJingwen Chen
6*f578df4fSJingwen Chenimport unittest
7*f578df4fSJingwen Chenfrom tests import license_test_utils
8*f578df4fSJingwen Chen
9*f578df4fSJingwen Chen
10*f578df4fSJingwen Chenclass HelloLicensesTest(unittest.TestCase):
11*f578df4fSJingwen Chen
12*f578df4fSJingwen Chen  def test_has_expected_licenses(self):
13*f578df4fSJingwen Chen    licenses_info = license_test_utils.load_licenses_info(
14*f578df4fSJingwen Chen        os.path.join(os.path.dirname(__file__), "hello_licenses.json"))
15*f578df4fSJingwen Chen
16*f578df4fSJingwen Chen    expected = {
17*f578df4fSJingwen Chen        "/tests:hello": [
18*f578df4fSJingwen Chen            "/tests:license",
19*f578df4fSJingwen Chen        ],
20*f578df4fSJingwen Chen        "/tests:c_bar": [
21*f578df4fSJingwen Chen            "/tests:license",
22*f578df4fSJingwen Chen            "/tests:license_for_extra_feature",
23*f578df4fSJingwen Chen        ],
24*f578df4fSJingwen Chen    }
25*f578df4fSJingwen Chen    license_test_utils.check_licenses_of_dependencies(
26*f578df4fSJingwen Chen        self, licenses_info, expected)
27*f578df4fSJingwen Chen
28*f578df4fSJingwen Chen  def test_has_expected_copyrights(self):
29*f578df4fSJingwen Chen    copyrights_file = os.path.join(os.path.dirname(__file__),
30*f578df4fSJingwen Chen                                   "hello_cc_copyrights.txt")
31*f578df4fSJingwen Chen    with codecs.open(copyrights_file, encoding="utf-8") as inp:
32*f578df4fSJingwen Chen      copyrights = inp.read().split('\n')
33*f578df4fSJingwen Chen      self.assertIn(
34*f578df4fSJingwen Chen          "package(A test case package/0.0.4), copyright(Copyright © 2019 Uncle Toasty)",
35*f578df4fSJingwen Chen          copyrights)
36*f578df4fSJingwen Chen      self.assertIn(
37*f578df4fSJingwen Chen          "package(A test case package), copyright()",
38*f578df4fSJingwen Chen          copyrights)
39*f578df4fSJingwen Chen
40*f578df4fSJingwen Chen
41*f578df4fSJingwen Chenif __name__ == "__main__":
42*f578df4fSJingwen Chen  unittest.main()
43