Ufotest

Latest version: v1.1.0

Safety actively analyzes 630052 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

0.11.0

-------------------

Additions

- TestReport now also generates an html page, which means that an online version of the test report can also be
delivered using the CI server.
- AbstractTest cases now also have a "description" property where the test can be described. This description is then
rendered to the test report as well
- The test reports and the build reports now also save as JSON files. This is important for procedurally parsing the
information about a report later on, as it is needed for example to generate a list of all the tests/reports...
- CI server now also has a home page


Changes

- Changed the name of the static asset "build_report.css" to just "report.css". The very same stylesheet is also being
used for the test report page.
- Added the new properties "repository_url" and "documentation_url" under the "general" section of the config file.
These values are needed to display them in the web pages of the CI server.
- Refactored the testing procedure: Deprecated the old implementations of TestRunner, TestReport and TestMetadata and
replaced them with new implementations.
Added the new class TestContext. The way the testing process is now implemented internally functions much the same
way as the build system. A new context manager has to be created for each new test run. This context is then first
passed to the test runner, which actually executes the tests and writes the results back to the context. This "filled"
context can then be passed to the test report constructor for the reporting functionality.
- Removed the "email" option from the "test" command.
- The jinja templates for the CI web server now use template inheritance, which was used to add a default header to
each web page, which can be used to navigate between the most important pages.

Documentation

- Changed the documentation for the new "serve" command

0.10.0

-------------------

Additions

- A module 'ufotest.ci.email' which implements the functionality of sending emails in response to ci actions, which
inform the different contributors of the package about the outcome of automated build triggers.
- The flask server now also serves the static html files from the 'builds' report folder
- Added a new folder 'static' to the project, which will contain all the static assets needed for the flask CI web
server. These assets are mainly CSS and JS files as well as images etc. With the 'init' command this folder is being
copied to the installation folder of the application. This is also the place where the files are actually being
served. This has the advantage, that the files could be modified by the users.

Changes

- Fixed the broken code blocks in the CI part of the documentation.
- Moved the 'get_repository_name' function from ufotest.install to ufotest.util. Seems more intuitive
- Added the abstract method 'to_html' to the abstract base class AbstractRichOutput. Since it is now the plan that all
relevant generated reports etc would be able to be viewed remotely over a web server, it would make sense to also
generate the necessary html for this in the specific classes.
- Renamed the 'ci run' command to 'ci build'. I am referring to the process as a 'build' in all the comments and the
documentation, so it is more consitent to actually also call the command itself like this
- Completely reworked the process of how the ci build works.
- The ufotest installation folder now has an additional folder called 'builds' which will act as an archive for the
build process much like the 'archive' folder works for test run reports. Having both of these seperately now is
more consistent, becauses not every test run has to be part of a build, but every build contains a test run.
the build report now simply links to the test report.
- The implementation for this new process is in the module ufotest.ci.build
- Updated readme with credits for flask web framework

Documentation

- Renamed all occurrances of the build process to use the new name 'build' instead of 'run'

0.9.1

------------------

Additions

- Added a little bit of a convenience function to the ci web server: When visiting the root web site. It will display
a little help text now to see that the server is indeed running.

Changes

- Changed the route for the ci server which accepts the source control web requests from '/push' to '/push/github'
because this leaves open the possibility to implement the custom web hooks of other source control systems in the
future.

Documentation

- Added Documentation for the ci functions of the ufotest app

0.9.0

------------------

Additions

- Added the python package 'md-to-html' to the list of requirements. It will be needed to convert the markdown output
of the reports into actual html pages which can be viewed.
- Implemented a utility function to convert a markdown file into an html file.
- Added the python library 'flask' to the requirements. This library will be used to start a simple web server which
will be responsible for reacting to the github hooks when new changes have been made to the repository.
- Added the 'ci' section to the config file. It contains all information which is necessary for the ci functionality
such as the remote source repository url, which is to be monitored, the branch which is to be cloned and the public
hostname of the host machine.
- Added new command group 'ci' which will contain all the commands necessary for the continuous integraion
functionality of the application.
- Added the 'run' command. It will clone the repository which was defined in the config file, flash the new version
of the bitfile from the repo to the hardware and then run a test suite with this new hardware configuration.
this command also aves a copy of the bit file version which was used for the process in the archive.
- Added the 'serve' command. It will start a minimal flask web server which listens to the post request generated by
the remote repository whenever a new commit has been pushed.
- The flask server, which is used to respond to git webhooks also serves the static files from the archive, which means
that no additional nginx server has to be installed.

Changes

- Changed the function which clones the git repos to also be able to clone specific branches
- Started to unify the style of the console output of all the commands
- Reworked the "init" command to use the new style of console output, include a 'verbose' option and it now catches the
error correctly if the folder already exists and the force flag is not set.

Documentation

- Added documentation which explains how to setup an nginx server to be able to view the test reports remotely using
a browser.
- Fixed the issues with the documentation not building
- Fixed the Logo not being displayed in the documentation version of the readme

0.8.3

------------------

Fixes

- Fixed the access to the config values of the camera dimensions in the function which acquires
a frame.
- fixed the install command

Changes

- Updated the readme

0.8.2

------------------

- Fixes
- "test" command had the execution of a suite and a single test switched around
- fixed the "get_command_output" function which was not working
- fixed a minor issue in the test report markdown template
- Added
- The run method of a single "AbstractTest" is now wrapped int a try/except statement.
- The class "AssertionTestResult", which can be used for tests to define assertion cases.
- Unittests for this class
- Test suite "full" which is meant to contain all the tests in the future
- Changes
- The "no-dependencies" flag of the "install" command now only skips the system packages
- Documentation
- Extended "usage" with how to use the "test" command
- Added additional section "tests", which explains how to write a custom test class.

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.