|
8 | 8 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
9 | 9 | # See the License for the specific language governing permissions and
|
10 | 10 | # limitations under the License.
|
11 |
| -from unittest.mock import patch, mock_open, call |
| 11 | +from unittest.mock import patch, mock_open, call, MagicMock |
12 | 12 |
|
13 | 13 | from tests.spdx.fixtures import package_fixture
|
14 | 14 | from spdx.writer.tagvalue.package_writer import write_package
|
|
17 | 17 | def test_package_writer():
|
18 | 18 | package = package_fixture()
|
19 | 19 |
|
20 |
| - m = mock_open() |
21 |
| - with patch('{}.open'.format(__name__), m, create=True): |
22 |
| - with open('foo', 'w') as h: |
23 |
| - write_package(package, h) |
| 20 | + mock: MagicMock = mock_open() |
| 21 | + with patch(f"{__name__}.open", mock, create=True): |
| 22 | + with open("foo", "w") as file: |
| 23 | + write_package(package, file) |
24 | 24 |
|
25 |
| - m.assert_called_once_with('foo', 'w') |
26 |
| - handle = m() |
| 25 | + mock.assert_called_once_with("foo", "w") |
| 26 | + handle = mock() |
27 | 27 | handle.write.assert_has_calls(
|
28 |
| - [call('## Package Information\n'), |
29 |
| - call('PackageName: packageName\n'), |
30 |
| - call('SPDXID: SPDXRef-Package\n'), |
31 |
| - call('PackageVersion: 12.2\n'), |
32 |
| - call('PackageFileName: ./packageFileName\n'), |
33 |
| - call('PackageSupplier: Person: supplierName (some@mail.com)\n'), |
34 |
| - call('PackageOriginator: Person: originatorName (some@mail.com)\n'), |
35 |
| - call('PackageDownloadLocation: https://download.com\n'), |
36 |
| - call('FilesAnalyzed: True\n'), |
37 |
| - call('PackageVerificationCode: 85ed0817af83a24ad8da68c2b5094de69833983c (excludes: ./exclude.py)\n'), |
38 |
| - call('PackageChecksum: SHA1: 71c4025dd9897b364f3ebbb42c484ff43d00791c\n'), |
39 |
| - call('PackageHomePage: https://homepage.com\n'), |
40 |
| - call('PackageSourceInfo: sourceInfo\n'), |
41 |
| - call('PackageLicenseConcluded: MIT AND GPL-2.0-only\n'), |
42 |
| - call('PackageLicenseInfoFromFiles: MIT\n'), |
43 |
| - call('PackageLicenseInfoFromFiles: GPL-2.0-only\n'), |
44 |
| - call('PackageLicenseDeclared: MIT AND GPL-2.0-only\n'), |
45 |
| - call('PackageLicenseComments: packageLicenseComment\n'), |
46 |
| - call('PackageCopyrightText: packageCopyrightText\n'), |
47 |
| - call('PackageSummary: packageSummary\n'), |
48 |
| - call('PackageDescription: packageDescription\n'), |
49 |
| - call('PackageComment: packageComment\n'), |
50 |
| - call('ExternalRef: PACKAGE-MANAGER maven-central org.apache.tomcat:tomcat:9.0.0.M4\n'), |
51 |
| - call('ExternalRefComment: externalPackageRefComment\n'), |
52 |
| - call('PackageAttributionText: packageAttributionText\n'), |
53 |
| - call('PrimaryPackagePurpose: SOURCE\n'), |
54 |
| - call('ReleaseDate: 2022-12-01T00:00:00Z\n'), |
55 |
| - call('BuiltDate: 2022-12-02T00:00:00Z\n'), |
56 |
| - call('ValidUntilDate: 2022-12-03T00:00:00Z\n')]) |
| 28 | + [call("## Package Information\n"), |
| 29 | + call("PackageName: packageName\n"), |
| 30 | + call("SPDXID: SPDXRef-Package\n"), |
| 31 | + call("PackageVersion: 12.2\n"), |
| 32 | + call("PackageFileName: ./packageFileName\n"), |
| 33 | + call("PackageSupplier: Person: supplierName (some@mail.com)\n"), |
| 34 | + call("PackageOriginator: Person: originatorName (some@mail.com)\n"), |
| 35 | + call("PackageDownloadLocation: https://download.com\n"), |
| 36 | + call("FilesAnalyzed: True\n"), |
| 37 | + call("PackageVerificationCode: 85ed0817af83a24ad8da68c2b5094de69833983c (excludes: ./exclude.py)\n"), |
| 38 | + call("PackageChecksum: SHA1: 71c4025dd9897b364f3ebbb42c484ff43d00791c\n"), |
| 39 | + call("PackageHomePage: https://homepage.com\n"), |
| 40 | + call("PackageSourceInfo: sourceInfo\n"), |
| 41 | + call("PackageLicenseConcluded: MIT AND GPL-2.0-only\n"), |
| 42 | + call("PackageLicenseInfoFromFiles: MIT\n"), |
| 43 | + call("PackageLicenseInfoFromFiles: GPL-2.0-only\n"), |
| 44 | + call("PackageLicenseDeclared: MIT AND GPL-2.0-only\n"), |
| 45 | + call("PackageLicenseComments: packageLicenseComment\n"), |
| 46 | + call("PackageCopyrightText: packageCopyrightText\n"), |
| 47 | + call("PackageSummary: packageSummary\n"), |
| 48 | + call("PackageDescription: packageDescription\n"), |
| 49 | + call("PackageComment: packageComment\n"), |
| 50 | + call("ExternalRef: PACKAGE-MANAGER maven-central org.apache.tomcat:tomcat:9.0.0.M4\n"), |
| 51 | + call("ExternalRefComment: externalPackageRefComment\n"), |
| 52 | + call("PackageAttributionText: packageAttributionText\n"), |
| 53 | + call("PrimaryPackagePurpose: SOURCE\n"), |
| 54 | + call("ReleaseDate: 2022-12-01T00:00:00Z\n"), |
| 55 | + call("BuiltDate: 2022-12-02T00:00:00Z\n"), |
| 56 | + call("ValidUntilDate: 2022-12-03T00:00:00Z\n")]) |
0 commit comments