diff --git a/requirements.txt b/requirements.txt index ad2badc6..5e9df7df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,7 +14,7 @@ click>=8.0.0 pip>=10.0.0 semver>=2.0.0,<3.0.0 pyjwt>=2.4.0 -black==22.3.0 +black==24.3.0 # project.optional-dependencies.test coverage diff --git a/rsconnect/actions_content.py b/rsconnect/actions_content.py index da6b2bc9..9533352b 100644 --- a/rsconnect/actions_content.py +++ b/rsconnect/actions_content.py @@ -1,6 +1,7 @@ """ Public API for administering content. """ + import json import time import traceback diff --git a/rsconnect/http_support.py b/rsconnect/http_support.py index 833d3d42..72e7a982 100644 --- a/rsconnect/http_support.py +++ b/rsconnect/http_support.py @@ -1,6 +1,7 @@ """ HTTP support wrappers and utility functions """ + import json import socket import ssl diff --git a/rsconnect/log.py b/rsconnect/log.py index 49676cf2..6e0841a0 100644 --- a/rsconnect/log.py +++ b/rsconnect/log.py @@ -1,6 +1,7 @@ """ Logging wrapper and shared instance """ + import json import logging from functools import partial, wraps diff --git a/rsconnect/metadata.py b/rsconnect/metadata.py index e4f81515..0e27435b 100644 --- a/rsconnect/metadata.py +++ b/rsconnect/metadata.py @@ -1,6 +1,7 @@ """ Metadata management objects and utility functions """ + import base64 import hashlib import json diff --git a/rsconnect/models.py b/rsconnect/models.py index cac1ebdc..1df62447 100644 --- a/rsconnect/models.py +++ b/rsconnect/models.py @@ -1,6 +1,7 @@ """ Data models """ + import os import re diff --git a/tests/test_main_content.py b/tests/test_main_content.py index 9ccb895f..666e91fb 100644 --- a/tests/test_main_content.py +++ b/tests/test_main_content.py @@ -21,6 +21,7 @@ # would be preferable but this is fine for now. TEMP_DIR = "rsconnect-build-test" + def register_uris(connect_server: str): def register_content_endpoints(i: int, guid: str): httpretty.register_uri( @@ -38,10 +39,10 @@ def register_content_endpoints(i: int, guid: str): httpretty.register_uri( httpretty.GET, f"{connect_server}/__api__/applications/{guid}/config", - body='{' + - f'"config_url": "{connect_server}/connect/#/apps/{guid}",' + - f'"logs_url": "{connect_server}/connect/#/apps/{guid}"' + - '}', + body="{" + + f'"config_url": "{connect_server}/connect/#/apps/{guid}",' + + f'"logs_url": "{connect_server}/connect/#/apps/{guid}"' + + "}", adding_headers={"Content-Type": "application/json"}, ) @@ -88,6 +89,7 @@ def register_content_endpoints(i: int, guid: str): register_content_endpoints(2, "ab497e4b-b706-4ae7-be49-228979a95eb4") register_content_endpoints(3, "cdfed1f7-0e09-40eb-996d-0ef77ea2d797") + class TestContentSubcommand(unittest.TestCase): @classmethod def tearDownClass(cls): @@ -120,9 +122,14 @@ def test_content_search(self): def test_content_describe(self): register_uris(self.connect_server) runner = CliRunner() - args = ["content", "describe", - "-g", "7d59c5c7-c4a7-4950-acc3-3943b7192bc4", - "-g", "ab497e4b-b706-4ae7-be49-228979a95eb4"] + args = [ + "content", + "describe", + "-g", + "7d59c5c7-c4a7-4950-acc3-3943b7192bc4", + "-g", + "ab497e4b-b706-4ae7-be49-228979a95eb4", + ] apply_common_args(args, server=self.connect_server, key=self.api_key) result = runner.invoke(cli, args) self.assertEqual(result.exit_code, 0, result.output) @@ -136,9 +143,14 @@ def test_content_describe(self): def test_content_download_bundle(self): register_uris(self.connect_server) runner = CliRunner() - args = ["content", "download-bundle", - "-g", "7d59c5c7-c4a7-4950-acc3-3943b7192bc4", - "-o", f"{TEMP_DIR}/bundle.tar.gz"] + args = [ + "content", + "download-bundle", + "-g", + "7d59c5c7-c4a7-4950-acc3-3943b7192bc4", + "-o", + f"{TEMP_DIR}/bundle.tar.gz", + ] apply_common_args(args, server=self.connect_server, key=self.api_key) result = runner.invoke(cli, args) self.assertEqual(result.exit_code, 0, result.output) @@ -156,9 +168,7 @@ def test_build(self): apply_common_args(args, server=self.connect_server, key=self.api_key) result = runner.invoke(cli, args) self.assertEqual(result.exit_code, 0, result.output) - self.assertTrue( - os.path.exists("%s/%s.json" % (TEMP_DIR, _normalize_server_url(self.connect_server))) - ) + self.assertTrue(os.path.exists("%s/%s.json" % (TEMP_DIR, _normalize_server_url(self.connect_server)))) # list the "tracked" content args = ["content", "build", "ls", "-g", "7d59c5c7-c4a7-4950-acc3-3943b7192bc4"] @@ -192,16 +202,21 @@ def test_build_retry(self): runner = CliRunner() # add 3 content items - args = ["content", "build", "add", - "-g", "7d59c5c7-c4a7-4950-acc3-3943b7192bc4", - "-g", "ab497e4b-b706-4ae7-be49-228979a95eb4", - "-g", "cdfed1f7-0e09-40eb-996d-0ef77ea2d797"] + args = [ + "content", + "build", + "add", + "-g", + "7d59c5c7-c4a7-4950-acc3-3943b7192bc4", + "-g", + "ab497e4b-b706-4ae7-be49-228979a95eb4", + "-g", + "cdfed1f7-0e09-40eb-996d-0ef77ea2d797", + ] apply_common_args(args, server=self.connect_server, key=self.api_key) result = runner.invoke(cli, args) self.assertEqual(result.exit_code, 0, result.output) - self.assertTrue( - os.path.exists("%s/%s.json" % (TEMP_DIR, _normalize_server_url(self.connect_server))) - ) + self.assertTrue(os.path.exists("%s/%s.json" % (TEMP_DIR, _normalize_server_url(self.connect_server)))) # change the content build status so it looks like it was interrupted/failed store = ContentBuildStore(RSConnectServer(self.connect_server, self.api_key)) @@ -216,10 +231,17 @@ def test_build_retry(self): self.assertEqual(result.exit_code, 0, result.output) # check that the build succeeded - args = ["content", "build", "ls", - "-g", "7d59c5c7-c4a7-4950-acc3-3943b7192bc4", - "-g", "ab497e4b-b706-4ae7-be49-228979a95eb4", - "-g", "cdfed1f7-0e09-40eb-996d-0ef77ea2d797"] + args = [ + "content", + "build", + "ls", + "-g", + "7d59c5c7-c4a7-4950-acc3-3943b7192bc4", + "-g", + "ab497e4b-b706-4ae7-be49-228979a95eb4", + "-g", + "cdfed1f7-0e09-40eb-996d-0ef77ea2d797", + ] apply_common_args(args, server=self.connect_server, key=self.api_key) result = runner.invoke(cli, args) self.assertEqual(result.exit_code, 0, result.output) diff --git a/tests/test_utils_package.py b/tests/test_utils_package.py index 4401ba14..1599b5be 100644 --- a/tests/test_utils_package.py +++ b/tests/test_utils_package.py @@ -1,6 +1,6 @@ from textwrap import dedent from rsconnect.utils_package import ( - _remove_leading_zeros, # pyright: ignore[reportPrivateUsage] + _remove_leading_zeros, # pyright: ignore[reportPrivateUsage] compare_package_versions, compare_semvers, parse_requirements_txt,