Skip to content

PILOT-2689: update the item_path in attribute attachment to item_id - #40

Merged
colorzzr merged 10 commits into
developfrom
PILOT-2689
Apr 13, 2023
Merged

PILOT-2689: update the item_path in attribute attachment to item_id#40
colorzzr merged 10 commits into
developfrom
PILOT-2689

Conversation

@colorzzr

@colorzzr colorzzr commented Apr 11, 2023

Copy link
Copy Markdown
Member

Summary

in the old logic, the attribute attachment will use the item name + path to identify the file. now with new pre-registration workflow, the item_id is pre-generated and will can use it for identification.

should merge with bff-cli api update: https://github.com/PilotDataPlatform/bff-cli/pull/45

JIRA Issues

PILOT-2689

Type of Change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update
  • Refactor or reformatting

Testing

Are there any new or updated tests to validate the changes?

  • Yes
  • No

Test Directions

update the test case for attribute attachment

@github-actions

github-actions Bot commented Apr 11, 2023

Copy link
Copy Markdown
Contributor

Coverage

Coverage Report
FileStmtsMissCoverMissing
__init__.py00100% 
pilotcli.py0290%5–6, 8–12, 15–19, 21–26, 29–37, 40–41
commands
   __init__.py00100% 
   container_registry.py0470%5, 7–10, 13–14, 16, 19–24, 27–33, 36–44, 47–53, 56–65
   dataset.py0860%5–6, 8–13, 16–17, 19, 22–25, 34–38, 41–48, 50–60, 63–67, 76–80, 83–91, 93–103, 106–109, 117–127, 129–130
   entry_point.py01020%5, 7, 9–10, 12–25, 28–39, 41–42, 45–51, 54–56, 59–63, 66–70, 73–77, 80–83, 86–88, 91–94, 97–114, 117, 119–121, 123–129, 131, 133–135, 137
   file.py07264%37, 142, 146, 165, 167, 169–172, 214, 216, 294–301, 303, 305, 319–325, 327, 354–361, 363, 397–403, 406–407, 409–410, 412–424, 426–428, 430, 433–435, 437–439
   hpc.py01230%5, 7–17, 20–21, 23, 26–29, 36–40, 42–45, 47–49, 51, 53–61, 64–72, 75–84, 87–100, 103–117, 120–132, 134–137, 140–153, 155–157
   kg_resource.py0130%5, 7–9, 12–13, 15, 18–23
   project.py0390%5–6, 8–11, 14–15, 17, 20–23, 31, 39, 48–52, 55–62, 64–74
   use_config.py0130%5, 7–9, 12–13, 15, 18–20, 27–29
   user.py0300%5, 7–9, 12–15, 18–19, 21, 42–48, 50, 52, 55–56, 58, 61–62, 71–75
configs
   __init__.py00100% 
   app_config.py00100% 
   user_config.py01579%49, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99, 103, 107, 111
models
   __init__.py00100% 
   convert_type.py080%5, 7, 10–15
   service_meta_class.py0280%9, 16
   singleton.py00100% 
   upload_form.py02860%12, 27, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99, 127, 140–146
resources
   custom_error.py00100% 
   custom_help.py00100% 
services
   __init__.py00100% 
services/crypto
   __init__.py00100% 
   crypto.py01940%35, 43–47, 49, 59–61, 69–75, 77, 79
services/dataset_manager
   dataset_detail.py02370%42, 44, 61, 68–73, 75–77, 79–88, 90
   dataset_list.py0683%37, 43–44, 46–48
services/file_manager
   __init__.py00100% 
   file_lineage.py0741%13–14, 23, 26–28, 30
   file_list.py04827%25–29, 31–34, 37, 45–60, 63–65, 69–75, 77–88
   file_manifests.py09525%19–24, 39–43, 47–48, 51–59, 61, 65–68, 71–75, 77, 81–82, 85–87, 91–92, 95–102, 104, 107, 109–110, 112–113, 115–118, 123–129, 134–139, 142–148, 150–152, 155–161, 163–165, 167–170
   file_tag.py03931%23, 27–31, 33, 36–48, 50–52, 54–55, 59–61, 64–68, 70–73, 75–76
services/file_manager/file_download
   __init__.py00100% 
   download_client.py018617%29–41, 44–45, 47–53, 56–57, 59–60, 69, 71–72, 76–79, 86, 91–94, 96, 98–105, 107, 109, 113–118, 120, 123–124, 127–129, 131–133, 135–136, 138–140, 144–152, 155–160, 164–173, 181–183, 185–192, 194–198, 203–213, 215–216, 219–220, 225–226, 230–235, 239–240, 243–245, 247–258, 262–265, 268–272, 274–276, 278–280, 282–283, 285, 289–291, 293–306, 308
   model.py0187%15
