Skip to content

Commit

Permalink
New version and updated docs
Browse files Browse the repository at this point in the history
  • Loading branch information
mishushakov committed Dec 6, 2022
1 parent 3676b3e commit 953a1d3
Show file tree
Hide file tree
Showing 33 changed files with 1,424 additions and 138 deletions.
21 changes: 20 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,27 @@ Documentation is available on [docs.stepci.com](https://docs.stepci.com)
You can find example workflows under [`examples/`](examples/)
## Community
Join our community on [GitHub Discussions](https://github.com/stepci/stepci/discussions)
## Contributing
As an open-source project, we welcome contributions from the community. If you are experiencing any bugs or want to add some improvements, please feel free to open an issue or pull request
## License
The source code is distributed under Mozilla Public License terms
## [Privacy](https://docs.stepci.com/legal/privacy)
## Privacy
By default, the CLI collects anonymous usage data, which includes:
- Unique user ID
- OS Name
- Node Version
- CLI Version
- Command (`stepci run`, `stepci generate`)
- Environment (Local, Docker, CI/CD)
> **Note**: The usage analytics can be disabled by setting `STEPCI_DISABLE_ANALYTICS` environment variable
12 changes: 9 additions & 3 deletions docs/.vitepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,14 @@ export default {
pattern: 'https://github.com/stepci/stepci/edit/main/docs/:path',
text: 'Edit this page on GitHub'
},
algolia: {
appId: 'BGFVFFQ7D3',
apiKey: '3edb499a6cb1b332569b42cd4e44da82',
indexName: 'stepci'
},
sidebar: [
{
text: 'Guides',
text: 'Learn',
items: [
{ text: 'Introduction', link: '/' },
{ text: 'Getting Started', link: '/guides/getting-started' },
Expand All @@ -37,7 +42,7 @@ export default {
{ text: 'Load Testing <span class="badge-new">New</span>', link: '/guides/load-testing' },
{ text: 'Fuzz Testing', link: '/guides/fuzz-testing' },
{ text: 'CO<sub>2</sub> Testing', link: '/guides/co2-testing' },
{ text: 'Organising Tests', link: '/guides/organising-tests' },
{ text: 'Organising Workflows', link: '/guides/organising-workflows' },
{ text: 'Using as a Library', link: '/guides/using-library' },
]
},
Expand All @@ -52,8 +57,9 @@ export default {
items: [
{ text: 'Using the CLI', link: '/reference/cli' },
{ text: 'Workflow Syntax', link: '/reference/workflow-syntax' },
{ text: 'Using Matchers', link: '/reference/matchers' },
{ text: 'Templating', link: '/reference/templating' },
{ text: 'Matchers', link: '/reference/matchers' },
{ text: 'Reusables', link: '/reference/reusables' },
{ text: 'Examples', link: '/reference/examples' },
]
},
Expand Down
3 changes: 2 additions & 1 deletion docs/.vitepress/theme/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
--vp-c-bg-alt: #141414;
--vp-c-bg: #181818;
--vp-code-block-bg: #141414;
--docsearch-hit-active-color: black;
}

.dark .VPImage.logo {
Expand Down Expand Up @@ -46,6 +47,6 @@

@media (min-width: 960px) {
.dark .VPNavBar.has-sidebar .content {
background-color: rgba(24, 24, 24, 0.95) !important;
background-color: rgba(24, 24, 24, 0.7) !important;
}
}
22 changes: 11 additions & 11 deletions docs/guides/concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,28 @@

### Workflows

Workflows contain meta information, tests and configuration
Workflows contain meta information, tests and default configuration

### Tests

Tests describe different test suites. Tests can have multiple steps. Tests are executed concurrently. Each test has a separate context, shared accross steps
Tests describe different test suites. Tests can have multiple steps. Tests are executed concurrently. Each test has a separate context, shared across steps

### Steps

Steps are the instructions to be executed by the runner. Steps contain the request parameters and assertions. Steps are executed in a sequence. If one step fails, all the following steps are skipped. Steps have access to shared context

### Checks

Steps can have many different checks to validate responses
Steps are the instructions to be executed by the runner. Steps contain the request parameters, captures and checks. Steps are executed in a sequence. If one step fails, all the following steps are skipped. Steps have access to shared context

### Captures

Steps can capture data from responses into named variables
Steps can specify captures to capture data from responses into named variables that can later be used in consequent requests. Also known as "request chaining"

### Conditions
### Checks

Steps can be skipped if a condition is not met
Steps can include checks to validate responses

### Matchers

Matchers can match values against a pre-defined set of rules
Matchers can be used to match values against a pre-defined set of rules

### Reusables

Reusables allow you to reuse content such as schemas and credentials without repetition
4 changes: 4 additions & 0 deletions docs/guides/fuzz-testing.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Fuzz Testing

Fuzz Testing is a type of testing, that involves providing unexpected or invalid input to an API in order to test its robustness and identify any potential vulnerabilities

The goal of API fuzz testing is to simulate attacks on the API in order to uncover any security weaknesses that may exist

You can utilise the [templating](/reference/templating) functionality combined with `naughtystring` filter to replace a placeholder value with a "naughty" string

::: info
Expand Down
8 changes: 7 additions & 1 deletion docs/guides/load-testing.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Load Testing

Load Testing is a process of ensuring your API performs as expected during a typical and peak load
Load Testing is a process of ensuring your API performs as expected during a typical and peak load without breaking or becoming unresponsive

The goal of API load testing is typically to identify potential bottlenecks or issues that may arise when the API is used at scale, and to provide information that can be used to optimize the API for better performance

::: warning
This feature is currently in preview. Some things may break or change in the future
Expand Down Expand Up @@ -51,6 +53,10 @@ This feature is currently in preview. Some things may break or change in the fut
Your load test can have multiple phases. Each phase has a `duration`, which defines how long a phase lasts and an `arrivalRate`, which sets how many virtual visitors (or requests) arrive per second during the duration of a phase

:::warning
By default, the test runner will skip subsequent steps after the previous ones have failed. Add `continueOnFail` configuration option to your test or your workflow if you want to continue test execution after a failed step
:::

3. Add (optional) checks

**loadtest.yml**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Organising Tests
# Organising Workflows

## Splitting tests into multiple files

Expand Down
10 changes: 6 additions & 4 deletions docs/guides/testing-graphql.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Testing GraphQL APIs

[GraphQL](https://graphql.org) is a query language for APIs and a runtime for fulfilling those queries with your existing data
[GraphQL](https://graphql.org) is a query language used to access and manipulate data in APIs

We have added useful helpers to reduce the burden for testing GraphQL-powered APIs with our tool
Testing such APIs would involve ensuring that they function properly and that they can effectively retrieve and manipulate data using GraphQL queries

This typically involves sending requests to the API and examining the responses to ensure that they are correct and meet the expectations of the developer

**Example: GraphQL Query**

Expand All @@ -28,6 +30,6 @@ tests:
$.data.method: POST
```
:::info
See [Workflow Syntax Reference](/reference/workflow-syntax#tests-test-steps-step-http-graphql) for more request options
:::tip
See [Testing HTTP APIs](/guides/testing-http) for the full guide on testing HTTP-based APIs
:::
Loading

0 comments on commit 953a1d3

Please sign in to comment.