Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change to uploadMediaFiles to check if image currently exists #31210

Open
wants to merge 1 commit into
base: 2.4-develop
Choose a base branch
from

Conversation

Lunaetic
Copy link

@Lunaetic Lunaetic commented Dec 8, 2020

Description (*)

Refactors CatalogImportExport/Model/Import/Product->uploadMediaFiles to check if the file that was was not moved already exists on the filesystem. If the file does exist on the filesystem, no critical log entry is created, during the exception catch, since no error has actually occurred.

Related Pull Requests

Fixed Issues (if relevant)

  1. Errors in the exception.log file when importing products with images. #30978

Manual testing scenarios (*)

  1. Create Simple product with image
  2. Go to Admin -> System -> Export
  3. Select "Products" from the "Entity Type" dropdown and click on the Continue button
  4. Run php bin/magento cron:run and download the exported file
  5. Go to Admin -> System -> Import
  6. Select "Products" from the "Entity Type" dropdown
  7. Select "Add/Update" from the "Import Behavior" dropdown
  8. Click on the "Choose File" button
  9. Select the file saved in step 4
  10. Click on the "Check Data" button
  11. Assert that 'File is valid! To start import process press "Import" button' text appears, and click the "Import" button
  12. Assert that no error is shown on the response page
  13. Assert that var/log/exception.log does not contain an entry stating that the existing image failed to be found
  14. Open the file in step 4
  15. Change the filename of the "base_image column", by adding some text before the '.' and the extension
  16. Save the file
  17. Go to Admin -> System -> Import
  18. Select "Products" from the "Entity Type" dropdown
  19. Select "Add/Update" from the "Import Behavior" dropdown
  20. Click on the "Choose File" button
  21. Select the file saved in step 4
  22. Click on the "Check Data" button
  23. Assert that 'File is valid! To start import process press "Import" button' text appears, and click the "Import" button
  24. Assert that the error "Imported resource (image) could not be downloaded from external resource due to timeout or access permissions in row(s): 1" appears on the result page
  25. Assert that var/log/exception.log contains an entry stating that the non-existing image failed to be found

Questions or comments

Contribution checklist (*)

  • Pull request has a meaningful description of its purpose
  • All commits are accompanied by meaningful commit messages
  • All new or changed code is covered with unit/integration tests (if applicable)
  • All automated tests passed successfully (all builds are green)

…roduct->uploadMediaFiles(…) to only log an error if the file doesn't already exist on the system

Update app/code/Magento/CatalogImportExport/Test/Unit/Model/Import/ProductTest->testUploadMediaFiles(…) to account for the above refactoring
@m2-assistant
Copy link

m2-assistant bot commented Dec 8, 2020

Hi @Lunaetic. Thank you for your contribution
Here is some useful tips how you can test your changes using Magento test environment.
Add the comment under your pull request to deploy test or vanilla Magento instance:

  • @magento give me test instance - deploy test instance based on PR changes
  • @magento give me 2.4-develop instance - deploy vanilla Magento instance

❗ Automated tests can be triggered manually with an appropriate comment:

  • @magento run all tests - run or re-run all required tests against the PR changes
  • @magento run <test-build(s)> - run or re-run specific test build(s)
    For example: @magento run Unit Tests

<test-build(s)> is a comma-separated list of build names. Allowed build names are:

  1. Database Compare
  2. Functional Tests CE
  3. Functional Tests EE,
  4. Functional Tests B2B
  5. Integration Tests
  6. Magento Health Index
  7. Sample Data Tests CE
  8. Sample Data Tests EE
  9. Sample Data Tests B2B
  10. Static Tests
  11. Unit Tests
  12. WebAPI Tests

You can find more information about the builds here

ℹ️ Please run only needed test builds instead of all when developing. Please run all test builds before sending your PR for review.

For more details, please, review the Magento Contributor Guide documentation.

⚠️ According to the Magento Contribution requirements, all Pull Requests must go through the Community Contributions Triage process. Community Contributions Triage is a public meeting.

🕙 You can find the schedule on the Magento Community Calendar page.

📞 The triage of Pull Requests happens in the queue order. If you want to speed up the delivery of your contribution, please join the Community Contributions Triage session to discuss the appropriate ticket.

🎥 You can find the recording of the previous Community Contributions Triage on the Magento Youtube Channel

✏️ Feel free to post questions/proposals/feedback related to the Community Contributions Triage process to the corresponding Slack Channel

@m2-community-project m2-community-project bot added Priority: P3 May be fixed according to the position in the backlog. Severity: S3 Affects non-critical data or functionality and does not force users to employ a workaround. labels Dec 8, 2020
@m2-community-project m2-community-project bot added this to Pending Review in Pull Requests Dashboard Dec 8, 2020
@Lunaetic
Copy link
Author

@magento run all tests

@Lunaetic Lunaetic changed the title Change to uploadMediFiles to check if image currently exists Change to uploadMediaFiles to check if image currently exists Dec 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: CatalogImportExport Partner: Blue Acorn iCi partners-contribution Pull Request is created by Magento Partner Priority: P3 May be fixed according to the position in the backlog. Progress: pending review Release Line: 2.4 Severity: S3 Affects non-critical data or functionality and does not force users to employ a workaround.
Projects
Pull Requests Dashboard
  
Pending Review
Development

Successfully merging this pull request may close these issues.

None yet

2 participants