Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Adding unit tests for fault request ordering#4409

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
mye956 wants to merge1 commit intoaws:dev
base:dev
Choose a base branch
Loading
frommye956:fault-unit-test

Conversation

@mye956
Copy link
Contributor

@mye956mye956 commentedOct 23, 2024
edited
Loading

Summary

This PR will add additional unit testing for the network fault injection handlers, specifically the ordering of when each request finishes if they're modifying the same resource (e.g. the same network namespace/network interface).

The ordering/workflow is the following:

  • Make an asynchronous start fault request that takes some time to finish and starts being handled
  • Make an asynchronous stop fault request that does not take any time to finish and waits until the start fault finishes being handled
  • Both requests should be successful

Implementation details

  • makeAsyncRequest() : Helper function that is called upon in a goroutine to make mock HTTP requests
  • New tests cases added inTestNetworkFaultRequestOrdering(): The test cases will make two sequential asynchronous HTTP request (1 start and then 1 stop fault request). We will be mocking the first request (start fault) to be taking some time to finish while the second request (stop fault) should wait until the first request finishes before it gets executed.

Testing

New test cases that were introduced:

  • Make 1 asynchronous start black hole port fault request and then 1 asynchronous stop black hole port request
  • Make 1 asynchronous start latency fault request and then 1 asynchronous stop latency request
  • Make 1 asynchronous start packet loss fault request and then 1 asynchronous stop packet loss request

New tests cover the changes: yes

Description for the changelog

Feature: Adding network fault request ordering unit test cases

Additional Information

Does this PR include breaking model changes? If so, Have you added transformation functions?

Does this PR include the addition of new environment variables in the README?

Licensing

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@mye956mye956 marked this pull request as ready for reviewOctober 23, 2024 19:13
@mye956mye956 requested a review froma team as acode ownerOctober 23, 2024 19:13
@mye956mye956 changed the title[WIP DO NOT REVIEW] Adding unit tests for fault request orderingAdding unit tests for fault request orderingOct 23, 2024
@mye956mye956force-pushed thefault-unit-test branch 3 times, most recently from7e711d0 to65171bfCompareOctober 23, 2024 21:56
testNetworkFaultInjectionCommon(t,tcs,NetworkFaultPath(types.PacketLossFaultType,types.CheckNetworkFaultPostfix))
}

funcTestNetworkFaultRequestOrdering(t*testing.T) {
Copy link
Contributor

Choose a reason for hiding this comment

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

nit (non-blocking): There seems to be a lot of repeated code across test cases, especially between L2242-2288 and L2289-L2335. This is not a strict blocker for me but I would prefer if we could look to minimize the amount of repeated code across test cases (for code maintainability purposes, particularly if we expect to add any new fault types in the future) and factor those out into for loop.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@amogh09amogh09amogh09 approved these changes

@danehlimdanehlimdanehlim approved these changes

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

4 participants

@mye956@amogh09@danehlim@amazon-ecs-bot

[8]ページ先頭

©2009-2025 Movatter.jp