def test_deploy_nexus_snapshot(datafiles, responses): """Test deploy_nexus with snapshot. This test will send a directory of files to deploy_nexus, which should call requests.post once for every valid (=3) file. There are two files that should not be uploaded. """ os.chdir(str(datafiles)) nexus_url = 'http://successfull.nexus.deploy/nexus/content/repositories/releases' deploy_dir = 'm2repo' # Test success - Snapshot snapshot = True test_files = ['4.0.3-SNAPSHOT/odlparent-lite-4.0.3-20181120.113136-1.pom', '4.0.3-SNAPSHOT/odlparent-lite-4.0.3-20181120.113136-1.pom.sha1', '4.0.3-SNAPSHOT/odlparent-lite-4.0.3-20181120.113136-1.pom.md5', '4.0.3-SNAPSHOT/maven-metadata.xml', '4.0.3-SNAPSHOT/maven-metadata.xml.md5', '4.0.3-SNAPSHOT/maven-metadata.xml.sha1', 'maven-metadata.xml', 'maven-metadata.xml.md5', 'maven-metadata.xml.sha1'] for file in test_files: success_upload_url = '{}/{}'.format(nexus_url, file) responses.add(responses.POST, success_upload_url, status=201) deploy_sys.deploy_nexus(nexus_url, deploy_dir, snapshot)
def nexus(ctx, nexus_repo_url, deploy_dir, snapshot): """Deploy a Maven repository to a specified Nexus repository. This script takes a local Maven repository and deploys it to a Nexus repository. Example Repository: https://nexus.example.org/content/repositories/release """ log.debug("nexus_repo_url={}, deploy_dir={}, snapshot={}".format(nexus_repo_url, deploy_dir, snapshot)) try: deploy_sys.deploy_nexus(nexus_repo_url, deploy_dir, snapshot) except IOError as e: deploy_sys._log_error_and_exit(str(e)) except HTTPError as e: deploy_sys._log_error_and_exit(str(e))