services/file_manager/file_upload
   __init__.py00100% 
   exception.py0175%10
   file_upload.py05860%33–40, 74, 104, 135–136, 140, 142, 144–146, 148, 150, 162–164, 166–168, 172, 174–178, 182, 190–194, 197, 201, 205–206, 208–209, 211–213, 215–220, 222–223, 225, 283, 286, 290
   models.py0591%23, 41, 147–149
   upload_client.py08655%102–105, 169–171, 184, 186–191, 193–197, 200, 202–214, 216, 258, 261, 265, 267–270, 274–279, 281, 285, 287, 289, 291, 309, 334–335, 340, 344–347, 351, 367–369, 371–373, 382, 387–388, 390, 392–393, 395–398, 400, 414–420, 430
   upload_validator.py02650%27–29, 32–34, 38–42, 45–54, 57–58, 63, 65, 67
services/hpc_manager
   hpc_auth.py00100% 
   hpc_cluster.py06832%34–37, 39–40, 42, 46–58, 60–64, 66–67, 72–74, 76–77, 81–93, 95–99, 101–102, 106–118, 120–121, 123
services/kg_manager
   kg_resource.py01185%33–34, 36–37, 65–66, 81–82, 87–89
services/logger_services
   __init__.py00100% 
   log_functions.py00100% 
services/output_manager
   __init__.py00100% 
   error_handler.py0198%104
   help_page.py01484%27–28, 36–37, 46–47, 59–60, 106–107, 116–117, 129–130
   message_handler.py06558%17–22, 27, 32, 37, 47, 52–54, 59, 64, 69, 74, 87, 92, 99, 104, 109, 113, 129, 144, 154, 164, 183, 187, 191, 205–216, 227–232, 234–240, 251, 255–256, 260–261, 263–264, 268, 272, 276
   response_handler.py0530%5–6, 9–12, 14–15, 17–21, 23–24, 26–34, 36–39, 42–45, 47–48, 50–56, 58–59, 61–63, 65–68, 71–73
services/project_manager
   __init__.py00100% 
   project.py0683%38, 44–45, 47–49
services/user_authentication
   __init__.py00100% 
   decorator.py01367%29, 32, 49–53, 55, 59–62, 64
   token_manager.py02157%25, 28–30, 33, 36–37, 40–41, 61, 65, 69–70, 76–77, 79–82, 84–85
   user_login_logout.py04365%40–43, 114, 118–124, 126–128, 132–133, 137–144, 146–148, 152–153, 160–165, 167–169, 173–176
   user_set_config.py0947%15–18, 22–24, 26–27
utils
   __init__.py00100% 
   aggregated.py04155%22, 46, 62–73, 75–77, 83–84, 86, 90–93, 95–96, 115–117, 119, 124–131, 133–135
TOTAL2966155247% 

@colorzzr
colorzzr requested a review from hugoantunes April 13, 2023 14:21

# finish the upload once all on success api return
# otherwise wait for 1 second and check again
for res in on_success_res:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use the .wait() to ensure that the task is finished.

Suggested change
for res in on_success_res:
[res.wait() for res in on_success_res]

num_of_file = len(upload_file_path)
logger.info(f'Upload Time: {time.time() - upload_start_time:.2f}s for {num_of_file:d} files')

return pre_upload_infos

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we use something else than the file.id? If not I would only return the id.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah will return item_id only

num_of_file = len(upload_file_path)
logger.info(f'Upload Time: {time.time() - upload_start_time:.2f}s for {num_of_file:d} files')

return pre_upload_infos

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that simple_upload you have to add the return typing.


# finish the upload once all on success api return
# otherwise wait for 1 second and check again
for res in on_success_res:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use the .wait() to ensure that the task is finished.

Comment thread tests/app/commands/test_file.py Outdated
from app.services.output_manager.error_handler import customized_error_msg


def test_file_upload_command_success(mocker, cli_runner):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need to mock all of this?

@colorzzr
colorzzr requested a review from hugoantunes April 13, 2023 15:40
@colorzzr
colorzzr merged commit 004a9d4 into develop Apr 13, 2023
@andricDu
andricDu deleted the PILOT-2689 branch May 16, 2023 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants