This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Get Involved

This section includes contents related to Contributions

1 - Design

This section includes Designs of API Testing.

1.1 - Todo Add Design

Todo.

// TBD

2 - Contributing

This section contributing of API Testing.

Please join us to improve this project.

The backend is written by Golang, and the front-end is written by Vue.

For beginner

You might need to know the following tech before get started.

NameDomain
HTTP ProtocolCore
RESTfulCore
gRPCgRPC runner extension
PrometheusApplication monitor
CobraThe Go CLI framework
Element PlusThe front-end framework
DockerThe container image build
Helm chartThe Kubernetes application package
GitHub ActionsThe continuous integration
makeThe automated Build Tools
Docs GuideDocumentation 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:

make install-precheck
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

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:

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:

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

3 - Contributor Code of Conduct

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, version 1.3.0, available at contributor-covenant.org/version/1/3/0/

4 - Roadmap

This section records the roadmap of API Testing.

// TBD

5 - Security

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. 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.