Compare commits

..

17 Commits

Author SHA1 Message Date
Robert Wallach
9e9784259f Update fair-billing-policy.md 2018-04-11 15:43:42 -05:00
Robert Wallach
383a907bed Update fair-billing-policy.md 2018-04-06 14:38:45 -05:00
Robert Wallach
9216e197f3 Create fair-billing-policy.md 2018-04-06 14:36:13 -05:00
Robert Wallach
8f044d4901 Update introduction.md 2018-04-06 12:46:40 -05:00
Thomas Pytleski
e6b6c7d3bb Articles/prism/overview.md (#206)
* - prism overview article

* Update overview.md

* Update overview.md

* - cleaning up prism introduction article

* - need to add related links

* - add prism helpers

* Update introduction.md

* - add images/gifs to the prism introduction

* - update gif for mocking
2018-04-06 12:43:19 -05:00
Robert Wallach
00b3727a25 Update custom-css.md (#174)
* Update custom-css.md

* add hubBlock

* Update custom-css.md
2018-04-06 11:25:00 -05:00
Robert Wallach
6f68aff756 Update introduction.md 2018-04-06 11:17:29 -05:00
Robert Wallach
8dd22c674f Delete prism-introduction-mock.gif 2018-04-06 11:15:47 -05:00
Robert Wallach
3cb3a1ccad Add files via upload 2018-04-06 10:59:11 -05:00
Robert Wallach
36d72d4089 Delete prism-introduction-conduct.gif 2018-04-06 10:58:56 -05:00
Robert Wallach
892bfc69c5 Add files via upload 2018-04-06 10:58:26 -05:00
Robert Wallach
9544dad308 Delete prism-introduction-help.png 2018-04-06 10:58:11 -05:00
Thomas Pytleski
3c5d9bf54e [WIP] prism overview article (#161)
* - prism overview article

* Update overview.md

* Update overview.md

* - cleaning up prism introduction article

* - need to add related links

* - add prism helpers

* Update introduction.md

* - add images/gifs to the prism introduction
2018-04-06 10:52:59 -05:00
Robert Wallach
1afe7ad92e Add files via upload 2018-04-05 14:43:39 -05:00
Robert Wallach
56fd2dc65d Add files via upload 2018-04-05 14:43:21 -05:00
Robert Wallach
4d843f4937 Delete hubs-oauth-code.png 2018-04-05 14:43:05 -05:00
Robert Wallach
db454a5e68 Add files via upload 2018-04-05 13:36:38 -05:00
12 changed files with 141 additions and 163 deletions

View File

@@ -0,0 +1,11 @@
# Fair Billing Policy
Stoplight's Fair Billing Policy means you will only be charged for active users in any given billing cycle. We adopted the Fair Billing Policy because we believe you should only pay for what you use. We also wanted to avoid setting strict user limits because it can lead to workflow bottlenecks and promotes poor engineering practices.
## Active User
To be considered an active user, you must perform one of the following actions:
- Push a commit
- Write or modify a file
- Publish documentation
> If you do not perform on of these actions durign a billing cycle, you will be considered inactive, and will not count towards your user count for that billing cycle.

View File

@@ -1,43 +1,43 @@
# Personal Billing Overview
![Billing Overview](https://github.com/stoplightio/docs/blob/develop/assets/images/billing.png?raw=true)
## Platform Plans
### Open Source
- Price: Free
- Features:
- API Modeling
- Documentation
- Mocking
- Testing
### Developer
- Price: $9/month
- Features:
- Unlimited Private Projects
- Coming Soon: Github Integration
## Documentation Plans
### Basic
- Price: Free
- Features:
- Unlimited Visits
- Publish to .docs.stoplight.io
- Docs & OpenAPI Editors
### Essential
- Price: $79/month
- Features:
- Publish to your Domain (1 domain)
- Theming
- Build History & Instant Rollbacks
### Standard
- Price: $179/month
- Features:
- Publish to your Domain (10 domains)
- Custom CSS
- White Label
- Basic Auth & Auth0 Integration
# Personal Billing Overview
![Billing Overview](https://github.com/stoplightio/docs/blob/develop/assets/images/billing.png?raw=true)
## Platform Plans
### Open Source
- Price: Free
- Features:
- API Modeling
- Documentation
- Mocking
- Testing
### Developer
- Price: $9/month
- Features:
- Unlimited Private Projects
- Coming Soon: Github Integration
## Documentation Plans
### Basic
- Price: Free
- Features:
- Unlimited Visits
- Publish to .docs.stoplight.io
- Docs & OpenAPI Editors
### Essential
- Price: $79/month
- Features:
- Publish to your Domain (1 domain)
- Theming
- Build History & Instant Rollbacks
### Standard
- Price: $179/month
- Features:
- Publish to your Domain (10 domains)
- Custom CSS
- White Label
- Basic Auth & Auth0 Integration

View File

@@ -1,11 +1,17 @@
# Custom CSS
![Applying Custom CSS](https://github.com/stoplightio/docs/blob/develop/assets/gifs/hubs-custom-css.gif?raw=true)
## What
Want to add some style and flair to your documentation? Add your own custom CSS to enhance your Hubs look and feel. Below are some of the classes you can modify:
```
.Hub
.HubHeader
.HubHeader-section
.HubHeaderItem.is-active
.HubHeaderItem-name
.HubHeaderItem-name
.HubMain
.HubSidebar-overlay
.HubSidebar-wrapper
@@ -17,7 +23,24 @@
.HubPage-inner
.HubPage-content
.HubPageCrumbs
.HubPageCrumb
.HubPageBody
.HubPageCrumb
.HubPageBody
.HubBlock
.HubPageFooter
```
## How
1. Select the Hub you wish to modify
2. Select the **Design View**
3. Click on **Theme** in the top toolbar
4. Select **Custom CSS** in the bottom left
5. Input CSS in the text area at the bottom of the page
6. Input CSS in the generated **theme** file (optional)
7. In publishing, check the **Custom CSS** box under **Advanced** to apply the Custom CSS to that Hub when published
>After accessing Custom CSS, a **theme** file will be generated under Documentation in the file explorer. After making changes to your CSS, make sure to save the **theme** file.
---
**Related Articles**
- [Theming](/documentation/design/theming)

View File

@@ -1,56 +0,0 @@
# OAuth for Hubs
## What
OAuth provides a level of security to your documentation to restrict access to it. Enabling OAuth in Hubs can be accomplished through two different methods: via Modeling or directly into the Hubs code.
> Stoplight supports OAuth 1.0 and 2.0
## How
### Modeling
![OAuth in Modeling](https://github.com/stoplightio/docs/blob/develop/assets/images/hubs-oauth-modeling.png?raw=true)
1. Create a new Modeling file or select an existing one referenced by the Hub you wish to modify
> If you are creating a new Modeling file, make sure to reference it in your Hub
2. Next to **Security** in the left-middle toolbar, Add a Security Scheme by clicking the **+**
3. Input a **key**
4. Select oauth2 under **type**
5. Select **accessCode** under OAuth **flow**
6. Select an **authorization url**
7. Select a **token url**
8. **Add Scope** (optional)
9. Add a **Security scheme description** (optional)
### Hubs
![OAuth in Hubs](https://github.com/stoplightio/docs/blob/develop/assets/images/hubs-oauth-code.png?raw=true)
1. Select the Hub you wish to modify
2. Select **Code View**
3. Add the following lines of code to your Hub:
```
"config": {
"http": {
"oauth2": {
"credentials": {
"authorize_url": "insert authorize url here",
"access_token_url": "insert access token url here",
}
}
}
}
```
---
**Related Articles**
- [Digital Oceans: Introduction to OAuth2](https://www.digitalocean.com/community/tutorials/an-introduction-to-oauth-2)
- [Security Schemes](/modeling/modeling-with-openapi/security-schemes)

View File

@@ -0,0 +1,61 @@
# Introduction
Prism is a proxy and API server toolkit that helps you test, mock, validate, and orchestrate your online applications. We rebuilt Prism from the ground up to be performant, powerful, and programmable while still being practical. Prism enables teams to work in parallel and iterate faster with less errors. The Stoplight Platform integrates tightly with Prism to generate test coverage of your API automatically, build tests visually, and create mock and contract servers instantly.
Prism has first class support for the OpenAPI Specification (aka OAS) and Stoplight Scenarios. OAS is machine readable documentation of your API that Prism can read and understand. Scenarios tell Prism how to orchestrate your API. When you use them together you can easily assert, transform, and validate your API against your OAS. Prism also allows your front-end team to work in tandem with your back-end team. While the back-end team implements your API, your front-end teams can implement against a mock server that can return static examples, dynamic data, or replay actual traffic from your API.
![Prism Overivew](https://github.com/stoplightio/docs/blob/develop/assets/images/prism-introduction-help.png?raw=true)
## Features
* Act as a mock server, routing incoming requests to example responses, or dynamically generating examples on the fly
* Act as a transformation layer, manipulating incoming requests and outgoing responses
* Act as a validation layer, validating incoming requests, and outgoing responses
* Contract test your APIs
* Extend existing APIs with new endpoints or capabilities
* Act as a system-wide proxy, blocking traffic to particular websites or endpoints
## Conduct vs Serve
Conduct and Serve are important concepts to understand when using Prism.
* Conduct is an isolated scenario run. You tell Prism what scenarios you want to run, give it an environment to run against, and Prism will generate a report of the run
* Serving, on the other hand, is a long running instance of Prism that applies scenarios to HTTP traffic
### Conduct Use Cases
1. Debugging your API implementation or specification
2. Integrating with your CI/CD Environment: Catch bugs before they get to your actual API Consumers
3. Webhooks: Generate your OAS from code, automatically upload it to Stoplight
![Prism Conduct](https://github.com/stoplightio/docs/blob/develop/assets/gifs/prism-introduction-conduct.gif?raw=true)
### Serve Use Cases
1. Mocking back one or more specifications: Useful to help teams work in parallel and simplify testing dependencies.
2. Validating live traffic between your client/backend.
3. Your API, your workflow, your Prism. Prism is very flexible. You can easily create an instance that will record your API traffic, save it to S3, and then create another instance that will replay that API traffic.
![Mock Server](https://github.com/stoplightio/docs/blob/develop/assets/gifs/prism-introduction-mock.gif?raw=true)
### Stoplight Prism Helpers
The [Prism Helpers](https://next.stoplight.io/stoplight/prism) project is a collection of scenarios, specifications, and Prism instances that illustrate how to use Prism effectively. Please go [here](https://community.stoplight.io) and let us know what you would like to see.
---
**Related Articles**
* [Javascript Runtime Refrence](/runtime.md)
* [Passing Data Between Steps](/testing/getting-started/passing-data-between-steps)
* [Running Tests In Stoplight](/testing/running-tests/in-stoplight)
* [Running Tests in the Terminal](/testing/running-tests/in-the-terminal)
* [Running Tests Triggered by URL](/testing/running-tests/triggering-by-url)
* [Using Variables Overview](/testing/using-variables/overview)
* [$$.env (Environment)](/testing/using-variables/environment)
* [$.ctx(Context)](/testing/using-variables/context)
* [Sending HTTP Requests](/testing/sending-http-requests/overview)
* [Referencing other Scenarios](/testing/referencing-other-scenarios/overview)
* [Contract Testing](/testing/leveraging-openapi/contract-testing)
* [Integrating in Continuous Integration](/testing/continuous-integration/overview)

View File

@@ -1,61 +0,0 @@
# Mocking with Prism
Prism is a performant, dependency free server, built specifically to work with web APIs.
### Features
- Act as a mock server, routing incoming requests to example repsonses, or dynamically generating examples on the fly.
- Act as a transformation layer, manipulating incoming requests and outgoing responses.
- Act as a validation layer, validating incoming requests and outgoing responses.
- Contract test your APIs, given an OAS(Swagger 2) file.
- Log all or a subset of traffic to configurable locations.
- Extend existing APIs with new endpoints or capabilites.
- Act as a system-wide proxy, blocking traffic to particular websites or endpoints.
### Simplicity Redefined
Run it anywhere. It runs on OS X, Windows, and Linux, with no external dependencies. It is a single, self-contained binary file, that you can easily run from your terminal with a single command.
## Getting Started
#### macOS and Linux
```# Install Prism
curl https://raw.githubusercontent.com/stoplightio/prism/master.install.sh | sh
```
#### Windows
Download the appropriate binary from [here](https://github.com/stoplightio/prism/releases). Unzip the binary file, then navigate in your terminal to the folder where you extracted Prism.
### Run a Simple Mock Server
Prism understands OAS(Swagger 2), so let's get started by spinning up a quick mock server for the popular Petstore API. To do this, run the following command in your terminal:
```# os x / linux
prism run --mock --list --spec http://petstore.swagger.io/v2/swagger.json
# windows
path/to/prism.exe run --mock --list --spec http://petstore.swagger.io/v2/swagger.json
```
Here, you are using the "run" command to run a server based on the spec file passed in via the --spec argument. The spec location can be the filepath to a file on your computer, or the URL to a publicly hosted file. The mock argument tells Prism to mock all incoming requests, instead of forwarding them to the API host described in the spec file. The list argument is a convenience, and tells Prism to print out the endpoints in the spec on startup.
Prism starts on port 4010 by default - try visiting ```http://localhost:4010/v2/pet/findByStatus``` in your browser. This is one of the endpoints described in the petstore spec you passed in. You'll notice that it returns an error about a required query string parameter "status". This is the automatic request validation at work! The swagger spec specifies that a query string parameter names "status" is required for this endpoint so Prism simulates a 400 response for you. Reload the page with a query string parameter, and you will see the dynamically generated mock response ```http://localhost:4010/v2/pet/findByStatus?status=available```.
Tada! With a single command you have started a validating, dynamically mocking version of the Swagger petstore API.
### Run some Contract Tests
Prism consumes OAS(Swagger 2) files. OAS provides the contract for your API. If your OAS file contains the x-tests extension (generated automatically if you use the Stoplight app to manage your OAS and tests) then you can run tests with Prism.
Check out [this specification](https://goo.gl/jniYmw). If you scroll past all the regular OAS properties, you will notice a ```x-tests``` extension near the bottom of the file. Inside of that property, we have a few test cases defined. This OAS file, along with its tests, is managed in the Stoplight app (we export our API from within the app to produce this file).
#### To Run the Contract Tests
```
# os x / linux
prism test --spec https://goo.gl/jniYmw
# windows
path/to/prism.exe test --spec https://goo.gl/jniYmw
```
You should see some nice output to your terminal detailing the tests and assertions that are run. These tests take our OAS contract and apply it to your API. They act as a sort of sync manager.
> If a test fails, it means one of two things - your API is broken or, our OAS contract is out of date / incorrect

View File

Before

Width:  |  Height:  |  Size: 871 KiB

After

Width:  |  Height:  |  Size: 871 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB