Project

Profile

Help

Test #4197

Test upload of large artifacts

Added by kersom 10 months ago. Updated 2 months ago.

Status:
NEW
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Version:
Platform Release:
Tags:
Sprint:

Description

  • Evaluate add new pulp-fixtures to fit this case needs.
  • Create files with sizes bigger than 1MB.
  • Upload file to Pulp.
  • Assert not exception was raised.

Related issues

Related to Pulp - Story #4196: As a user, I can upload files in chunks. MODIFIED Actions
Related to Pulp - Issue #4896: [Ruby client] Chunked Uploads API doesn't recognize file parameter MODIFIED Actions

Associated revisions

Revision c4db2b70 View on GitHub
Added by kersom 2 months ago

Add test to create artifact using chunk uplpoad

Add test to create artifact using chunk upload.

https://pulp.plan.io/issues/4197
ref: #4197

History

#1 Updated by kersom 10 months ago

  • Related to Story #4196: As a user, I can upload files in chunks. added

#2 Updated by kersom 7 months ago

Fixture was update to generated files with 10M.

See: https://github.com/PulpQE/pulp-fixtures/issues/112

#3 Updated by daviddavis 7 months ago

Here is my recommended test plan.

Test out https://pulp.plan.io/issues/4196. See the docs at https://docs.pulpproject.org/en/3.0/nightly/workflows/upload-publish.html for how to perform chunked uploads.

Test Case 1

Follow the steps in the docs to upload a file and create an artifact. Assert that an artifact is successfully created. You could also create a content unit from it (e.g. FileContent).

Test Case 2

1. Create an upload (POST /api/v3/uploads/)
2. Try to import this upload into artifacts (POST :8000/pulp/api/v3/artifacts/ upload=/pulp/api/v3/uploads/a8b5a7f7-2f22-460d-ab20-d5616cb71cdd/)

This should fail (400 error) because the upload is not committed.

Test Case 3

1. Create an upload (POST /api/v3/uploads/)
2. Upload your file in chunks
3. Commit your upload but specify a bad sha256

The commit action should fail.

Test Case 4

1. Create an upload of a particular size (eg 1024 bytes)
2. Try to upload a chunk that it out of range (eg offset is 1025 bytes or the chunk size + offset > 1024)

Test Case 5

Attempt to create an artifact by supplying BOTH file and upload parameters. It should fail (400 error).

Also, optionally supply neither file nor upload parameters. This should also fail (400 error).

Test Case 6

Perform test case 1. Then try to create an artifact again by POSTing to /api/v3/artifacts/ again. It should fail (400 error) as the upload gets removed after it's imported.

Test Case 7

Create an upload. Delete the upload (DELETE /api/v3/uploads/abc123../). Confirm that the upload is deleted. Optionally, try to create an artifact from the upload which should fail.

Test Case 8

Create an upload. Filter by incomplete uploads to verify the upload is there (GET /api/v3/uploads/?completed__isnull=True). Commit the upload and then filter by GET /api/v3/uploads/?completed__isnull=True to verify the upload is no longer listed.

#4 Updated by bmbouter 5 months ago

  • Tags deleted (Pulp 3)

#5 Updated by kersom 5 months ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to kersom

#6 Updated by kersom 4 months ago

  • Related to Issue #4896: [Ruby client] Chunked Uploads API doesn't recognize file parameter added

#7 Updated by kersom 3 months ago

  • Status changed from ASSIGNED to NEW
  • Assignee deleted (kersom)

#8 Updated by kersom 2 months ago

  • Assignee set to kersom

Please register to edit this issue

Also available in: Atom PDF