Skip to content

Commit 14245b0

Browse files
authored
Merge pull request #38 from oslabs-beta/dev
Merge dev into master
2 parents cbe9df3 + 9845678 commit 14245b0

File tree

97 files changed

+2638
-2706
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+2638
-2706
lines changed

CONTRIBUTING.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ People _love_ thorough bug reports. I'm not even kidding.
5252
## Test early, test often!
5353

5454
- Run npm run test or npm run test-mocha for E2E testing with [Playwright](https://playwright.dev/docs/api/class-electron) and Mocha
55-
- Run npm run test-jest for unit and integration tests with Jest
55+
- Run npm run test-jest for unit and integration tests with Jest
5656
- Check code coverage!
5757
- In the 'test/coverage' directory, check jest-coverage and mocha-coverage directories
5858
- View each index.html in your browser for coverage reports generated with Istanbul that will show covered and uncovered lines in accessed modules
@@ -61,8 +61,10 @@ People _love_ thorough bug reports. I'm not even kidding.
6161
- Contribute to the testing suite
6262
- Add tests for uncovered lines, modules, functions. Leave no stone unturned!
6363

64-
## License
64+
## Considering iterating Swell in the future?
6565

66-
By contributing, you agree that your contributions will be licensed under its MIT License.
66+
Feel free to check out the `DEV-README.md` in the `docs` folder.
6767

68+
## License
6869

70+
By contributing, you agree that your contributions will be licensed under its MIT License.

README.md

Lines changed: 46 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -20,79 +20,82 @@ Swell is available for OSX, Linux, and Windows.
2020

2121
Swell is a one-stop shop for sending and monitoring your API requests:
2222

23-
- Send and monitor streams over HTTP2 / HTTP1 (including SSEs) and WebSockets
23+
- Send and monitor streams over HTTP/2 (including SSEs) and WebSockets
2424
- Create GraphQL queries, introspections, mutations, and subscriptions
25-
- Stress testing HTTP/2 endpoints
25+
- Stress testing HTTP/2 and GraphQL endpoints
26+
- Create your own HTTP/2 mock server
2627
- Store workspaces of multiple requests for later use
2728
- Import and export workspaces locally
28-
- Make API requests based on a range of provided options that conform to the specifications defined in OpenAPI documents.
29-
- Verify STUN and TURN server connectivity for WebRTC applications by generating an SDP (Session Description Protocol)
30-
- Diagnose and monitor your gRPC streaming connections
31-
- Make customizable requests to TypeScript Remote Procedure Call (tRPC) endpoints
32-
- View response timing information and history in an interactive chart for each request
3329
- Compose test suites in JavaScript with Chai-style TDD/BDD assertion syntax
3430

35-
## Supported Technologies
31+
## Core features
3632

3733
- _HTTP2_: Swell supports full HTTP2 multiplexing of requests and responses. HTTP requests to the same host will be sent over the same connection. Swell will attempt to initiate an HTTP2 connection for all HTTPS requests by default, with the ability to revert to HTTP1.1 for legacy servers. Multiple concurrent streams are allowed for each connection.
3834
<img src="./ReadMeGifs/Gifs/HttpTesting.gif" style="display: block; margin: 10px auto 30px; border: 1px solid black;" />
39-
35+
4036
- _GraphQL_: Swell includes full support for all three root types of GraphQL - queries, mutations, and subscriptions – as well as Introspection. Variables are also supported, making creating queries easy.
4137
<img src="./ReadMeGifs/Gifs/GraphQL.gif" style="display: block; margin: 10px auto 30px;" />
4238

4339
- _Server-Sent Events (SSE)_: Initiated by a simple toggle box, Swell displays SSE events one by one as they come in. Similar to HTTP2 streams, multiple open connection streams are allowed for SSE.
44-
<img src="./ReadMeGifs/Gifs/SSE.gif" style="display: block; margin: 10px auto 30px;" />
45-
46-
- _gRPC_: Swell includes full support for all four streaming types of gRPC - unary, client stream, server stream, bidirectional stream.
47-
<img src="./ReadMeGifs/Gifs/gRPC-responses.gif" style="display: block; margin: 10px auto 30px;" />
40+
<img src="./ReadMeGifs/Gifs/ServerSideEvents.gif" style="display: block; margin: 10px auto 30px;" />
4841

49-
- _tRPC_: Swell includes full support for all methods of TypeScript Remote Procedure Calls including batch call support for queries and mutations.
50-
<img src="./ReadMeGifs/Gifs/tRPC-query.gif" style="display: block; margin: 10px auto 30px;" />
51-
<img src="./ReadMeGifs/Gifs/tRPC-subscription.gif" style="display: block; margin: 10px auto 30px;" />
52-
53-
Calls are currently being made using Swell's own TRPCProxyClient generated from the URL provided by the user.
54-
Batch requests must be entered one request per line. Swell will treat each line of code entered into the editor as a separate request before batching and returning responses.
55-
Each request must follow the general format client.procedure.querytype(). For example:
56-
57-
```js
58-
client.getUser.query({ name: 'Luke Skywalker' });
59-
```
60-
61-
See [tRPC docs](https://trpc.io/docs/) for more information on sending tRPC requests or setting up a tRPC server.
42+
- _WebSockets (WS)_: Swell enables connecting directly to WebSocket servers with an HTTP handshake, with developers able to send messages to the connected WS server directly. All outgoing and incoming messages are displayed in real time.
43+
<img src="./ReadMeGifs/Gifs/Websockets.gif" style="display: block; margin: 10px auto 30px;" />
6244

63-
- _OpenAPI_: Swell supports the enumeration and execution of REST and RPC API requests as defined in a user-provided OpenAPI document.
64-
<img src="./ReadMeGifs/Gifs/openapi.gif" style="display: block; margin: 10px auto 30px;" />
45+
## Additional features
6546

66-
## Additional Features
47+
- _Stress testing for HTTP/2 and GraphQL_: Test your server backend with Swell's stress testing feature to ensure your server can manage expected and unexpected loads accordingly
48+
<img src="./ReadMeGifs/Gifs/HttpStressTest.gif"
49+
style="display: block; margin: 10px auto 30px; border: 1px solid black;" />
50+
<img src="./ReadMeGifs/Gifs/GraphQLTest.gif"
51+
style="display: block; margin: 10px auto 30px; border: 1px solid black;" />
6752

6853
- _Send Requests Directly to an Endpoint_: You are able to immediately send a request to an endpoint OR stage a request in your workspace for multi-level testing.
6954
<img src="./ReadMeGifs/Gifs/DirectSendRequest.gif"
7055
style="display: block; margin: 10px auto 30px; border: 1px solid black;" />
71-
- _Scripting in Swell_: If your favors test-driven development, Swell allows you to write assertion tests to aid defining and testing backend API services.
72-
<img src="./ReadMeGifs/Gifs/SimpleResponseTest.gif"
56+
57+
- _Scripting in Swell_: If you favor test-driven development, Swell allows you to write assertion tests to aid defining and testing backend API services.
58+
<img src="./ReadMeGifs/Gifs/Assertion-Testing.gif"
7359
style="display: block; margin: 10px auto 30px; border: 1px solid black;" />
60+
7461
- _Workspaces_: Swell allows you to save workspaces for easier testing of multiple requests.
62+
7563
- _Preview_: You can now view a rendered preview of certain API responses (HTML)
7664
<img src="./ReadMeGifs/Gifs/AdditionalFeatures.gif"
7765
style="display: block; margin: 10px auto 30px; border: 1px solid black;" />
7866
- _Collection Runner_: You can also stage requests in the workspace and automate the process of sending off each one. No need to manually press send on each one; instead each request will fire off in the order of staging.
7967
<img src="./ReadMeGifs/Gifs/CollectionTest.gif"
8068
style="display: block; margin: 10px auto 30px; border: 1px solid black;" />
8169

82-
## WIP Features
70+
## Experimental Features
71+
72+
- _Mock Server_: Swell allows you to create your own HTTP/2 mock server to facilitate front-end development without depending on a fully built backend server.
73+
<img src="./ReadMeGifs/Gifs/MockServer.gif" style="display: block; margin: 10px auto 30px;" />
74+
75+
- _gRPC_: Swell includes full support for all four streaming types of gRPC - unary, client stream, server stream, bidirectional stream.
76+
<img src="./ReadMeGifs/Gifs/gRPC-responses.gif" style="display: block; margin: 10px auto 30px;" />
77+
78+
- _tRPC_: Swell includes full support for all methods of TypeScript Remote Procedure Calls including batch call support for queries and mutations.
79+
<img src="./ReadMeGifs/Gifs/tRPC-query.gif" style="display: block; margin: 10px auto 30px;" />
80+
<img src="./ReadMeGifs/Gifs/tRPC-subscription.gif" style="display: block; margin: 10px auto 30px;" />
81+
82+
Calls are currently being made using Swell's own TRPCProxyClient generated from the URL provided by the user.
83+
Batch requests must be entered one request per line. Swell will treat each line of code entered into the editor as a separate request before batching and returning responses.
84+
Each request must follow the general format client.procedure.querytype(). For example:
85+
86+
```js
87+
client.getUser.query({ name: 'Luke Skywalker' });
88+
```
8389

84-
**Clone this repo and check out dev mode for the latest and greatest!**
90+
See [tRPC docs](https://trpc.io/docs/) for more information on sending tRPC requests or setting up a tRPC server.
8591

8692
- _Webhooks_: Swell includes user-defined HTTP callback connection testing designed to test other server's connection to the web and ability to send data. The test insures that when an event occurs, the source site makes an HTTP request to the URL configured for the webhook.
8793
<img src="./ReadMeGifs/Gifs/Webhook.gif" style="float: left; margin-right: 10px;margin-bottom : 30px; margin-top : 10px;" />
8894

89-
- _WebSockets (WS)_: Swell enables connecting directly to WebSocket servers with an HTTP handshake, with developers able to send messages to the connected WS server directly. All outgoing and incoming messages are displayed in real time.
90-
<img src="./ReadMeGifs/Gifs/Websockets.gif" style="display: block; margin: 10px auto 30px;" />
91-
9295
- _WebRTC_: Swell makes it easy to test STUN and TURN ICE server connectivity for WebRTC applications.
9396
<img src="./ReadMeGifs/Gifs/webrtc.gif" style="display: block; margin: 10px auto 30px; " />
9497

95-
Currently, it is a read-only feature. When the write feature for ICE server is enable, ICE server details can be entered as an array of JavaScript objects (example code block below). An RTCPeerConnection will be instantiated, as an SDP is generated.
98+
Currently, it is a read-only feature. When the write feature for ICE server is enabled, ICE server details can be entered as an array of JavaScript objects (example code block below). An RTCPeerConnection will be instantiated, as an SDP is generated.
9699

97100
```js
98101
[
@@ -108,8 +111,8 @@ Swell is a one-stop shop for sending and monitoring your API requests:
108111
];
109112
```
110113

111-
- _UI Updates_: Built with Material UI, a smoother, more intuitive interface for enhanced user experience. Resizable panels between composer, response, and workspace and visual feedbackfor when users is selecting different communication protocols.
112-
<img src="./ReadMeGifs/Gifs/tRPC-UI.gif" style="float: left; margin-right: 10px;margin-bottom : 30px; margin-top : 10px;" />
114+
- _OpenAPI_: Swell supports the enumeration and execution of REST and RPC API requests as defined in a user-provided OpenAPI document.
115+
<img src="./ReadMeGifs/Gifs/openapi.gif" style="display: block; margin: 10px auto 30px;" />
113116

114117
## Built With
115118

@@ -130,6 +133,10 @@ Swell is a one-stop shop for sending and monitoring your API requests:
130133
- Mocha
131134
- Playwright
132135

136+
## Considering iterating Swell in the future?
137+
138+
Feel free to check out the `DEV-README.md` in the `docs` folder.
139+
133140
## Authors
134141

135142
- **Chris Suzukida** - [csuzukida](https://github.com/csuzukida)
1.96 MB
Loading
-4.05 MB
Binary file not shown.

ReadMeGifs/Gifs/GithubIntegration.gifZone.Identifier

Lines changed: 0 additions & 3 deletions
This file was deleted.

ReadMeGifs/Gifs/GraphQL.gif

-1.61 MB
Loading

ReadMeGifs/Gifs/GraphQLTest.gif

1.74 MB
Loading

ReadMeGifs/Gifs/Http2Streams.gif

-1.38 MB
Binary file not shown.

ReadMeGifs/Gifs/HttpStressTest.gif

5.07 MB
Loading

ReadMeGifs/Gifs/HttpTesting.gif

-1.7 MB
Loading

0 commit comments

Comments
 (0)