Skip to content
This repository has been archived by the owner on Jul 29, 2019. It is now read-only.

Integrate Dredd into the extension #31

Open
XVincentX opened this issue Aug 15, 2016 · 4 comments
Open

Integrate Dredd into the extension #31

XVincentX opened this issue Aug 15, 2016 · 4 comments

Comments

@XVincentX
Copy link
Owner

XVincentX commented Aug 15, 2016

Dredd related issues:

apiaryio/dredd#602
apiaryio/dredd#600

@XVincentX XVincentX added this to the v0.4.0 milestone Aug 15, 2016
@jsynowiec
Copy link

Please, keep the extension as lightweight as possible.

@XVincentX
Copy link
Owner Author

@jsynowiec
Could you please elaborate a bit more? Do you think that Dredd integration would be useless or something in particular?

@jsynowiec
Copy link

jsynowiec commented Sep 1, 2016

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.

@XVincentX XVincentX removed this from the v0.4.0 milestone Sep 1, 2016
@XVincentX
Copy link
Owner Author

Great feedback here - let me clarify what I have in mind.

As a result, running the whole test suite takes a formidable amount of time.

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.

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.

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants