Example #1
0
 def update(realized_repository):
     upload_ret_code = 0
     upload_ok = True
     if not kwds["skip_upload"]:
         upload_ret_code = shed.upload_repository(
             ctx, realized_repository, **kwds
         )
         upload_ok = not upload_ret_code
     if upload_ret_code == 2:
         error("Failed to update repository it does not exist "
               "in target ToolShed.")
         return upload_ret_code
     repo_id = realized_repository.find_repository_id(ctx, tsi)
     metadata_ok = True
     if not kwds["skip_metadata"]:
         metadata_ok = realized_repository.update(ctx, tsi, repo_id)
     if metadata_ok:
         info("Repository metadata updated.")
     else:
         error("Failed to update repository metadata.")
     if metadata_ok and upload_ok:
         return 0
     else:
         error("Failed to update a repository.")
         return 1
Example #2
0
 def create(realized_repository):
     repo_id = realized_repository.find_repository_id(ctx, shed_context)
     if repo_id is None:
         if realized_repository.create(ctx, shed_context):
             info("Repository created")
             if not kwds["skip_upload"]:
                 return shed.upload_repository(ctx, realized_repository,
                                               **kwds)
             else:
                 return 0
         else:
             return 2
     else:
         return 1
Example #3
0
 def create(realized_repository):
     repo_id = realized_repository.find_repository_id(ctx, shed_context)
     if repo_id is None:
         if realized_repository.create(ctx, shed_context):
             info("Repository created")
             if not kwds["skip_upload"]:
                 return shed.upload_repository(
                     ctx, realized_repository, **kwds
                 )
             else:
                 return 0
         else:
             return 2
     else:
         return 1
Example #4
0
 def update(realized_repository):
     collected_data['results']['total'] += 1
     upload_ret_code = 0
     upload_ok = True
     if not kwds["skip_upload"]:
         upload_ret_code = shed.upload_repository(
             ctx, realized_repository, **kwds
         )
         upload_ok = not upload_ret_code
     if upload_ret_code == 2:
         collected_data['results']['failures'] += 1
         collected_data['tests'].append({
             'classname': realized_repository.name,
             'result': 2,
         })
         error("Failed to update repository it does not exist "
               "in target ToolShed.")
         return upload_ret_code
     repo_id = realized_repository.find_repository_id(ctx, shed_context)
     metadata_ok = True
     if not kwds["skip_metadata"]:
         metadata_ok = realized_repository.update(ctx, shed_context, repo_id)
     if metadata_ok:
         info("Repository metadata updated.")
     else:
         error("Failed to update repository metadata.")
     if metadata_ok and upload_ok:
         collected_data['tests'].append({
             'classname': realized_repository.name,
             'result': 0,
         })
         return 0
     elif upload_ok:
         collected_data['results']['skips'] += 1
         collected_data['tests'].append({
             'classname': realized_repository.name,
             'result': 3,
         })
         error("Repo updated but metadata was not.")
         return 1
     else:
         collected_data['results']['failures'] += 1
         collected_data['tests'].append({
             'classname': realized_repository.name,
             'result': 1,
         })
         error("Failed to update a repository.")
         return 1
Example #5
0
 def update(realized_repository):
     collected_data['results']['total'] += 1
     upload_ret_code = 0
     upload_ok = True
     if not kwds["skip_upload"]:
         upload_ret_code = shed.upload_repository(ctx, realized_repository,
                                                  **kwds)
         upload_ok = not upload_ret_code
     if upload_ret_code == 2:
         collected_data['results']['failures'] += 1
         collected_data['tests'].append({
             'classname': realized_repository.name,
             'result': 2,
         })
         error("Failed to update repository it does not exist "
               "in target ToolShed.")
         return upload_ret_code
     repo_id = realized_repository.find_repository_id(ctx, shed_context)
     metadata_ok = True
     if not kwds["skip_metadata"]:
         metadata_ok = realized_repository.update(ctx, shed_context,
                                                  repo_id)
     if metadata_ok:
         info("Repository metadata updated.")
     else:
         error("Failed to update repository metadata.")
     if metadata_ok and upload_ok:
         collected_data['tests'].append({
             'classname': realized_repository.name,
             'result': 0,
         })
         return 0
     elif upload_ok:
         collected_data['results']['skips'] += 1
         collected_data['tests'].append({
             'classname': realized_repository.name,
             'result': 3,
         })
         error("Repo updated but metadata was not.")
         return 1
     else:
         collected_data['results']['failures'] += 1
         collected_data['tests'].append({
             'classname': realized_repository.name,
             'result': 1,
         })
         error("Failed to update a repository.")
         return 1
Example #6
0
 def update(realized_repository):
     upload_ok = True
     if not kwds["skip_upload"]:
         upload_ok = not shed.upload_repository(ctx, realized_repository, **
                                                kwds)
     repo_id = realized_repository.find_repository_id(ctx, tsi)
     metadata_ok = True
     if not kwds["skip_metadata"]:
         metadata_ok = realized_repository.update(ctx, tsi, repo_id)
     if metadata_ok:
         info("Repository metadata updated.")
     else:
         error("Failed to update repository metadata.")
     if metadata_ok and upload_ok:
         return 0
     else:
         error("Failed to update a repository.")
         return 1
Example #7
0
 def update(realized_repository):
     upload_ok = True
     if not kwds["skip_upload"]:
         upload_ok = not shed.upload_repository(
             ctx, realized_repository, **kwds
         )
     repo_id = realized_repository.find_repository_id(ctx, tsi)
     metadata_ok = True
     if not kwds["skip_metadata"]:
         metadata_ok = realized_repository.update(ctx, tsi, repo_id)
     if metadata_ok:
         info("Repository metadata updated.")
     else:
         error("Failed to update repository metadata.")
     if metadata_ok and upload_ok:
         return 0
     else:
         error("Failed to update a repository.")
         return 1
Example #8
0
 def upload(realized_repository):
     return shed.upload_repository(ctx, realized_repository, **kwds)
Example #9
0
    def update(realized_repository):
        collected_data['results']['total'] += 1
        skip_upload = kwds["skip_upload"]
        skip_metadata = kwds["skip_metadata"]
        upload_ret_code = 0
        upload_ok = True

        captured_io = {}
        if not skip_upload:
            with captured_io_for_xunit(kwds, captured_io):
                upload_ret_code = shed.upload_repository(
                    ctx, realized_repository, **kwds
                )
                upload_ok = not upload_ret_code

        repo_result = {
            'classname': realized_repository.name,
            'time': captured_io.get("time", None),
            'name': 'shed-update',
            'stdout': captured_io.get("stdout", None),
            'stderr': captured_io.get("stderr", None),
        }

        # Now that we've uploaded (or skipped appropriately), collect results.
        if upload_ret_code == 2:
            collected_data['results']['failures'] += 1
            repo_result.update({
                'errorType': 'FailedUpdate',
                'errorMessage': 'Failed to update repository as it does not exist in target ToolShed',
            })
            collected_data['tests'].append(repo_result)
            error("Failed to update repository it does not exist "
                  "in target ToolShed.")
            return upload_ret_code

        exit = 0
        metadata_ok = True
        if not skip_metadata:
            repo_id = shed.handle_force_create(realized_repository, ctx, shed_context, **kwds)
            # failing to create the repo, give up
            if repo_id is None:
                exit = shed.report_non_existent_repository(realized_repository)
                metadata_ok = False
            else:
                metadata_ok = realized_repository.update(ctx, shed_context, repo_id)
        else:
            info("Skipping repository metadata update.")

        if not metadata_ok:
            error("Failed to update repository metadata.")

        if metadata_ok and upload_ok:
            pass
        elif upload_ok:
            collected_data['results']['skips'] += 1
            repo_result.update({
                'errorType': 'FailedMetadata',
                'errorMessage': 'Failed to update repository metadata',
            })
            if not skip_upload:
                error("Repo updated but metadata was not.")
            exit = exit or 1
        else:
            collected_data['results']['failures'] += 1
            repo_result.update({
                'errorType': 'FailedUpdate',
                'errorMessage': 'Failed to update repository',
            })
            error("Failed to update a repository.")
            exit = exit or 1
        collected_data['tests'].append(repo_result)
        return exit
Example #10
0
 def upload(realized_repository):
     return shed.upload_repository(ctx, realized_repository, **kwds)
Example #11
0
    def update(realized_repository):
        collected_data['results']['total'] += 1
        skip_upload = kwds["skip_upload"]
        skip_metadata = kwds["skip_metadata"]
        upload_ret_code = 0
        upload_ok = True

        captured_io = {}
        if not skip_upload:
            with captured_io_for_xunit(kwds, captured_io):
                upload_ret_code = shed.upload_repository(
                    ctx, realized_repository, **kwds)
                upload_ok = not upload_ret_code

        repo_result = {
            'classname': realized_repository.name,
            'time': captured_io.get("time", None),
            'name': 'shed-update',
            'stdout': captured_io.get("stdout", None),
            'stderr': captured_io.get("stderr", None),
        }

        # Now that we've uploaded (or skipped appropriately), collect results.
        if upload_ret_code == 2:
            collected_data['results']['failures'] += 1
            repo_result.update({
                'errorType':
                'FailedUpdate',
                'errorMessage':
                'Failed to update repository as it does not exist in target ToolShed',
            })
            collected_data['tests'].append(repo_result)
            error("Failed to update repository it does not exist "
                  "in target ToolShed.")
            return upload_ret_code

        exit = 0
        metadata_ok = True
        if not skip_metadata:
            repo_id = shed.handle_force_create(realized_repository, ctx,
                                               shed_context, **kwds)
            # failing to create the repo, give up
            if repo_id is None:
                exit = shed.report_non_existent_repository(realized_repository)
                metadata_ok = False
            else:
                metadata_ok = realized_repository.update(
                    ctx, shed_context, repo_id)
        else:
            info("Skipping repository metadata update.")

        if not metadata_ok:
            error("Failed to update repository metadata.")

        if metadata_ok and upload_ok:
            pass
        elif upload_ok:
            collected_data['results']['skips'] += 1
            repo_result.update({
                'errorType':
                'FailedMetadata',
                'errorMessage':
                'Failed to update repository metadata',
            })
            if not skip_upload:
                error("Repo updated but metadata was not.")
            exit = exit or 1
        else:
            collected_data['results']['failures'] += 1
            repo_result.update({
                'errorType': 'FailedUpdate',
                'errorMessage': 'Failed to update repository',
            })
            error("Failed to update a repository.")
            exit = exit or 1
        collected_data['tests'].append(repo_result)
        return exit
Example #12
0
    def update(realized_repository):
        collected_data['results']['total'] += 1
        upload_ret_code = 0
        upload_ok = True

        captured_io = {}
        if not kwds["skip_upload"]:
            with captured_io_for_xunit(kwds, captured_io):
                upload_ret_code = shed.upload_repository(
                    ctx, realized_repository, **kwds
                )
                upload_ok = not upload_ret_code

        # Now that we've uploaded (or skipped appropriately), collect results.
        if upload_ret_code == 2:
            collected_data['results']['failures'] += 1
            collected_data['tests'].append({
                'classname': realized_repository.name,
                'errorType': 'FailedUpdate',
                'errorMessage': 'Failed to update repository as it does not exist in target ToolShed',
                'time': captured_io["time"],
                'name': 'shed-update',
                'stdout': captured_io["stdout"],
                'stderr': captured_io["stderr"],
            })
            error("Failed to update repository it does not exist "
                  "in target ToolShed.")
            return upload_ret_code
        repo_id = realized_repository.find_repository_id(ctx, shed_context)
        metadata_ok = True
        if not kwds["skip_metadata"]:
            metadata_ok = realized_repository.update(ctx, shed_context, repo_id)
        if metadata_ok:
            info("Repository metadata updated.")
        else:
            error("Failed to update repository metadata.")

        if metadata_ok and upload_ok:
            collected_data['tests'].append({
                'classname': realized_repository.name,
                'time': captured_io["time"],
                'name': 'shed-update',
                'stdout': captured_io["stdout"],
                'stderr': captured_io["stderr"],
            })
            return 0
        elif upload_ok:
            collected_data['results']['skips'] += 1
            collected_data['tests'].append({
                'classname': realized_repository.name,
                'errorType': 'FailedMetadata',
                'errorMessage': 'Failed to update repository metadata',
                'time': captured_io["time"],
                'name': 'shed-update',
                'stdout': captured_io["stdout"],
                'stderr': captured_io["stderr"],
            })
            error("Repo updated but metadata was not.")
            return 1
        else:
            collected_data['results']['failures'] += 1
            collected_data['tests'].append({
                'classname': realized_repository.name,
                'errorType': 'FailedUpdate',
                'errorMessage': 'Failed to update repository',
                'time': captured_io["time"],
                'name': 'shed-update',
                'stdout': captured_io["stdout"],
                'stderr': captured_io["stderr"],
            })
            error("Failed to update a repository.")
            return 1