blob: 3cc0ba5840e46b8e1ab26d5813b17a4796ce0920 [file] [log] [blame]
Anthonios Partheniou6a884222021-05-10 22:14:57 -04001# Copyright 2021 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15"""BuildPrBody tests."""
16
17__author__ = "partheniou@google.com (Anthonios Partheniou)"
18
19import pathlib
20import shutil
21import unittest
22
23from buildprbody import BuildPrBody
24from changesummary import ChangeType
25
26SCRIPTS_DIR = pathlib.Path(__file__).parent.resolve()
27CHANGE_SUMMARY_DIR = SCRIPTS_DIR / "test_resources" / "buildprbody_resources"
28
29EXPECTED_PR_BODY_OUTPUT = """\
30## Deleted keys were detected in the following stable discovery artifacts:
31bigquery v2 https://github.com/googleapis/google-api-python-client/commit/123
32cloudtasks v2 https://github.com/googleapis/google-api-python-client/commit/456
33
34## Discovery Artifact Change Summary:
35feat(bigquery): update the api https://github.com/googleapis/google-api-python-client/commit/123
36feat(cloudtasks): update the api https://github.com/googleapis/google-api-python-client/commit/456
37feat(drive): update the api https://github.com/googleapis/google-api-python-client/commit/789
38"""
39
40
41class TestBuildPrBody(unittest.TestCase):
42 def setUp(self):
43 self.buildprbody = BuildPrBody(change_summary_directory=CHANGE_SUMMARY_DIR)
44
45 def test_get_commit_uri_returns_correct_string(self):
46 base_uri = "https://github.com/googleapis/google-api-python-client/commit/"
47
48 expected_uri = "".join([base_uri, "123"])
49 result = self.buildprbody.get_commit_uri(name="bigquery")
50 self.assertEqual(result, expected_uri)
51
52 expected_uri = "".join([base_uri, "456"])
53 result = self.buildprbody.get_commit_uri(name="cloudtasks")
54 self.assertEqual(result, expected_uri)
55
56 expected_uri = "".join([base_uri, "789"])
57 result = self.buildprbody.get_commit_uri(name="drive")
58 self.assertEqual(result, expected_uri)
59
60 def test_generate_pr_body(self):
61 self.buildprbody.generate_pr_body()
62
63 with open(CHANGE_SUMMARY_DIR / "allapis.summary") as f:
64 pr_body = "".join(f.readlines())
65 self.assertEqual(pr_body, EXPECTED_PR_BODY_OUTPUT)