Instead of syntribos taking in ``--custom_install_root` during init and
``--syntribos-custom_root`` during run, which sometimes led to the custom root
option not being set correctly, the redundant config options have been
deprecated.
Change-Id: I95f4d345fe8a8608ff6d1daaf06ff49912917a3f
Fixes:
1) Crashes in runner and file_utils
2) Binary strings being read in as payloads
Updates:
1) Clarified error messages in parser
2) Confusing variable names in test cases vs issues
Adds:
1) A `syntribos root` CLI sub command to display the current syntribos root dir
Change-Id: I22edf7a1f3d39724522aee88d08b00d299b67248
1) Allows for YAML body in request templates. If a content-type
is specified for a request template, Syntribos will validate the
body against the header. This is to prevent templates from silently
failing to parse and sending unintended data to the target.
2) Added extension to support basicauth
3) Lowered confidence ratings for various tests
Change-Id: I672b0e0aa3da1aa6dd7e9a8456da73f0a15759b7
This change:
1) rewrites the runner to spawn a thread pool for each template
and assigns a worker for each test case
2) makes the output colorized by default
3) makes minor changes to the output
Change-Id: I49906f5daaa339ca9429913680203c762a0ad9fe
The i18n team has decided not to translate the logs because it
seems like it not very useful; operators prefer to have them in
English so that they can search for those strings on the internet.
Change-Id: I84b1a2397f424430ed332aa7d4d874379abd0357
As the templates have been moved to official repo, changing the
default URL in config to reflect the same.
Change-Id: If1050470947248f6c46a33bcaf1054dad3431b62
As payloads have been uploaded to the official repo, this change
updates the remote uri for payloads.
Change-Id: I074f1568e17e3b6192c439f1fcb3de98095ba351
Messages displayed for some exceptions are too vague and have
stack traces, cleaning up a few messages and the way they are
handled.
Change-Id: I7b134844e8a9cfa21a119cd5b5b6c37871d0381a
During the first set of tests we did, it became clear that we
would need a way to test specific user provided string and check
them against user defined failure keys.
This test adds that functionality to the suite.
Change-Id: I53833c2ab11813d746d9fc97355adaf51eb6096e
Syntribos now downloads payloads as part of the initialization process, and
also can download payloads and templates as part of the 'syntribos download'
command.
Change-Id: I17501535e5fd341c2705e07e3797643dc2d4a7df
Adds several tests to exercise more of runner and the env utils.
Makes several modifications to config.py, runner.py, and utils/env.py,
with the aim of making them more testable.
Change-Id: I708df9e5315f3dadd028c8107ac6416c707e90a0
Closes-Bug: #1634296
This command will set up the basics needed for a syntribos environment
(i.e. template folder, payload folder, log folder, default config file)
Some modifications have also been made to Runner to facilitate these
changes. These changes will (hopefully) allow us to better unit test
components of the runner.
Change-Id: I001e798b89539468cfbd92d5df301f7e59f1f33d
When syntribos attempts to download templates, it fails with
unicode error. This patch fixes it.
Closes-Bug: #1636609
Change-Id: Id62e9ed70d1b4501fe531587947c1f6d88bf034a
POC on loading payloads using remote URI. This is part of a larger
effort in packaging syntribos to ensure that the project would
work without much configuration post install from pypi.
Change-Id: Id61e840d4f49d5b6deb72bce2e8bcc0e1096fa52
Updates to the syntribos official docs to reflect the present
state of the tool and also few styling changes.
Adding details about different tests
Fixing headings
Fixing typos
Adding links to source code and documentation
Change-Id: I99be3d150db72e88cdc9dcaf08668df7c831fec6
Modifying memoize to accept user defined ttl from config and
changing the way unique id is calculated.
Change-Id: Icda4e105bb9ead8edeaef089b677a83d1fa6f9d4
Services other than OpenStack requires scoped tokens.
Added methods to retrieve scoped tokens from keystone.
Change-Id: I171beabf62de3e27f13906bcd6e193ccc71e6c9d
This change allows us to keep track of what subdirectory a template is
in relative to the templates root (e.g. admin/test.template),
rather than just the filename (test.template)
Change-Id: I884f5e4eef9b4d58e80d02a1e33c1ca5b463bf40
1) renamed "user" section for clarity
2) Added option to exclude defect type from output
3) modified default time_diff_percentage and length_diff_percentage values
4) added sample default values to config for oslo-config-generator
Change-Id: I4f88c255f8d4e6edfe3df3a4e463aee0cdd9c26b
This change adds some commands to syntribos
sub commands:
- list_tests
- run
- dry_run
Also, refactoring runner.py and added utils/cli.py
to add all utility methods used for cli output.
Change-Id: Ieed2e06e0fb6eec34be640ae1db86785403546df
As logger was not getting registered before config options
were parsed, the call to logger in the exception handling
block on config.py failed with the error message "no handler
found", when it was unable to read the config file,
this fix resolves it.
Change-Id: I8001141d061adc6dd9d3bca4b3e8930309252163
Closes-Bug: #1610752
Adding a simple counter based id to tests to track them in debug
log and results log. Also, this patch improves the result output
like adding a progress bar and uniform test names..
Change-Id: Ib83181b25a0c18c7993f491cde98d73555b01404
Adding request/response content compression and
modifying the print_log method to display the update log_dir
This is part of the change to update th overall structure of the
debug log. Adding a logger options to config.
Added compression to request params and headers as well, this has
helped in reducing avg log size to abt 50 percent, without loss of
information.
Updated config file to reflect this change
Change-Id: Ifac7a671607945a4ca15d2e87b28b4b2718f0ee1
This is part of multiple patches to change the way we do
debug logging.
comments on some of the changes:
base_http_client looks cluttered with the debug_log decorator
and the HttpClient class, so split it into two and now the
logger is in its on file.
Change-Id: I49faa0a0ab92b25446e5047dfa039ecbdf400b6a
-e, --excluded-types is now a CLI option to do the opposite of -t. That is,
syntribos -e SQL will now exclude all SQL injection tests from being run.
Change-Id: I2f9a0da9792e17bfb8777e9497fc9c5dcbfe9660
- Merges arguments.py and and existing config.py files into one file
- Removes dependencies on cafe.* config file / CLI parsing
- Adds "register_opts" to BTC to allow Tests to specify config options
- Moves us completely from cclogging to Python logging
Change-Id: I0d4a84563d54307c94c0064be429919f9d91d67b
We are currently using block quotes for license comments, which means
that Sphinx pulls this into every module, which is bad. Hash-prefixed
comments for licenses seem to be the standard for OpenStack as well.
Change-Id: Iabc60228c1201a960f672e1b0c7ab3c5312c9d8e
Implements: blueprint docstring-add-to-framework
This PR adds docstrings to a number of important components of
Syntribos, and adds this documentation to our Sphinx doc structure. It
also removes copyrights from __init__.py files with no other content,
in line with OpenStack style guidelines.
Set 2: Fixed PEP8 failure.
Change-Id: Ic57b31f451ec3ecf7f5b308da4544f808c9c9a5d
Implements: blueprint docstring-add-to-framework
This test uses two users, generates their tokens
and tries to use token B to access the user A's
profile. If it succeeds this shows a security
vulnerability exists.
Change-Id: I67c89f74985e598999080f6bd89b55934df686ef
Implements: blueprint test-unauthed