storj / edge

Storj edge services (including multi-tenant, S3-compatible server to interact with the Storj network)
GNU Affero General Public License v3.0
48 stars 18 forks source link

Create a test plan for partial implementation of Object Lock #405

Open amwolff opened 4 months ago

amwolff commented 4 months ago

Goal

This issue is to make meaningful progress on Object Lock implementation within core and edge services. Specifically, to support immutable backups in backup software products like Veeam.

What needs to be done? • Acceptance Criteria

We only need to implement a small subset of Object Lock (for example, Legal Hold is out of scope at this moment) first. What needs to be implemented is defined in Object Lock milestone MVP section. To recap, it's:

What needs to be done is a test plan to

  1. test fundamental function of aforementioned partial implementation
  2. test S3-specific corner cases within the boundaries of the partial implementation
  3. test Storj-specific corner cases within the boundaries of the partial implementation

Use a known template for test plans, if there is one.

Depends on…

This issue does not depend on anything and can be worked on immediately.

Links

neo-cypher commented 4 months ago

https://docs.google.com/document/d/1nxdeLJTJeIdgi3P35z_UQ9CkTN_MDUUIvrgsPYb6EUo/edit?usp=sharing

neo-cypher commented 4 months ago

Object Lock Test Plan

Objective

To validate the functionality, reliability, and performance of the object Lock feature to ensure it meets the requirements for object immutability and retention policies and only tests items within the scope of our implementation.

Scope

Test Cases:

Enable Object Lock:
Retention Periods:

New Actions:

Modifications to existing endpoints:

Legal Hold:
Governance Mode

Performance Testing

Data Access Performance:

Error Handling and Edge Cases

Invalid Operations:

Conclusion

This test plan outlines a comprehensive approach to validate Object Lock feature's functionality, security, and performance. By executing this plan, we can ensure that the Object Lock feature works as intended, providing the necessary immutability and protection for stored objects.

kaloyan-raev commented 3 months ago

@neo-cypher A few things that should be reflected in the test plan:

neo-cypher commented 3 months ago

@kaloyan-raev, I appreciate you taking the time to review this test plan. I had the scope incorrect so it skewed the requirements. Thanks for the corner cases, those are super helpful; as well as pointing out that when object lock is enabled that object versioning too is enabled and cannot be disabled or suspended. I'll get this feedback into the plan and update the scope to match our MVPs.

neo-cypher commented 3 months ago

A few things that should be reflected in the test plan:

VitaliiShpital commented 1 week ago

test plan https://docs.google.com/document/d/1pGOhPTJGec0OogL0bM-qYVgnV8C8S7O9G08yKPXWWU8/edit#heading=h.vrh4b75a77jw