feat: add docs stie for api-testing (#469)
Signed-off-by: yuluo-yx <yuluo08290126@gmail.com>
This commit is contained in:
parent
e866727d53
commit
4a7f92c824
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"MD001": true,
|
||||
"MD002": false,
|
||||
"MD003": false,
|
||||
"MD004": false,
|
||||
"MD005": false,
|
||||
"MD006": false,
|
||||
"MD007": false,
|
||||
"MD008": false,
|
||||
"MD009": false,
|
||||
"MD010": false,
|
||||
"MD011": false,
|
||||
"MD012": false,
|
||||
"MD013": false,
|
||||
"MD014": false,
|
||||
"MD015": false,
|
||||
"MD016": false,
|
||||
"MD017": false,
|
||||
"MD018": false,
|
||||
"MD019": false,
|
||||
"MD020": false,
|
||||
"MD021": false,
|
||||
"MD022": false,
|
||||
"MD023": false,
|
||||
"MD024": false,
|
||||
"MD025": false,
|
||||
"MD026": false,
|
||||
"MD027": false,
|
||||
"MD028": false,
|
||||
"MD029": false,
|
||||
"MD030": false,
|
||||
"MD031": true,
|
||||
"MD032": false,
|
||||
"MD033": false,
|
||||
"MD034": false,
|
||||
"MD035": false,
|
||||
"MD036": false,
|
||||
"MD037": true,
|
||||
"MD038": true,
|
||||
"MD039": false,
|
||||
"MD040": false,
|
||||
"MD041": false,
|
||||
"MD042": false,
|
||||
"MD043": false,
|
||||
"MD044": false,
|
||||
"MD045": false,
|
||||
"MD046": false,
|
||||
"MD047": false,
|
||||
"MD048": false,
|
||||
"MD049": false,
|
||||
"MD050": false,
|
||||
"MD051": false
|
||||
}
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
name: Hugo Docs
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "master"
|
||||
paths:
|
||||
- 'docs/site/**'
|
||||
- 'tools/make/docs.mk'
|
||||
pull_request:
|
||||
branches:
|
||||
- "main"
|
||||
paths:
|
||||
- 'docs/site/**'
|
||||
- 'tools/make/docs.mk'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
docs-lint:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- uses: ./tools/github-actions/setup-deps
|
||||
|
||||
- name: Run markdown linter
|
||||
uses: nosborn/github-action-markdown-cli@9b5e871c11cc0649c5ac2526af22e23525fa344d # v3.3.0
|
||||
with:
|
||||
files: docs/site/content/*
|
||||
config_file: ".github/markdown_lint_config.json"
|
||||
|
||||
- name: Install linkinator
|
||||
run: npm install -g linkinator@6.0.4
|
||||
|
||||
- name: Check links
|
||||
run: make docs docs-check-links
|
||||
|
||||
docs-build:
|
||||
runs-on: ubuntu-latest
|
||||
needs: docs-lint
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Git checkout
|
||||
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
|
||||
with:
|
||||
submodules: true
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
|
||||
- uses: ./tools/github-actions/setup-deps
|
||||
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3.0.0
|
||||
with:
|
||||
hugo-version: 'latest'
|
||||
extended: true
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.1.0
|
||||
with:
|
||||
node-version: '18'
|
||||
|
||||
- name: Install Site Dependencies and Build Site
|
||||
run: make docs docs-check-links
|
||||
|
||||
# Upload docs for GitHub Pages
|
||||
- name: Upload GitHub Pages artifact
|
||||
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
|
||||
with:
|
||||
# Path of the directory containing the static assets.
|
||||
path: docs/site/public
|
||||
# Duration after which artifact will expire in days.
|
||||
# retention-days: # optional, default is 1
|
||||
|
||||
# This workflow contains a single job called "build"
|
||||
docs-publish:
|
||||
if: github.event_name == 'push'
|
||||
runs-on: ubuntu-latest
|
||||
needs: docs-build
|
||||
|
||||
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
|
||||
permissions:
|
||||
pages: write # to deploy to Pages
|
||||
deployments: write
|
||||
id-token: write # to verify the deployment originates from an appropriate source
|
||||
|
||||
# Deploy to the github-pages environment
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
|
|
@ -1,44 +0,0 @@
|
|||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
name: Check broken links
|
||||
|
||||
# Controls when the action will run. Triggers the workflow on push or pull request
|
||||
# events but only for the master branch
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
schedule:
|
||||
# Run everyday at 9:00 AM (See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html#tag_20_25_07)
|
||||
- cron: "0 5 * * *"
|
||||
|
||||
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
check:
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# Steps represent a sequence of tasks that will be executed as part of the job
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "18"
|
||||
|
||||
- name: markdown-link-check
|
||||
uses: gaurav-nelson/github-action-markdown-link-check@v1
|
||||
with:
|
||||
use-quiet-mode: "yes"
|
||||
config-file: "checklink_config.json"
|
||||
max-depth: 3
|
||||
|
||||
- name: Archive Broken Links List
|
||||
uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: broken-links.json
|
||||
path: /brokenLinks.json
|
||||
retention-days: 5
|
|
@ -0,0 +1,5 @@
|
|||
/public
|
||||
resources/
|
||||
node_modules/
|
||||
package-lock.json
|
||||
.hugo_build.lock
|
|
@ -0,0 +1 @@
|
|||
lts/*
|
|
@ -0,0 +1,4 @@
|
|||
FROM klakegg/hugo:ext-alpine@sha256:536dd4805d0493ee13bf1f3df3852ed1f26d1625983507c8c56242fc029b44c7
|
||||
|
||||
RUN apk add git && \
|
||||
git config --global --add safe.directory /src
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,210 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="380px" height="310px" viewBox="0 0 380 310" enable-background="new 0 0 380 310" xml:space="preserve"> <image id="image0" width="380" height="310" x="0" y="0"
|
||||
xlink:href="data:image/png;base64,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" />
|
||||
</svg>
|
After Width: | Height: | Size: 16 KiB |
|
@ -0,0 +1,9 @@
|
|||
/*
|
||||
|
||||
Add styles or override variables from the theme here.
|
||||
|
||||
*/
|
||||
|
||||
$primary: #1e71ec;
|
||||
$secondary: #ffffff;
|
||||
$dark: #4a9ff5;
|
|
@ -0,0 +1,15 @@
|
|||
# THIS IS A TEST CONFIG ONLY!
|
||||
# FOR THE CONFIGURATION OF YOUR SITE USE hugo.yaml.
|
||||
#
|
||||
# As of Docsy 0.7.0, Hugo 0.110.0 or later must be used.
|
||||
#
|
||||
# The sole purpose of this config file is to detect Hugo-module builds that use
|
||||
# an older version of Hugo.
|
||||
#
|
||||
# DO NOT add any config parameters to this file. You can safely delete this file
|
||||
# if your project is using the required Hugo version.
|
||||
|
||||
module:
|
||||
hugoVersion:
|
||||
extended: true
|
||||
min: 0.110.0
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: API Testing
|
||||
---
|
||||
|
||||
{{< blocks/cover title="Welcome to API Testing!" image_anchor="top" height="full" >}}
|
||||
<a class="btn btn-lg btn-primary me-3 mb-4" href="/v0.0.1">
|
||||
GET STARTED <i class="fas fa-arrow-alt-circle-right ms-2"></i>
|
||||
</a>
|
||||
<a class="btn btn-lg btn-secondary me-3 mb-4" href="/contributions">
|
||||
CONTRIBUTING <i class="fa fa-heartbeat ms-2 "></i>
|
||||
</a>
|
||||
<p class="lead mt-5">YAML based API testing tool. interface debug and test tools.</p>
|
||||
<!-- 向下翻页图标 -->
|
||||
{{< blocks/link-down color="white" >}}
|
||||
<p class="lead mt-5">todo add relative content</p>
|
||||
{{< /blocks/cover >}}
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
title: About API Testing
|
||||
linkTitle: About
|
||||
---
|
||||
|
||||
{{% blocks/cover title="About API Testing" height="auto" %}}
|
||||
|
||||
API Testing is an open source project for interface debug and test tools.
|
||||
|
||||
Read on to find out more, or visit our [documentation](/latest/) to get started!
|
||||
{{% /blocks/cover %}}
|
||||
|
||||
{{% blocks/section color="black" %}}
|
||||
|
||||
## Objectives
|
||||
|
||||
---
|
||||
|
||||
// TBD.
|
||||
|
||||
{{% /blocks/section %}}
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
title: "Contributor Code of Conduct"
|
||||
weight: -1
|
||||
description: "This section records Contributor Code of Conduct of API Testing."
|
||||
---
|
||||
|
||||
## Contributor Code of Conduct
|
||||
|
||||
As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
||||
|
||||
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
- The use of sexualized language or imagery
|
||||
|
||||
- Personal attacks
|
||||
|
||||
- Trolling or insulting/derogatory comments
|
||||
|
||||
- Public or private harassment
|
||||
|
||||
- Publishing other’s private information, such as physical or electronic addresses, without explicit permission
|
||||
|
||||
- Other unethical or unprofessional conduct
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org/), version 1.3.0, available at [contributor-covenant.org/version/1/3/0/](http://contributor-covenant.org/version/1/3/0/)
|
|
@ -0,0 +1,101 @@
|
|||
---
|
||||
title: "Contributing"
|
||||
weight: -1
|
||||
description: "This section contributing of API Testing."
|
||||
---
|
||||
|
||||
> English | [中文](CONTRIBUTING-ZH.md)
|
||||
|
||||
Please join us to improve this project.
|
||||
|
||||
The backend is written by [Golang](https://go.dev/), and the front-end is written by [Vue](https://vuejs.org/).
|
||||
|
||||
## For beginner
|
||||
|
||||
You might need to know the following tech before get started.
|
||||
|
||||
| Name | Domain |
|
||||
|-----------------------------------------------------------------------------|------------------------------------------------------------------------|
|
||||
| [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview) Protocol | Core |
|
||||
| [RESTful](https://en.wikipedia.org/wiki/REST) | Core |
|
||||
| [gRPC](https://grpc.io/) | `gRPC` runner extension |
|
||||
| [Prometheus](https://prometheus.io/) | Application monitor |
|
||||
| [Cobra](https://github.com/spf13/cobra) | The Go CLI framework |
|
||||
| [Element Plus](https://element-plus.org/) | The front-end framework |
|
||||
| [Docker](https://www.docker.com/get-started/) | The container image build |
|
||||
| [Helm chart](https://helm.sh/) | The [Kubernetes](https://kubernetes.io/docs/home/) application package |
|
||||
| [GitHub Actions](https://docs.github.com/en/actions) | The continuous integration |
|
||||
| [make](https://www.gnu.org/software/make/) | The automated Build Tools |
|
||||
| [Docs Guide](https://github.com/LinuxSuRen/api-testing.git) | Documentation Guidelines |
|
||||
|
||||
## Setup development environment
|
||||
|
||||
> This project uses `make` as a build tool and has a very powerful make command system.
|
||||
> You can see all the available commands by running `make help`.
|
||||
|
||||
It's highly recommended you to configure the git pre-commit hook. It will force to run unit tests before commit.
|
||||
Run the following command:
|
||||
|
||||
```shell
|
||||
make install-precheck
|
||||
```
|
||||
|
||||
## Print the code of lines:
|
||||
|
||||
```shell
|
||||
git ls-files | xargs cloc
|
||||
```
|
||||
|
||||
## pprof
|
||||
|
||||
```
|
||||
go tool pprof -http=:9999 http://localhost:8080/debug/pprof/heap
|
||||
```
|
||||
|
||||
Other usage of this:
|
||||
* `/debug/pprof/heap?gc=1`
|
||||
* `/debug/pprof/heap?seconds=10`
|
||||
* `/debug/pprof/goroutine/?debug=0`
|
||||
|
||||
## SkyWalking
|
||||
|
||||
```shell
|
||||
docker run -p 12800:12800 -p 9412:9412 docker.io/apache/skywalking-oap-server:9.0.0
|
||||
docker run -p 8080:8080 -e SW_OAP_ADDRESS=http://172.11.0.6:12800 -e SW_ZIPKIN_ADDRESS=http://172.11.0.6:9412 docker.io/apache/skywalking-ui:9.0.0
|
||||
|
||||
make build
|
||||
|
||||
export SW_AGENT_NAME=atest
|
||||
export SW_AGENT_REPORTER_GRPC_BACKEND_SERVICE=172.11.0.6:30689
|
||||
export SW_AGENT_PLUGIN_CONFIG_HTTP_SERVER_COLLECT_PARAMETERS=true
|
||||
export SW_AGENT_METER_COLLECT_INTERVAL=3
|
||||
export SW_AGENT_LOG_TYPE=std
|
||||
export SW_AGENT_REPORTER_DISCARD=true
|
||||
./bin/atest server --local-storage 'bin/*.yaml' --http-port 8082 --port 7072 --console-path console/atest-ui/dist/
|
||||
```
|
||||
|
||||
Run SkyWalking with BanYanDB:
|
||||
|
||||
```shell
|
||||
docker run -p 17912:17912 -p 17913:17913 apache/skywalking-banyandb:latest standalone
|
||||
|
||||
docker run -p 12800:12800 -p 9412:9412 \
|
||||
-e SW_STORAGE=banyandb \
|
||||
-e SW_STORAGE_BANYANDB_HOST=192.168.1.98 \
|
||||
docker.io/apache/skywalking-oap-server
|
||||
```
|
||||
|
||||
## First contribution
|
||||
|
||||
For developers contributing code to this project for the first time, you should run the following command in your local development environment:
|
||||
|
||||
```shell
|
||||
make test
|
||||
```
|
||||
|
||||
This will help you to check for and fix any bugs that you encounter at commit time, as well as reduce the complexity of the review.
|
||||
|
||||
## FAQ
|
||||
|
||||
* Got sum missing match error of go.
|
||||
* Run command: `go clean -modcache && go mod tidy`
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
title: "Security"
|
||||
weight: -1
|
||||
description: "This section security of API Testing."
|
||||
---
|
||||
|
||||
## Reporting Security Issues
|
||||
|
||||
The API Testing commnity takes a rigorous standpoint in annihilating the security issues in its software projects. API Testing is highly sensitive and forthcoming to issues pertaining to its features and functionality.
|
||||
|
||||
## REPORTING VULNERABILITY
|
||||
|
||||
If you have apprehensions regarding API Testing's security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the api-testing Security Team by dropping a mail at [api-testing-security@googlegroups.com](mailto:api-testing-security@googlegroups.com). In the mail, specify the description of the issue or potential threat. You are also urged to recommend the way to reproduce and replicate the issue. The API Testing community will get back to you after assessing and analysing the findings.
|
||||
|
||||
PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on public domain.
|
||||
|
||||
## VULNERABILITY HANDLING
|
||||
|
||||
An overview of the vulnerability handling process is:
|
||||
|
||||
The reporter reports the vulnerability privately to API Testing community.
|
||||
The appropriate project's security team works privately with the reporter to resolve the vulnerability.
|
||||
A new release of the API Testing product concerned is made that includes the fix.
|
||||
The vulnerability is publically announced.
|
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
title = "Get Involved"
|
||||
description = "This section includes contents related to Contributions"
|
||||
linktitle = "Get Involved"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "Todo Add Design"
|
||||
weight: -100
|
||||
description: Todo.
|
||||
---
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Design"
|
||||
weight: -100
|
||||
description: This section includes Designs of API Testing.
|
||||
---
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "Roadmap"
|
||||
weight: -1
|
||||
description: "This section records the roadmap of API Testing."
|
||||
---
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,18 @@
|
|||
+++
|
||||
title = "Welcome to API Testing"
|
||||
linktitle = "Documentation"
|
||||
description = "API Testing Documents"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
{{% alert title="Note" color="primary" %}}
|
||||
|
||||
This project is under **active** development. Many features are not complete. We would love for you to [Get Involved](/contributions)!
|
||||
|
||||
{{% /alert %}}
|
||||
|
||||
// TBD.
|
||||
|
||||
## Ready to get started?
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "API"
|
||||
description: This section includes APIs of API Testing.
|
||||
weight: 80
|
||||
---
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = "API Reference"
|
||||
+++
|
||||
|
||||
// TBD.
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Installation"
|
||||
description: This section includes installation related contents of API Testing.
|
||||
weight: 70
|
||||
---
|
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
title = "Install with Locally"
|
||||
weight = -99
|
||||
+++
|
||||
|
||||
// TBD
|
||||
|
||||
Install API Testing.
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Releases"
|
||||
weight: 90
|
||||
description: This section includes Releases of API Testing.
|
||||
---
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: "v0.1.0"
|
||||
publishdate: 2022-05-16
|
||||
---
|
||||
|
||||
Date: 2024 06 01
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Tasks"
|
||||
weight: 2
|
||||
description: Learn API Testing hands-on through tasks
|
||||
---
|
|
@ -1,4 +1,7 @@
|
|||
# gRPC testsuite writing manual
|
||||
+++
|
||||
title = "gRPC testsuite writing manual"
|
||||
weight = -99
|
||||
+++
|
||||
|
||||
This document will introduce how to write testsuite for the gRPC API of `api-testing`.
|
||||
|
|
@ -1,3 +1,8 @@
|
|||
+++
|
||||
title = "Mock server get started"
|
||||
weight = -99
|
||||
+++
|
||||
|
||||
## Get started
|
||||
|
||||
You can start a mock server of [container registry](https://distribution.github.io/distribution/) with below command:
|
|
@ -1,4 +1,6 @@
|
|||
## Pushing the test results into Prometheus
|
||||
+++
|
||||
title = "Pushing the test results into Prometheus"
|
||||
+++
|
||||
|
||||
You can use the following command to do it:
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "Quickstart"
|
||||
weight: 1
|
||||
description: Get started with API Testing in a few simple steps.
|
||||
---
|
||||
|
||||
// TBD
|
|
@ -1,4 +1,6 @@
|
|||
# Secure
|
||||
+++
|
||||
title = "Secure"
|
||||
+++
|
||||
|
||||
Usually, when TLS certificate authentication is not used, the gRPC client and server communicate in plain text, and the information is easily eavesdropped or tampered by a third party. Therefore, it is recommended to use SSL/TLS to protect gRPC services in most cases. Currently, `atest` has implemented server-side TLS, and mutual TLS (mTLS) needs to wait for implementation.
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
+++
|
||||
title = "News"
|
||||
linktitle = "News"
|
||||
description = "API Testing News"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
This is the **News** section. It is organized into three categories: blogs, presentations and releases.
|
||||
|
||||
The files in these directories will be listed in reverse chronological order.
|
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
title = "Blogs"
|
||||
description = "API Testing Blogs"
|
||||
linktitle = "Blogs"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
title = "Presentations"
|
||||
description = "API Testing Presentations and activities."
|
||||
linktitle = "Presentations"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
|
@ -0,0 +1,23 @@
|
|||
+++
|
||||
title = "Posting Notice"
|
||||
description = "API Testing posting notice"
|
||||
linktitle = "Posting"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
This document provides details on API Testing releases.
|
||||
API Testing follows the Semantic Version Control [v2.0.0 specification][] for release version control.
|
||||
Since API Testing is a new project, minor versions are the only versions defined.
|
||||
Additional release details, such as patch versions, will be created by API Testing maintainers at a future date.
|
||||
|
||||
## Stable releases {#stable-releases}
|
||||
|
||||
|
||||
|
||||
## Release management {#release-management}}
|
||||
|
||||
|
||||
|
||||
## Release schedule} {#release-schedule}
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Search Results
|
||||
layout: search
|
||||
---
|
|
@ -0,0 +1,18 @@
|
|||
+++
|
||||
title = "Welcome to API Testing"
|
||||
linktitle = "Documentation"
|
||||
description = "API Testing Documents"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
{{% alert title="Note" color="primary" %}}
|
||||
|
||||
This project is under **active** development. Many features are not complete. We would love for you to [Get Involved](/contributions)!
|
||||
|
||||
{{% /alert %}}
|
||||
|
||||
// TBD.
|
||||
|
||||
## Ready to get started?
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "API"
|
||||
description: This section includes APIs of API Testing.
|
||||
weight: 80
|
||||
---
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = "API Reference"
|
||||
+++
|
||||
|
||||
// TBD.
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Installation"
|
||||
description: This section includes installation related contents of API Testing.
|
||||
weight: 70
|
||||
---
|
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
title = "Install with Locally"
|
||||
weight = -99
|
||||
+++
|
||||
|
||||
// TBD
|
||||
|
||||
Install API Testing.
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Releases"
|
||||
weight: 90
|
||||
description: This section includes Releases of API Testing.
|
||||
---
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: "v0.1.0"
|
||||
publishdate: 2022-05-16
|
||||
---
|
||||
|
||||
Date: 2024 06 01
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "Tasks"
|
||||
weight: 2
|
||||
description: Learn API Testing hands-on through tasks
|
||||
---
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "Quickstart"
|
||||
weight: 1
|
||||
description: Get started with API Testing in a few simple steps.
|
||||
---
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
title: API Testing
|
||||
---
|
||||
|
||||
{{< blocks/cover title="欢迎访问 API Testing!" image_anchor="top" height="full" >}}
|
||||
<a class="btn btn-lg btn-primary me-3 mb-4" href="/v0.0.1">
|
||||
开始使用 <i class="fas fa-arrow-alt-circle-right ms-2"></i>
|
||||
</a>
|
||||
<a class="btn btn-lg btn-secondary me-3 mb-4" href="/contributions">
|
||||
参与贡献 <i class="fa fa-heartbeat ms-2 "></i>
|
||||
</a>
|
||||
<p class="lead mt-5">开源接口调试 & 测试工具</p>
|
||||
<!-- 向下翻页图标 -->
|
||||
{{< blocks/link-down color="white" >}}
|
||||
<p class="lead mt-5">todo 补充一些关联内容</p>
|
||||
{{< /blocks/cover >}}
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
title: 关于 API Testing.
|
||||
linkTitle: 关于
|
||||
---
|
||||
|
||||
{{% blocks/cover title="About API Testing" height="auto" %}}
|
||||
|
||||
API Testing 是一个接口调试和测试工具的开源项目。
|
||||
|
||||
请继续阅读以了解更多信息,或访问我们的 [文档](/latest/) 开始使用!
|
||||
|
||||
{{% /blocks/cover %}}
|
||||
|
||||
{{% blocks/section color="black" %}}
|
||||
|
||||
## Objectives
|
||||
|
||||
---
|
||||
|
||||
// TBD.
|
||||
|
||||
{{% /blocks/section %}}
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
---
|
||||
title: "贡献指南"
|
||||
weight: -1
|
||||
description: "API Testing 贡献指南."
|
||||
---
|
||||
|
||||
> 中文 | [English](CONTRIBUTING.md)
|
||||
|
||||
请加入我们,共同完善这个项目。
|
||||
|
||||
后端由 [Golang](https://go.dev/) 编写,前端由 [Vue](https://vuejs.org/) 编写。
|
||||
|
||||
### 对于初学者
|
||||
|
||||
在开始之前,您可能需要了解以下技术:
|
||||
|
||||
| Name | Domain |
|
||||
|-----------------------------------------------------------------------------|------------------------------------------------------------------------|
|
||||
| [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview) Protocol | Core |
|
||||
| [RESTful](https://en.wikipedia.org/wiki/REST) | Core |
|
||||
| [gRPC](https://grpc.io/) | `gRPC` runner extension |
|
||||
| [Prometheus](https://prometheus.io/) | Application monitor |
|
||||
| [Cobra](https://github.com/spf13/cobra) | The Go CLI framework |
|
||||
| [Element Plus](https://element-plus.org/) | The front-end framework |
|
||||
| [Docker](https://www.docker.com/get-started/) | The container image build |
|
||||
| [Helm chart](https://helm.sh/) | The [Kubernetes](https://kubernetes.io/docs/home/) application package |
|
||||
| [GitHub Actions](https://docs.github.com/en/actions) | The continuous integration |
|
||||
| [make](https://www.gnu.org/software/make/) | The automated Build Tools |
|
||||
| [Docs Guide](https://github.com/LinuxSuRen/api-testing.git) | 文档编写指南 |
|
||||
|
||||
## 设置开发环境
|
||||
|
||||
> 本项目使用 `make` 作为构建工具,并设计了非常强大的 make 指令系统。您可以通过运行 `make help` 查看所有可用的命令。
|
||||
|
||||
强烈建议您配置 `git pre-commit` 钩子。它会强制在提交前运行单元测试。
|
||||
运行以下命令:
|
||||
|
||||
```shell
|
||||
make install-precheck
|
||||
```
|
||||
|
||||
## 打印各行代码:
|
||||
|
||||
```shell
|
||||
git ls-files | xargs cloc
|
||||
```
|
||||
|
||||
## pprof
|
||||
|
||||
```shell
|
||||
go tool pprof -http=:9999 http://localhost:8080/debug/pprof/heap
|
||||
```
|
||||
|
||||
其他用法:
|
||||
|
||||
* `/debug/pprof/heap?gc=1`
|
||||
* `/debug/pprof/heap?seconds=10`
|
||||
* `/debug/pprof/goroutine/?debug=0`
|
||||
|
||||
## SkyWalking
|
||||
|
||||
```shell
|
||||
docker run -p 12800:12800 -p 9412:9412 docker.io/apache/skywalking-oap-server:9.0.0
|
||||
docker run -p 8080:8080 -e SW_OAP_ADDRESS=http://172.11.0.6:12800 -e SW_ZIPKIN_ADDRESS=http://172.11.0.6:9412 docker.io/apache/skywalking-ui:9.0.0
|
||||
|
||||
make build
|
||||
|
||||
export SW_AGENT_NAME=atest
|
||||
export SW_AGENT_REPORTER_GRPC_BACKEND_SERVICE=172.11.0.6:30689
|
||||
export SW_AGENT_PLUGIN_CONFIG_HTTP_SERVER_COLLECT_PARAMETERS=true
|
||||
export SW_AGENT_METER_COLLECT_INTERVAL=3
|
||||
export SW_AGENT_LOG_TYPE=std
|
||||
export SW_AGENT_REPORTER_DISCARD=true
|
||||
./bin/atest server --local-storage 'bin/*.yaml' --http-port 8082 --port 7072 --console-path console/atest-ui/dist/
|
||||
```
|
||||
|
||||
通过 BanYanDB 运行 SkyWalking:
|
||||
|
||||
```shell
|
||||
docker run -p 17912:17912 -p 17913:17913 apache/skywalking-banyandb:latest standalone
|
||||
|
||||
docker run -p 12800:12800 -p 9412:9412 \
|
||||
-e SW_STORAGE=banyandb \
|
||||
-e SW_STORAGE_BANYANDB_HOST=192.168.1.98 \
|
||||
docker.io/apache/skywalking-oap-server
|
||||
```
|
||||
|
||||
## 第一次贡献
|
||||
|
||||
对于第一次对此项目贡献代码的开发者,您应该在本地开发环境运行如下命令:
|
||||
|
||||
```shell
|
||||
make test
|
||||
```
|
||||
|
||||
以确保通过项目测试,这会有助于您检查并解决在提交时遇到的错误,同时减少 review 的复杂度。
|
||||
|
||||
## FAQ
|
||||
|
||||
* Got sum missing match error of go.
|
||||
* 运行命令: `go clean -modcache && go mod tidy`.
|
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
title = "参与其中"
|
||||
description = "本节包含与贡献相关的内容"
|
||||
linktitle = "参与其中"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "目标"
|
||||
weight: -1
|
||||
description: "API Testing goals."
|
||||
---
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "设计"
|
||||
weight: -100
|
||||
description: 这部分包含 API Testing 的设计细节.
|
||||
---
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "安全策略"
|
||||
weight: -2
|
||||
description: "API Testing 安全策略。"
|
||||
---
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: "发展规划"
|
||||
weight: -1
|
||||
description: "API Testing roadmap."
|
||||
---
|
||||
|
||||
// TBD
|
|
@ -1,3 +1,18 @@
|
|||
+++
|
||||
title = "欢迎访问 API Testing"
|
||||
linktitle = "文档"
|
||||
description = "API Testing 文档"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
{{% alert title="记录" color="primary" %}}
|
||||
|
||||
该项目正在**积极**开发中,很多功能尚待补充,我们希望您[参与其中](contributions/)!
|
||||
|
||||
{{% /alert %}}
|
||||
|
||||
API Testing 一个基于 YAML 文件的开源接口测试工具,同时支持运行在本地、服务端。
|
||||
|
||||
在选择工具时,可以从很多方面进行考量、对比,以下几点是该工具的特色或者优点:
|
||||
|
@ -122,3 +137,5 @@ items:
|
|||
* 提供插件机制,增加对数据库等数据源的格式校验
|
||||
|
||||
最后期待您的反馈 https://github.com/LinuxSuRen/api-testing/issues
|
||||
|
||||
## 准备好开始了吗? {#ready-to-get-started}
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "API"
|
||||
description: 本节内容包含 API Testing 的 API。
|
||||
weight: 80
|
||||
---
|
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = "API 引用"
|
||||
+++
|
||||
|
||||
// TBD.
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: 安装
|
||||
description: 本节包含关于安装 API Testing 的内容。
|
||||
weight: 70
|
||||
---
|
|
@ -1,3 +1,8 @@
|
|||
+++
|
||||
title = "通过 Helm 安装的方式使用 API Testing"
|
||||
weight = -98
|
||||
+++
|
||||
|
||||
You could install `api-testing` via Helm chart:
|
||||
|
||||
```shell
|
|
@ -0,0 +1,6 @@
|
|||
+++
|
||||
title = "通过本地安装的方式使用 API Testing"
|
||||
weight = -99
|
||||
+++
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "版本"
|
||||
weight: 90
|
||||
description: 本节内容包含 API Testing 的版本概述。
|
||||
---
|
|
@ -1,3 +1,7 @@
|
|||
+++
|
||||
title = "v0.0.12"
|
||||
+++
|
||||
|
||||
`atest` 版本发布 v0.0.12
|
||||
|
||||
`atest` 是一款用 Golang 编写的、基于 YAML 格式的开源接口测试工具,可以方便地在本地、服务端、持续集成等场景中使用。
|
|
@ -1,3 +1,7 @@
|
|||
+++
|
||||
title = "v0.0.13"
|
||||
+++
|
||||
|
||||
`atest` 版本发布 `v0.0.13`
|
||||
|
||||
`atest` 是一款用 Golang 编写的、开源的接口测试工具。
|
|
@ -1,3 +1,7 @@
|
|||
+++
|
||||
title = "v0.0.14"
|
||||
+++
|
||||
|
||||
`atest` 版本发布 `v0.0.14`
|
||||
|
||||
`atest` 是一款用 Golang 编写的、开源的接口测试工具。
|
|
@ -1,3 +1,7 @@
|
|||
+++
|
||||
title = "v0.0.15"
|
||||
+++
|
||||
|
||||
`atest` 发布 `v0.0.15`
|
||||
|
||||
`atest` 是致力于帮助开发者持续保持高质量 API 的开源接口工具。
|
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
title: "v0.0.1"
|
||||
publishdate: 2024-04-09
|
||||
---
|
||||
|
||||
日期:2024 年 6 月 1 日
|
||||
|
||||
// TBD
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: "任务"
|
||||
weight: 2
|
||||
description: 通过任务学习 API Testing 实践。
|
||||
---
|
|
@ -1,10 +1,12 @@
|
|||
# gRPC测试用例编写指南
|
||||
+++
|
||||
title = "gRPC测试用例编写指南"
|
||||
+++
|
||||
|
||||
本文档将介绍如何编写`api-testing`的 gRPC API 的测试用例。
|
||||
|
||||
阅读本文档之前,您需要先安装并配置好`api-testing`,具体操作可以参考[官方文档](./README.md)。如果您已经完成了这些步骤,可以继续阅读本文档的后续部分。
|
||||
|
||||
## 创建测试项目
|
||||
## 创建测试项目
|
||||
|
||||
创建一个基于服务反射的 gRPC 测试用例仅需在 yaml 文件的`spec`路径下加入以下内容:
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
+++
|
||||
title = "Mock Server 功能使用"
|
||||
+++
|
||||
|
||||
## Get started
|
||||
|
||||
您可以通过执行下面的命令 mock 一个容器仓库服务[container registry](https://distribution.github.io/distribution/):
|
||||
|
||||
```shell
|
||||
atest mock --prefix / mock/image-registry.yaml
|
||||
```
|
||||
|
||||
之后,您可以通过使用如下的命令使用 mock 功能。
|
||||
|
||||
```shell
|
||||
docker pull localhost:6060/repo/name:tag
|
||||
```
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
title: "快速入门"
|
||||
weight: 1
|
||||
description: 只需几个简单的步骤即可开始使用 API Testing。
|
||||
---
|
||||
|
||||
本指南将帮助您通过几个简单的步骤开始使用 API Testing。
|
||||
|
||||
// TBD
|
|
@ -1,4 +1,6 @@
|
|||
# 关于安全
|
||||
+++
|
||||
title = "关于安全"
|
||||
+++
|
||||
|
||||
通常在不使用 TLS 证书认证时,gRPC 客户端与服务端之间进行的是明文通信,信息易被第三方监听或篡改。所以大多数情况下均推荐使用 SSL/TLS 保护 gRPC 服务。目前`atest`已实现服务端 TLS,双向 TLS(mTLS) 需等待后续实现。
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
+++
|
||||
title = "新闻"
|
||||
linktitle = "新闻"
|
||||
description = "有关 API Testing 的新闻"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
这是**新闻**部分。它分为三个类别:博客、演讲和发布。
|
||||
|
||||
这些目录中的文件将按时间倒序列出。
|
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
title = "博客"
|
||||
description = "关于 API Testing 的博客"
|
||||
linktitle = "博客"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
|
@ -1,3 +1,8 @@
|
|||
+++
|
||||
title = "很荣幸与屈晗煜在 GitLink 编程夏令营(GLCC)活动中协作"
|
||||
weight = -99
|
||||
+++
|
||||
|
||||
很荣幸与屈晗煜在 GitLink 编程夏令营(GLCC)活动中协作
|
||||
|
||||
作为一名软件工程师,天然有着追求代码质量的执念。相信很多人对代码的优雅、质量有着自己的认识,业界也有不少的共识,其中有一条我认为是非常重要的——代码可测试。
|
|
@ -0,0 +1,8 @@
|
|||
+++
|
||||
title = "演讲"
|
||||
description = "有关 API Testing 的演讲、讲座和活动"
|
||||
linktitle = "演讲"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
|
@ -0,0 +1,25 @@
|
|||
+++
|
||||
title = "发布公告"
|
||||
description = "API Testing 发布公告"
|
||||
linktitle = "发布"
|
||||
|
||||
[[cascade]]
|
||||
type = "docs"
|
||||
+++
|
||||
|
||||
本文档提供了 API Testing 版本的详细信息。
|
||||
API Testing 遵循语义版本控制 [v2.0.0 规范][]进行发布版本控制。
|
||||
由于 API Testing 是一个新项目,因此次要版本是唯一被定义的版本。
|
||||
API Testing 维护人员在未来的某个日期将建立额外的发布详细信息,例如补丁版本。
|
||||
|
||||
## 稳定版本 {#stable-releases}
|
||||
|
||||
|
||||
|
||||
## 发布管理 {#release-management}
|
||||
|
||||
|
||||
|
||||
## 发布时间表 {#release-schedule}
|
||||
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: 搜索结果
|
||||
layout: search
|
||||
---
|
|
@ -0,0 +1,2 @@
|
|||
adopters:
|
||||
# todo
|
|
@ -0,0 +1,13 @@
|
|||
version: "3.3"
|
||||
|
||||
services:
|
||||
|
||||
site:
|
||||
image: docsy/docsy-example
|
||||
build:
|
||||
context: .
|
||||
command: server
|
||||
ports:
|
||||
- "1313:1313"
|
||||
volumes:
|
||||
- .:/src
|
|
@ -0,0 +1,9 @@
|
|||
module github.com/google/docsy-example
|
||||
|
||||
go 1.22.1
|
||||
|
||||
require (
|
||||
github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 // indirect
|
||||
github.com/google/docsy v0.7.1 // indirect
|
||||
github.com/twbs/bootstrap v5.2.3+incompatible // indirect
|
||||
)
|
|
@ -0,0 +1,22 @@
|
|||
github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f h1:bvkUptSRPZBr3Kxuk+bnWCEmQ5MtEJX5fjezyV0bC3g=
|
||||
github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
|
||||
github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4 h1:xfr9SidRCMEh4A8fdkLhFPcHAVbrdv3Ua0Jp/nSmhhQ=
|
||||
github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
|
||||
github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 h1:Uv1z5EqCfmiK4IHUwT0m3h/u/WCk+kpRfxvAZhpC7Gc=
|
||||
github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo=
|
||||
github.com/google/docsy v0.5.1 h1:D/ZdFKiE29xM/gwPwQzmkyXhcbQGkReRS6aGrF7lnYk=
|
||||
github.com/google/docsy v0.5.1/go.mod h1:maoUAQU5H/d+FrZIB4xg1EVWAx7RyFMGSDJyWghm31E=
|
||||
github.com/google/docsy v0.6.0 h1:43bVF18t2JihAamelQjjGzx1vO2ljCilVrBgetCA8oI=
|
||||
github.com/google/docsy v0.6.0/go.mod h1:VKKLqD8PQ7AglJc98yBorATfW7GrNVsn0kGXVYF6G+M=
|
||||
github.com/google/docsy v0.7.0 h1:JaeZ0/KufX/BJ3SyATb/fmZa1DFI7o5d9KU+i6+lLJY=
|
||||
github.com/google/docsy v0.7.0/go.mod h1:5WhIFchr5BfH6agjcInhpLRz7U7map0bcmKSpcrg6BE=
|
||||
github.com/google/docsy v0.7.1 h1:DUriA7Nr3lJjNi9Ulev1SfiG1sUYmvyDeU4nTp7uDxY=
|
||||
github.com/google/docsy v0.7.1/go.mod h1:JCmE+c+izhE0Rvzv3y+AzHhz1KdwlA9Oj5YBMklJcfc=
|
||||
github.com/google/docsy/dependencies v0.5.1/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE=
|
||||
github.com/google/docsy/dependencies v0.6.0/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE=
|
||||
github.com/google/docsy/dependencies v0.7.0/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4=
|
||||
github.com/google/docsy/dependencies v0.7.1/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4=
|
||||
github.com/twbs/bootstrap v4.6.2+incompatible h1:TDa+R51BTiy1wEHSYjmqDb8LxNl/zaEjAOpRE9Hwh/o=
|
||||
github.com/twbs/bootstrap v4.6.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
|
||||
github.com/twbs/bootstrap v5.2.3+incompatible h1:lOmsJx587qfF7/gE7Vv4FxEofegyJlEACeVV+Mt7cgc=
|
||||
github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
|
|
@ -0,0 +1,284 @@
|
|||
baseURL = "/"
|
||||
title = "API Testing"
|
||||
|
||||
# Language settings
|
||||
contentDir = "content"
|
||||
defaultContentLanguage = "zh"
|
||||
defaultContentLanguageInSubdir = false
|
||||
# Useful when translating.
|
||||
enableMissingTranslationPlaceholders = true
|
||||
|
||||
enableRobotsTXT = true
|
||||
|
||||
# Will give values to .Lastmod etc.
|
||||
enableGitInfo = true
|
||||
|
||||
# Comment out to enable taxonomies in Docsy
|
||||
# disableKinds = ["taxonomy", "taxonomyTerm"]
|
||||
|
||||
# You can add your own taxonomies
|
||||
[taxonomies]
|
||||
tag = "tags"
|
||||
category = "categories"
|
||||
|
||||
[params.taxonomy]
|
||||
# set taxonomyCloud = [] to hide taxonomy clouds
|
||||
taxonomyCloud = ["tags", "categories"]
|
||||
|
||||
# If used, must have same length as taxonomyCloud
|
||||
taxonomyCloudTitle = ["Tag Cloud", "Categories"]
|
||||
|
||||
# set taxonomyPageHeader = [] to hide taxonomies on the page headers
|
||||
taxonomyPageHeader = ["tags", "categories"]
|
||||
|
||||
# Highlighting config
|
||||
pygmentsCodeFences = true
|
||||
pygmentsUseClasses = false
|
||||
# Use the new Chroma Go highlighter in Hugo.
|
||||
pygmentsUseClassic = false
|
||||
#pygmentsOptions = "linenos=table"
|
||||
# See https://help.farbox.com/pygments.html
|
||||
pygmentsStyle = "tango"
|
||||
|
||||
# Configure how URLs look like per section.
|
||||
[permalinks]
|
||||
blog = "/:section/:year/:month/:day/:slug/"
|
||||
|
||||
# Image processing configuration.
|
||||
[imaging]
|
||||
resampleFilter = "CatmullRom"
|
||||
quality = 75
|
||||
anchor = "smart"
|
||||
|
||||
[services]
|
||||
[services.googleAnalytics]
|
||||
# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback].
|
||||
id = "UA-00000000-0"
|
||||
|
||||
# Language configuration
|
||||
|
||||
[languages]
|
||||
|
||||
[languages.zh]
|
||||
contentDir = "content/zh"
|
||||
languageName = "中文"
|
||||
# Weight used for sorting.
|
||||
weight = 1
|
||||
[languages.zh.params]
|
||||
title = "API Testing"
|
||||
description = "开源的接口调试 & 测试工具"
|
||||
|
||||
[languages.en]
|
||||
contentDir = "content/en"
|
||||
languageName ="English"
|
||||
# Weight used for sorting.
|
||||
weight = 2
|
||||
[languages.en.params]
|
||||
title = "API Testing"
|
||||
description = "YAML based API testing tool. Open source interface debug and test tools."
|
||||
|
||||
[markup]
|
||||
[markup.goldmark]
|
||||
[markup.goldmark.parser.attribute]
|
||||
block = true
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
[markup.highlight]
|
||||
# See a complete list of available styles at https://xyproto.github.io/splash/docs/all.html
|
||||
style = "tango"
|
||||
# Uncomment if you want your chosen highlight style used for code blocks without a specified language
|
||||
# guessSyntax = "true"
|
||||
|
||||
# Everything below this are Site Params
|
||||
|
||||
# Comment out if you don't want the "print entire section" link enabled.
|
||||
[outputs]
|
||||
section = ["HTML", "print", "RSS"]
|
||||
|
||||
[params]
|
||||
copyright = "The API Testing Authors"
|
||||
|
||||
|
||||
# First one is picked as the Twitter card image if not set on page.
|
||||
# images = ["images/project-illustration.png"]
|
||||
|
||||
# Menu title if your navbar has a versions selector to access old versions of your site.
|
||||
# This menu appears only if you have at least one [params.versions] set.
|
||||
version_menu = "Versions"
|
||||
|
||||
# Flag used in the "version-banner" partial to decide whether to display a
|
||||
# banner on every page indicating that this is an archived version of the docs.
|
||||
# Set this flag to "true" if you want to display the banner.
|
||||
archived_version = false
|
||||
|
||||
# The version number for the version of the docs represented in this doc set.
|
||||
# Used in the "version-banner" partial to display a version number for the
|
||||
# current doc set.
|
||||
version = "latest"
|
||||
|
||||
# A link to latest version of the docs. Used in the "version-banner" partial to
|
||||
# point people to the main doc site.
|
||||
url_latest_version = "https://api-testing.io"
|
||||
|
||||
# Repository configuration (URLs for in-page links to opening issues and suggesting changes)
|
||||
github_repo = "https://github.com/LinuxSuRen/api-testing/"
|
||||
# An optional link to a related project repo. For example, the sibling repository where your product code lives.
|
||||
github_project_repo = "https://github.com/LinuxSuRen/api-testing/"
|
||||
|
||||
# Specify a value here if your content directory is not in your repo's root directory
|
||||
github_subdir = "/site/"
|
||||
|
||||
# Uncomment this if your GitHub repo does not have "main" as the default branch,
|
||||
# or specify a new value if you want to reference another branch in your GitHub links
|
||||
github_branch= "main"
|
||||
|
||||
# Google Custom Search Engine ID. Remove or comment out to disable search.
|
||||
# gcs_engine_id = "d72aa9b2712488cc3"
|
||||
|
||||
# Enable Algolia DocSearch
|
||||
algolia_docsearch = false
|
||||
|
||||
# Enable Lunr.js offline search
|
||||
offlineSearch = true
|
||||
|
||||
# Enable syntax highlighting and copy buttons on code blocks with Prism
|
||||
prism_syntax_highlighting = false
|
||||
|
||||
# User interface configuration
|
||||
[params.ui]
|
||||
# Set to true to disable breadcrumb navigation.
|
||||
breadcrumb_disable = false
|
||||
# Set to true to disable the About link in the site footer
|
||||
footer_about_disable = false
|
||||
# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top navbar
|
||||
navbar_logo = true
|
||||
# Set to true if you don't want the top navbar to be translucent when over a `block/cover`, like on the homepage.
|
||||
navbar_translucent_over_cover_disable = false
|
||||
# Enable to show the side bar menu in its compact state.
|
||||
sidebar_menu_compact = true
|
||||
# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled)
|
||||
sidebar_search_disable = false
|
||||
# Show expand/collapse icon for sidebar sections
|
||||
sidebar_menu_foldable = true
|
||||
|
||||
# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events.
|
||||
# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set.
|
||||
# If you want this feature, but occasionally need to remove the "Feedback" section from a single page,
|
||||
# add "hide_feedback: true" to the page's front matter.
|
||||
[params.ui.feedback]
|
||||
enable = true
|
||||
# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful).
|
||||
yes = 'Glad to hear it! Please <a href="https://github.com/LinuxSuRen/api-testing/issues/new">tell us how we can improve</a>.'
|
||||
no = 'Sorry to hear that. Please <a href="https://github.com/LinuxSuRen/api-testing/issues/new">tell us how we can improve</a>.'
|
||||
|
||||
# Adds a reading time to the top of each doc.
|
||||
# If you want this feature, but occasionally need to remove the Reading time from a single page,
|
||||
# add "hide_readingtime: true" to the page's front matter
|
||||
[params.ui.readingtime]
|
||||
enable = true
|
||||
|
||||
# hugo module configuration
|
||||
|
||||
[module]
|
||||
# uncomment line below for temporary local development of module
|
||||
# replacements = "github.com/LinuxSuRen/api-testing -> ../../docsy"
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.110.0"
|
||||
[[module.imports]]
|
||||
path = "github.com/google/docsy"
|
||||
disable = false
|
||||
[[module.imports]]
|
||||
path = "github.com/google/docsy/dependencies"
|
||||
disable = false
|
||||
|
||||
[params.links]
|
||||
# End user relevant links. These will show up on left side of footer and in the community page if you have one.
|
||||
[[params.links.user]]
|
||||
name = "User mailing list"
|
||||
url = "https://groups.google.com/g/api-testing-tech"
|
||||
icon = "fa fa-envelope"
|
||||
desc = "Discussion and help from your fellow users"
|
||||
[[params.links.user]]
|
||||
name ="Twitter"
|
||||
url = "https://twitter.com/apitesting"
|
||||
icon = "fab fa-twitter"
|
||||
desc = "Follow us on Twitter to get the latest news!"
|
||||
# Developer relevant links. These will show up on right side of footer and in the community page if you have one.
|
||||
[[params.links.developer]]
|
||||
name = "GitHub"
|
||||
url = "https://github.com/LinuxSuRen/api-testing"
|
||||
icon = "fab fa-github"
|
||||
desc = "Development takes place here!"
|
||||
[[params.links.developer]]
|
||||
name = "Slack"
|
||||
url = "https://apitesting.slack.com/archives/C03E6NHLESV"
|
||||
icon = "fab fa-slack"
|
||||
desc = "Chat with other project developers"
|
||||
|
||||
# i18n for Chinese
|
||||
[[languages.zh.params.links.user]]
|
||||
name = "邮件列表"
|
||||
url = "https://groups.google.com/g/api-testing-tech"
|
||||
icon = "fa fa-envelope"
|
||||
desc = "来自其他用户的讨论和帮助"
|
||||
[[languages.zh.params.links.user]]
|
||||
name ="推特"
|
||||
url = "https://twitter.com/apitesting"
|
||||
icon = "fab fa-twitter"
|
||||
desc = "在 Twitter 上关注我们以获取最新消息!"
|
||||
[[languages.zh.params.links.developer]]
|
||||
name = "GitHub"
|
||||
url = "https://github.com/LinuxSuRen/api-testing"
|
||||
icon = "fab fa-github"
|
||||
desc = "在这里进行开发!"
|
||||
[[languages.zh.params.links.developer]]
|
||||
name = "Slack"
|
||||
url = "https://apitesting.slack.com/archives/C03E6NHLESV"
|
||||
icon = "fab fa-slack"
|
||||
desc = "与其他项目开发人员沟通"
|
||||
|
||||
[menu]
|
||||
[[menu.main]]
|
||||
name = "Contributions"
|
||||
weight = -98
|
||||
url = "/contributions"
|
||||
[[menu.main]]
|
||||
name = "About"
|
||||
weight = -100
|
||||
url = "/about"
|
||||
[[menu.main]]
|
||||
name = "News"
|
||||
weight = -101
|
||||
url = "/news"
|
||||
[[menu.main]]
|
||||
name = "Documentation"
|
||||
weight = -102
|
||||
url = "/v0.0.1"
|
||||
|
||||
# i18n for Chinese
|
||||
[[languages.zh.menu.main]]
|
||||
name = "贡献"
|
||||
weight = -98
|
||||
url = "/contributions"
|
||||
[[languages.zh.menu.main]]
|
||||
name = "关于"
|
||||
weight = -100
|
||||
url = "/about"
|
||||
[[languages.zh.menu.main]]
|
||||
name = "新闻"
|
||||
weight = -101
|
||||
url = "/news"
|
||||
[[languages.zh.menu.main]]
|
||||
name = "文档"
|
||||
weight = -102
|
||||
url = "/latest"
|
||||
|
||||
[[params.versions]]
|
||||
version = "latest"
|
||||
url = "/latest"
|
||||
|
||||
[[params.versions]]
|
||||
version = "v0.0.1"
|
||||
url = "/v0.0.1"
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{{ define "main" -}}
|
||||
<div class="td-content">
|
||||
<h1>Not found</h1>
|
||||
<p>Oops! This page doesn't exist. Try going back to the <a href="{{ "" | relURL }}">home page</a>.</p>
|
||||
</div>
|
||||
{{- end }}
|
|
@ -0,0 +1,84 @@
|
|||
{{ $adopters := .Site.Data.adopters.adopters }}
|
||||
<section id="adopters">
|
||||
<h2 class="adopter-head">Our Adopters</h2>
|
||||
<div class="adopters-list">
|
||||
{{ range $adopters }}
|
||||
<a class="adopter" href="{{ .url }}" target="_blank">
|
||||
<img src="{{ .logo | relURL }}" alt="{{ .name }} logo">
|
||||
<div class="adopter-info">
|
||||
<p>{{ .description }}</p>
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
#adopters {
|
||||
text-align: center;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.adopter-head {
|
||||
padding: 50px;
|
||||
}
|
||||
|
||||
.adopters-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: flex-start; /* Center items horizontally */
|
||||
gap: 20px;
|
||||
max-width: 1200px; /* Adjust to fit the container width */
|
||||
margin: 0 auto; /* Center the container */
|
||||
}
|
||||
|
||||
.adopter {
|
||||
position: relative;
|
||||
flex: 0 1 calc(25% - 20px); /* Adjust width to fit 4 items per row */
|
||||
max-width: calc(25% - 20px);
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
background-color: #f9f9f9;
|
||||
border-radius: 8px;
|
||||
text-align: center;
|
||||
transition: transform 0.3s ease;
|
||||
display: grid;
|
||||
place-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.adopter img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.adopter-info {
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: 100%; /* Position above the logo */
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
background-color: rgba(0, 0, 0, 0.8);
|
||||
color: white;
|
||||
padding: 10px 10px 0px 15px;
|
||||
border-radius: 5px;
|
||||
width: 500px; /* Adjust the width as needed */
|
||||
z-index: 10;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.adopter:hover .adopter-info {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Responsive design for mobile devices */
|
||||
@media (max-width: 768px) {
|
||||
.adopters-list {
|
||||
justify-content: center; /* Ensure center alignment on mobile */
|
||||
}
|
||||
.adopter {
|
||||
flex: 0 1 100%; /* Each item takes full width */
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"name": "docsy-example-site",
|
||||
"version": "0.7.1",
|
||||
"description": "Example site that uses Docsy theme for technical documentation.",
|
||||
"repository": "github:google/docsy-example",
|
||||
"homepage": "https://example.docsy.dev",
|
||||
"author": "Docsy Authors",
|
||||
"license": "Apache-2.0",
|
||||
"bugs": "https://github.com/google/docsy-example/issues",
|
||||
"spelling": "cSpell:ignore HTMLTEST precheck postbuild -",
|
||||
"scripts": {
|
||||
"_build": "npm run _hugo-dev",
|
||||
"_check:links": "echo IMPLEMENTATION PENDING for check-links; echo",
|
||||
"_hugo": "hugo --cleanDestinationDir",
|
||||
"_hugo-dev": "npm run _hugo -- -e dev -DFE --baseURL http://localhost --bind 0.0.0.0",
|
||||
"_serve": "npm run _hugo-dev -- --minify serve",
|
||||
"build:preview": "npm run _hugo-dev -- --minify --baseURL \"${DEPLOY_PRIME_URL:-/}\"",
|
||||
"build:production": "npm run _hugo -- --minify",
|
||||
"build": "npm run _build",
|
||||
"check:links:all": "HTMLTEST_ARGS= npm run _check:links",
|
||||
"check:links": "npm run _check:links",
|
||||
"clean": "rm -Rf public/* resources",
|
||||
"make:public": "git init -b main public",
|
||||
"precheck:links:all": "npm run build",
|
||||
"precheck:links": "npm run build",
|
||||
"postbuild:preview": "npm run _check:links",
|
||||
"postbuild:production": "npm run _check:links",
|
||||
"serve": "npm run _serve",
|
||||
"test": "npm run check:links",
|
||||
"update:pkg:dep": "npm install --save-dev autoprefixer@latest postcss-cli@latest",
|
||||
"update:pkg:hugo": "npm install --save-dev --save-exact hugo-extended@latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.4.14",
|
||||
"hugo-extended": "0.123.8",
|
||||
"postcss-cli": "^10.1.0"
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1 @@
|
|||
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 38 KiB |
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,29 @@
|
|||
## Contributor Code of Conduct
|
||||
|
||||
As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
||||
|
||||
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
- The use of sexualized language or imagery
|
||||
|
||||
- Personal attacks
|
||||
|
||||
- Trolling or insulting/derogatory comments
|
||||
|
||||
- Public or private harassment
|
||||
|
||||
- Publishing other’s private information, such as physical or electronic addresses, without explicit permission
|
||||
|
||||
- Other unethical or unprofessional conduct
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org/), version 1.3.0, available at [contributor-covenant.org/version/1/3/0/](http://contributor-covenant.org/version/1/3/0/)
|
|
@ -0,0 +1,95 @@
|
|||
> English | [中文](CONTRIBUTING-ZH.md)
|
||||
|
||||
Please join us to improve this project.
|
||||
|
||||
The backend is written by [Golang](https://go.dev/), and the front-end is written by [Vue](https://vuejs.org/).
|
||||
|
||||
## For beginner
|
||||
|
||||
You might need to know the following tech before get started.
|
||||
|
||||
| Name | Domain |
|
||||
|-----------------------------------------------------------------------------|------------------------------------------------------------------------|
|
||||
| [HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview) Protocol | Core |
|
||||
| [RESTful](https://en.wikipedia.org/wiki/REST) | Core |
|
||||
| [gRPC](https://grpc.io/) | `gRPC` runner extension |
|
||||
| [Prometheus](https://prometheus.io/) | Application monitor |
|
||||
| [Cobra](https://github.com/spf13/cobra) | The Go CLI framework |
|
||||
| [Element Plus](https://element-plus.org/) | The front-end framework |
|
||||
| [Docker](https://www.docker.com/get-started/) | The container image build |
|
||||
| [Helm chart](https://helm.sh/) | The [Kubernetes](https://kubernetes.io/docs/home/) application package |
|
||||
| [GitHub Actions](https://docs.github.com/en/actions) | The continuous integration |
|
||||
| [make](https://www.gnu.org/software/make/) | The automated Build Tools |
|
||||
| [Docs Guide](https://github.com/LinuxSuRen/api-testing.git) | Documentation Guidelines |
|
||||
|
||||
## Setup development environment
|
||||
|
||||
> This project uses `make` as a build tool and has a very powerful make command system.
|
||||
> You can see all the available commands by running `make help`.
|
||||
|
||||
It's highly recommended you to configure the git pre-commit hook. It will force to run unit tests before commit.
|
||||
Run the following command:
|
||||
|
||||
```shell
|
||||
make install-precheck
|
||||
```
|
||||
|
||||
## Print the code of lines:
|
||||
|
||||
```shell
|
||||
git ls-files | xargs cloc
|
||||
```
|
||||
|
||||
## pprof
|
||||
|
||||
```
|
||||
go tool pprof -http=:9999 http://localhost:8080/debug/pprof/heap
|
||||
```
|
||||
|
||||
Other usage of this:
|
||||
* `/debug/pprof/heap?gc=1`
|
||||
* `/debug/pprof/heap?seconds=10`
|
||||
* `/debug/pprof/goroutine/?debug=0`
|
||||
|
||||
## SkyWalking
|
||||
|
||||
```shell
|
||||
docker run -p 12800:12800 -p 9412:9412 docker.io/apache/skywalking-oap-server:9.0.0
|
||||
docker run -p 8080:8080 -e SW_OAP_ADDRESS=http://172.11.0.6:12800 -e SW_ZIPKIN_ADDRESS=http://172.11.0.6:9412 docker.io/apache/skywalking-ui:9.0.0
|
||||
|
||||
make build
|
||||
|
||||
export SW_AGENT_NAME=atest
|
||||
export SW_AGENT_REPORTER_GRPC_BACKEND_SERVICE=172.11.0.6:30689
|
||||
export SW_AGENT_PLUGIN_CONFIG_HTTP_SERVER_COLLECT_PARAMETERS=true
|
||||
export SW_AGENT_METER_COLLECT_INTERVAL=3
|
||||
export SW_AGENT_LOG_TYPE=std
|
||||
export SW_AGENT_REPORTER_DISCARD=true
|
||||
./bin/atest server --local-storage 'bin/*.yaml' --http-port 8082 --port 7072 --console-path console/atest-ui/dist/
|
||||
```
|
||||
|
||||
Run SkyWalking with BanYanDB:
|
||||
|
||||
```shell
|
||||
docker run -p 17912:17912 -p 17913:17913 apache/skywalking-banyandb:latest standalone
|
||||
|
||||
docker run -p 12800:12800 -p 9412:9412 \
|
||||
-e SW_STORAGE=banyandb \
|
||||
-e SW_STORAGE_BANYANDB_HOST=192.168.1.98 \
|
||||
docker.io/apache/skywalking-oap-server
|
||||
```
|
||||
|
||||
## First contribution
|
||||
|
||||
For developers contributing code to this project for the first time, you should run the following command in your local development environment:
|
||||
|
||||
```shell
|
||||
make test
|
||||
```
|
||||
|
||||
This will help you to check for and fix any bugs that you encounter at commit time, as well as reduce the complexity of the review.
|
||||
|
||||
## FAQ
|
||||
|
||||
* Got sum missing match error of go.
|
||||
* Run command: `go clean -modcache && go mod tidy`
|
|
@ -0,0 +1,18 @@
|
|||
## Reporting Security Issues
|
||||
|
||||
The API Testing commnity takes a rigorous standpoint in annihilating the security issues in its software projects. API Testing is highly sensitive and forthcoming to issues pertaining to its features and functionality.
|
||||
|
||||
## REPORTING VULNERABILITY
|
||||
|
||||
If you have apprehensions regarding API Testing's security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the api-testing Security Team by dropping a mail at [api-testing-security@googlegroups.com](mailto:api-testing-security@googlegroups.com). In the mail, specify the description of the issue or potential threat. You are also urged to recommend the way to reproduce and replicate the issue. The API Testing community will get back to you after assessing and analysing the findings.
|
||||
|
||||
PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on public domain.
|
||||
|
||||
## VULNERABILITY HANDLING
|
||||
|
||||
An overview of the vulnerability handling process is:
|
||||
|
||||
The reporter reports the vulnerability privately to API Testing community.
|
||||
The appropriate project's security team works privately with the reporter to resolve the vulnerability.
|
||||
A new release of the API Testing product concerned is made that includes the fix.
|
||||
The vulnerability is publically announced.
|
|
@ -43,7 +43,7 @@ linters-settings:
|
|||
# Contains all imports that could not be matched to another section type.
|
||||
- default
|
||||
# Groups all imports with the specified Prefix.
|
||||
- prefix(github.com/envoyproxy/gateway)
|
||||
- prefix(github.com/LinuxSuRen/api-testing)
|
||||
gofmt:
|
||||
simplify: true
|
||||
goheader:
|
||||
|
@ -58,7 +58,7 @@ linters-settings:
|
|||
goimports:
|
||||
# put imports beginning with prefix after 3rd-party packages;
|
||||
# it's a comma-separated list of prefixes
|
||||
local-prefixes: github.com/envoyproxy/gateway/
|
||||
local-prefixes: github.com/LinuxSuRen/api-testing/
|
||||
govet:
|
||||
enable-all: true
|
||||
disable:
|
||||
|
|
|
@ -2,21 +2,20 @@
|
|||
#
|
||||
# All make targets related to docs are defined in this file.
|
||||
|
||||
DOCS_OUTPUT_DIR := site/public
|
||||
|
||||
##@ Docs
|
||||
|
||||
.PHONY: clean
|
||||
clean: ## Remove all files that are created during builds.
|
||||
clean: docs.clean
|
||||
.PHONY: docs
|
||||
docs: docs.clean
|
||||
@$(LOG_TARGET)
|
||||
cd $(ROOT_DIR)/docs/site && npm install
|
||||
cd $(ROOT_DIR)/docs/site && npm run build:production
|
||||
|
||||
.PHONY: check-links
|
||||
check-links: ## Check for broken links in the docs.
|
||||
check-links: docs-check-links
|
||||
|
||||
# Clean docs dir.
|
||||
.PHONY: docs.clean
|
||||
docs.clean:
|
||||
@$(LOG_TARGET)
|
||||
rm -rf $(DOCS_OUTPUT_DIR)
|
||||
|
||||
|
||||
.PHONY: docs-check-links
|
||||
docs-check-links:
|
||||
|
@ -24,3 +23,23 @@ docs-check-links:
|
|||
# Check for broken links
|
||||
npm install -g linkinator@6.0.4
|
||||
linkinator docs -r --concurrency 25 -s "github.com"
|
||||
|
||||
# Docs site, make by hexo.
|
||||
|
||||
.PHONY: docs-serve
|
||||
docs-serve: ## Start API Testing Site Locally.
|
||||
@$(LOG_TARGET)
|
||||
cd $(ROOT_DIR)/docs/site && npm run serve
|
||||
|
||||
.PHONY: docs-clean
|
||||
docs-clean: ## Remove all files that are created during builds.
|
||||
docs-clean: docs.clean
|
||||
|
||||
.PHONY: docs.clean
|
||||
docs.clean:
|
||||
@$(LOG_TARGET)
|
||||
rm -rf $(DOCS_OUTPUT_DIR)
|
||||
rm -rf docs/site/node_modules
|
||||
rm -rf docs/site/resources
|
||||
rm -f docs/site/package-lock.json
|
||||
rm -f docs/site/.hugo_build.lock
|
||||
|
|
Loading…
Reference in New Issue