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