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

Add DocumentDB support #6153

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

muaydin
Copy link

@muaydin muaydin commented Dec 5, 2024

Problem

Users should be able to utilize DocumentDB features in the Explorer tab, it should list all the clusters available.
This will make DocumentDB more visible to developers.

Solution

Users can now view, create, and delete regional clusters and instances. Feedback is welcome. Work is still in progress.

View clusters and instances
1

  • Create a new cluster

2

  • Add an instance to a regional cluster

3

  • Rename clusters & instances
  • Start & stop a regional cluster
  • Delete a cluster
  • Delete an instance

4

  • Modify an instance class

5

  • Reboot an instance

6

  • Polling mechanism to update when instances are in pending states (specifically 'creating', 'modifying', 'rebooting', 'starting', 'stopping', 'renaming')

Test Cases Conducted and Status

1. Basic Polling Functionality

  • TC-1.1: Status Polling Initialization
    Status: Passed

    • Polling starts within 1 second of action.
    • 30-second interval is maintained.
    • Network requests show proper AWS API calls.
    • UI updates reflect current status.
  • TC-1.2: Polling Cleanup
    Status: Passed

    • Polling job terminates when explorer is closed.
    • No memory leaks observed.
    • No lingering network connections.
    • Fresh polling starts on explorer reopen if status is still pending.

2. Multi-Region Testing

  • TC-2.1: Cross-Region Status Updates
    Status: Passed

    • Both regions poll independently.
    • Status updates maintain 30-second intervals per region.
    • No cross-region interference.
  • TC-2.2: Region Switch During Polling
    Status: Passed

    • Polling resumes correctly after region switches.

3. Cluster Type Testing

  • TC-3.1: Global Cluster Polling
    Status: Passed

    • Primary region status updates promptly.
    • Secondary regions show proper status propagation.
    • All cluster components maintain consistency.
  • TC-3.2: Elastic Cluster Polling
    Status: Passed

    • Capacity unit updates monitored successfully.
    • Final state verified.

4. System State Testing

  • TC-4.1: Background App Handling
    Status: Passed

    • Polling continues in the background.
    • Status updates resume on restore.
    • No missing state transitions.
  • TC-4.2: Sleep Mode Recovery
    Status: Passed

    • Polling resumes after wake.
    • Missed updates are fetched.
    • Current state is accurately reflected.

5. Edge Cases and Error Handling

  • TC-5.1: Network Interruption
    Status: Passed

    • Error handled gracefully.
    • Polling resumes after connection restore.
    • No UI freezing or crashes.
  • TC-5.2: Multiple Operations
    Status: Passed

    • Concurrent status changes handled smoothly.
    • Resource cleanup verified.
    • UI consistency maintained.
  • TC-6.1: No additional info logs are printed
    Status: Passed

    • No unexpected logs were observed in the console.

  • Treat all work as PUBLIC. Private feature/x branches will not be squash-merged at release time.
  • Your code changes must meet the guidelines in CONTRIBUTING.md.

License: I confirm that my contribution is made under the terms of the Apache 2.0 license.

@muaydin muaydin marked this pull request as ready for review December 9, 2024 22:50
@muaydin muaydin requested a review from a team as a code owner December 9, 2024 22:50
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.

3 participants