catalystcentersdk is a community development project. Feedback, thoughts, ideas, and code contributions are most welcome!
Please use the issues page to report issues or post ideas for enhancement.
We have created some scripts to automate everyday actions needed when working on the project. Please see the script directory, and it's README for more information.
The test suite is grouped by CatalystCenter versions supported in the Cisco CatalystCenter SDK.
The test suite uses a mockup server, instead of calling to a CatalystCenter server directly.
The mockup server is not perfect, that is why it is sometimes necessary to rerun a failed test, we do this by using pytest-rerunfailures. On the script/test file, you can find the pytest-rerunfailures settings, adjust them locally if strictly necessary.
Check for open issues or create a new issue for the item you want to work on and make sure to comment and let us know that you are working on it.
Fork a copy of the repository and clone your forked repository to your development environment.
Run
script/setup
to install the development dependencies and setup your environment.Configure the following environment variables in your development environment:
TEST_CATALYST_CENTER_ENCODED_AUTH
- Your test account's CatalystCenter encoded_auth (username:password encoded in base 64). This variable has priority over username and password.TEST_CATALYST_CENTER_USERNAME
- Your test account's CatalystCenter username.TEST_CATALYST_CENTER_PASSWORD
- Your test account's CatalystCenter password.DEBUG_ENVIRONMENT_VARIABLE
- Your test's debug variable, which controls whether to log information about CatalystCenter APIs' request and response process.VERSION_ENVIRONMENT_VARIABLE
- The CatalystCenter API's version used to test the SDK.
Add your code to your forked repository.
If you are creating some new feature or functionality (excellent!), please also write a test to verify that your code works as expected.
We follow PEP8 reasonably strictly for this project. Please make sure your code passes the linter.
Run
script/test lint
or simply runflake8
from the project root.Commit your changes.
Submit a pull request. The GitHub/Travis CI system runs the test suite against your pull request code. If any tests fail, please review your changes. If everything looks good, we will gladly merge your request!
Check for open issues or create a new 'issue' for the item you want to work on and make sure to comment and let us know that you are working on it.
Fork a copy of the repository and clone your forked repository to your development environment.
Run
script/setup
to install the development dependencies and setup your environment.Configure the following environment variables in your development environment:
TEST_CATALYST_CENTER_ENCODED_AUTH
- Your test account's CatalystCenter encoded_auth (username:password encoded in base 64). This variable has priority over username and password.TEST_CATALYST_CENTER_USERNAME
- Your test account's CatalystCenter username.TEST_CATALYST_CENTER_PASSWORD
- Your test account's CatalystCenter password.DEBUG_ENVIRONMENT_VARIABLE
- Your test's debug variable, which controls whether to log information about CatalystCenter APIs' request and response process.VERSION_ENVIRONMENT_VARIABLE
- The CatalystCenter API's version used to test the SDK.
Example:
#!/usr/bin/env bash export TEST_CATALYST_CENTER_ENCODED_AUTH="<test account's username:password encoded in base 64>"
Add your code to your forked repository.
If you are creating some new feature or functionality (excellent!), please also write a test to verify that your code works as expected.
We follow PEP8 reasonably strictly for this project. Please make sure your code passes the linter.
Run
script/test lint
from the project root.Commit your changes.
Ensure your code passes all of the default tests for all the involved CatalystCenter versions.
Run
script/test
and ensure all tests execute successfully.Submit a pull request. If everything looks good, we will gladly merge your request!