-
Notifications
You must be signed in to change notification settings - Fork 15
Integrate Dredd into the extension #31
Comments
Please, keep the extension as lightweight as possible. |
@jsynowiec |
Most of the APIs that I design or implement are quite large and incorporate various forms of authentication - OAuth, JWT, etc. Tokens with scopes, grants, user types. Various endpoints allows to access only some combinations of scopes, grant types and user types - e.g. thin-client with low-level employee role vs. BI UI with manager-level role. Writing Dredd tests for this is time consuming and requires quite a lot lifecycle hooks. As a result, running the whole test suite takes a formidable amount of time. I'm just afraid that bundling Dredd in this extension will do more harm than good. Making requests in background, even only for changed endpoints (I'm not sure if this is possible) will put a lot more stress on the VS Code. As a result, the editor might become slower, and the extension less useful when doing so many different validations and testing behind the scenes. IMHO this extension should remain as lean and specialized as possible. It should allow for rapid creation of API Blueprint specifications, so functions like symbol navigation, snippets, IntelliSense for MSON and API Blueprint, better syntax highlighting, etc. are most welcome. It might be interesting to implement Dredd test runner as a separate extension but I don't see a difference from running a test suite manually. |
Great feedback here - let me clarify what I have in mind.
True that, I had the same issue during my early tests. Nonetheless, this extension is formed by two parts - a server, which is a totally different process not harming VSCode in any way, and a client, which is driving the editor UI. In the worst case, I can offload the things on the server process keeping a good experience in the editor.
This is exactly what I was aiming for. It would not force you to use dredd, but forwarding the test results in the editor if there's something to show. Anyway, this is currently blocked from a "closed" API from dredd itself (you can see some of the issues in the original text) so probably I won't really work actively on this for a while (as long those are not closed/unlocked). I'll keep the thing posted as I'll advance in the thing. |
Dredd related issues:
apiaryio/dredd#602
apiaryio/dredd#600
The text was updated successfully, but these errors were encountered: