Nitrate is now KiwiTestPad

Version: kiwitestpad-3.21.2 Released on: 2017-05-26 Severity: High URL: http://MrSenko.com/kiwi/

Details

KiwiTestPad is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Starting with this release the product will be available under the name KiwiTestPad with an upstream repository at https://github.com/MrSenko/Kiwi/.

We have been working actively with the upstream Nitrate project in the past several months. However the community is practically unresponsive and without a clear vision how to develop in the future. The PR velocity is very slow and pull requests have been opened for months and years. This is why at Mr. Senko we have decided to fork the project completely and drive the new community on our own!

The most important changes you can expect in the short-term future are complete integration with JIRA and GitHub, improvements to documentation, improved support for running as Docker container, migration to latest Django versions and migration to Python 3, cleaning up of obsolete dependencies and streamlining the process of creating customized configuration of KiwiTestPad, improved visual design and simplified UX!

Changes since Nitrate 3.8.18.21

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

pip install --upgrade kiwitestpad

If you are using KiwiTestPad as a Docker container then

docker-compose stop
docker rm kiwi_web_1 kiwi_db_1
docker-compose up -d
docker exec -it kiwi_web_1 /Kiwi/manage.py migrate

NOTE you will need the appropriate version of docker-compose.yml and the mrsenko/kiwi Docker image for the above commands to work!

There are comments.

Nitrate enhancement update

Version: nitrate-3.8.18.21 Released on: 2017-05-25 Severity: High URL: http://MrSenko.com/nitrate/

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package and Docker image are now available which introduce several improvements. Among them is the full ability to configure external issue trackers via the Admin menu and allow functional integration between Nitrate and issue trackers. This release supports full integration with Bugzilla. Full integration with JIRA will be available in upcoming releases.

Changes since 3.8.18.18

NOTE: this release introduces new database migrations so don't forget to execute ./manage.py migrate!

NOTE: this release includes updated static files so don't forget to execute ./manage.py collectstatic!

NOTE: this release introduces a new configuration setting called NITRATE_BASE_URL. It defines the FQDN of your Nitrate instance! This setting is used to construct a URL linking back to test cases and test runs when reporting bugs!

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

pip install --upgrade nitrate

If you are using Nitrate as a Docker container then

docker-compose stop
docker rm nitrate_web_1 nitrate_db_1
docker-compose up -d
docker exec -it nitrate_web_1 /Nitrate/manage.py migrate

NOTE you will need the appropriate version of docker-compose.yml for the above commands to work!

There are comments.

Nitrate bug-fix and enhancement update

Version: nitrate-3.8.18.18 Released on: 2017-05-01 Severity: High URL: http://MrSenko.com/nitrate/

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package and Docker image are now available which fix several bugs and introduce big improvements related to using external bug trackers with Nitrate! Further improvements related to bugtracker integration will be available in the next release.

Changes since 3.8.18.17

NOTE: this release introduces new database migrations so don't forget to execute ./manage.py migrate!

Open upstream issues

The following issues and pull requests, which have been previously released on Mr. Senko, are still open in the upstream repository:

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

pip install --upgrade nitrate

If you are using Nitrate as a Docker container then

docker-compose stop
docker rm nitrate_web_1 nitrate_db_1
docker-compose up -d
docker exec -it nitrate_web_1 /Nitrate/manage.py migrate

NOTE you will need the appropriate version of docker-compose.yml for the above commands to work!

There are comments.

Nitrate bug-fix and enhancement update

Version: nitrate-3.8.18.17 Released on: 2017-04-24 Severity: Medium Documentation: http://nitrate-mrsenko.rtfd.io/

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available which introduces several fixes and improvements. It is also possible to build and run Nitrate as a Docker image. Further improvements for running in dockerized environment will be available in the next release.

Changelog since 3.8.18.15

Open upstream issues

The following issues and pull requests, which have been previously released on Mr. Senko, are still open in the upstream repository:

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

pip install --upgrade nitrate

There are comments.

Nitrate enhancement update

Version: nitrate-3.8.18.15 Released on: 2017-04-12 Severity: Medium

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available which removes one database migration. tcms.core.migrations.0001_django_comments__object_pk is modifying a 3rd party model and Django gets really confused about this! See the discussion in PR #157 about why we've decided to drop the migration!

Changelog since 3.8.18.12

Open upstream issues

The following issues and pull requests, which have been previously released on Mr. Senko, are still open in the upstream repository:

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

pip install --upgrade nitrate

There are comments.

django-chartit enhancement update

Version: django-chartit-master Released on: 2017-03-22 Severity: Low

Details

Django Chartit is a Django app that can be used to easily create charts from the data in your database. The charts are rendered using Highcharts and jQuery JavaScript libraries. Data in your database can be plotted as simple line charts, column charts, area charts, scatter plots, and many more chart types. Data can also be plotted as Pivot Charts where the data is grouped and/or pivoted by specific column(s).

Updated upstream is now available which adds couple of improvements.

Upstream changelog since 0.2.9

How to upgrade

This is an upstream release only. No updated packages are provided via private repositories on Mr. Senko!

There are comments.

Nitrate enhancement update

Version: nitrate-3.8.18.12 Released on: 2017-03-22 Severity: Low

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available which adds various enhancements and reduces technical debth. The main focus of this release is code refactoring, improved test coverage and enabling testing against multiple database backends.

Changelog since 3.8.18.10

Open upstream issues

The following issues and pull requests, which have been previously released on Mr. Senko, are still open in the upstream repository:

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

pip install --upgrade nitrate

There are comments.

Nitrate enhancement update

Version: nitrate-3.8.18.10 Released on: 2017-03-08 Severity: Low

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available which fixes several bugs and adds various enhancements.

Changelog since 3.8.18.09

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

pip install --upgrade nitrate

There are comments.

Nitrate bug-fix & enhancement update

Version: nitrate-3.8.18.09 Released on: 2017-02-28 Severity: High

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available which fixes several bugs and adds various enhancements.

Changelog since 3.8.18.08

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

pip install --upgrade nitrate

There are comments.

Nitrate enhancement update

Version: nitrate-3.8.18.08 Released on: 2017-02-21 Severity: High

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available that adds various enhancements.

Changelog since 3.8.18.07

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

There are comments.

Nitrate enhancement update

Version: nitrate-3.8.18.07 Released on: 2017-02-14 Severity: Medium

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available that adds various enhancements.

Changelog since 3.8.18.05

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

There are comments.

Nitrate enhancement update

Version: nitrate-3.8.18.05 Released on: 2017-01-31 Severity: Low

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available that adds various enhancements.

Changelog since 3.8.18.04

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

There are comments.

Nitrate bug fix and enhancement update

Version: nitrate-3.8.18.04 Released on: 2017-01-24

Details

Nitrate is an open source test plan, test run and test case management system. It has a lot of great features, such as Bugzilla and JIRA integration, QPID integration, fast test plan and runs search, powerful access control for each plan, run and case, and XMLRPC APIs.

Updated Nitrate package is now available that adds various enhancements and bug fixes.

Changelog

How to upgrade

Subscribe to Mr. Senko and configure your private PyPI repositories before upgrading!

There are comments.

Using private PyPI repositories

Once you have subscribed to Mr. Senko you will receive a repository URL from which to install package versions supported by Mr. Senko. The URL is of the form https://d1v12p11qcbqzw.cloudfront.net/YOUR-CUSTOMER-ID

You must keep this URL secret! You can install supported packaged by either command line:

pip install kiwitestpad --extra-index-url https://d1v12p11qcbqzw.cloudfront.net/YOUR-CUSTOMER-ID

or inside of your project by adding the following statement to requirements.txt:

--extra-index-url https://d1v12p11qcbqzw.cloudfront.net/YOUR-CUSTOMER-ID

You can also configure your ~/.pip/pip.conf file to look like this

[global]
; Extra index from Mr. Senko
extra-index-url = https://d1v12p11qcbqzw.cloudfront.net/YOUR-CUSTOMER-ID

Another possibility is to configure the private repository URL directly into setup.py:

setup(
    name='YourAppName',
    install_requires=[
        'strazar',
    ],
    dependency_links=[
        'https://d1v12p11qcbqzw.cloudfront.net/YOUR-CUSTOMER-ID',
    ],
)

And you're ready to seamlessly pip install private packages from Mr. Senko.

What is Mr. Senko?

Mr. Senko provides long term support for various open source libraries. We do bug fixes and feature development, improve testing and write documentation so you don't have to! Subscribe to Mr. Senko if you need faster response cycle for the open source components which you use.

There are comments.

What I've worked on in December 2016

Hello everyone, during December I've been working on several different projects from our supported Python software stack and also ventured into Ruby land.

Versions 0.2.3 and 0.2.4 of pelican-ab

pelican-ab is an A/B testing plugin for Pelican, the static site generator for Python. It allows you to encode experiments in your templates and renders the experiment selected by the AB_EXPERIMENT environment variable.

There were two versions released in December 2016 making it compatible with the newly released Pelican 3.7.0, adding more tests and fixing some minor bugs.

Version 0.2.8 of django-chartit

I have worked on a new version for django-chartit which adds support for model properties and raw SQL queries in charts. I've also done internal work for further refactoring but without anything concrete yet!

New extensions for pylint

I've worked on the new compare-to-empty-string extension for pylint. Using this extension the following snippet

if S != "":
    pass

if S == '':
    pass

will be flagged as problematic because it can be written in a more natural way:

if S:
    pass

if not S:
    pass

The extension will be disabled by default because empty string may be a valid value depending on the behavior of your program. I have also created a similar extension to flag integer comparisons against zero, see pylint#1243. While these may seem a bit extreme they are very useful to identify code which can be refactored to reduce comparisons when coupled with mutation testing!

New Rspec formatters

I've worked on two new formatters for Rspec:

Both add simple syntactic sugar to how Rspec output can be formatted and make it easier for debugging or sending off for further machine processing.

I hope you like my work and please subscribe to Mr. Senko if you need faster response cycle for the open source libraries you use.

There are comments.

Using model properties and raw SQL with django-chartit

django-chartit is a Django app that can be used to easily create charts from the data in your database. The charts are rendered using Highcharts and jQuery JavaScript libraries. Data in your database can be plotted as simple line charts, column charts, area charts, scatter plots, and many more chart types.

Few days ago we have released version 0.2.8 which includes support for model properties and raw SQL queries in your charts. This blog post will describe how to use them.

Using model properties

Sometimes it is convenient to calculate a value inside your models but not store it in the database. For example consider the following model

class City(models.Model):
    city = models.CharField(max_length=50)
    state = models.CharField(max_length=2)

    def region(self):
        return 'USA:%s' % self.city

You are not able to select the region "field" but you may use it as part of your chart terms as shown below

ds = DataPool(
        series=[{
            'options': {
                'source': SalesHistory.objects.only(
                            'bookstore__city', 'sale_qty'
                          )[:10],
            },
            'terms': [
                'bookstore__city__region',
                'sale_qty'
            ]
        }]
)

cht = Chart(
        datasource=ds,
        series_options=[{
            'options': {
                'type': 'column',
                'stacking': False,
                'stack': 0,
            },
            'terms': {
                'bookstore__city__region': [
                    'sale_qty'
                ]
            }},
        ],
        chart_options={
            'title': {
                'text': 'Sales reports'
            },
            'xAxis': {
                'title': {
                    'text': 'City'
                }
            }
        }
)

The full example, including source code and live charts is available at django-chartit/demoproject!

Using raw SQL queries

Django allows you to execute SQL queries directly. These will return objects in the form of RawQuerySet and can be used in the same way as any other QuerySet.

ds = DataPool(
        series=[{
            'options': {
                'source': MonthlyWeatherByCity.objects.raw(
                            "SELECT id, month, houston_temp, boston_temp "
                            "FROM demoproject_monthlyweatherbycity")
            },
            'terms': [
                'month',
                'houston_temp',
                'boston_temp'
            ]
        }]
)

You will have to select the primary key field and pay attention to field names as to avoid duplicates when performing JOIN operations. Otherwise there is no difference. Full examples, including source code and live charts are available at django-chartit/demoproject!

Support

At Mr. Senko we will do our best to accommodate every need and merge patches and feature requests as they come in. Should you need commercial support for this or other open source libraries please subscribe to Mr. Senko's support service!

There are comments.

New release pelican-ab 0.2.3

pelican-ab is an A/B testing plugin for Pelican, the static site generator. It allows you to encode experiments in your templates and renders the experiment selected by the AB_EXPERIMENT environment variable.

Today we are releasing version 0.2.3 as an urgent bug fix update handling internal changes in the latest version of Pelican. In previous versions Pelican used the JINJA_EXTENSIONS setting to configure additional Jinja2 modules. In version 3.7.0, released yesterday, JINJA_EXTENSIONS has been replaced with the JINJA_ENVIRONMENT setting. Version 0.2.3 of pelican-ab handles both cases and is able to work with older and newer versions of Pelican!

This backward-incompatible change in Pelican has been automatically detected by our monitoring tool Strazar, which proves the value of automatic testing against the latest versions of upstream dependencies!

Support

At Mr. Senko we will do our best to accommodate every need and merge patches and feature requests as they come in. Should you need commercial support for this or other open source libraries please subscribe to Mr. Senko's support service!

There are comments.

What I've worked on in November 2016

Hello everyone, during November I've been focusing on Cosmic Ray, pylint and django-chartit which are supported packages in our Python software stack.

The changes include

I hope you like my work and please subscribe to Mr. Senko if you need faster response cycle for the open source libraries you use.

There are comments.

Status Report for October 2016

Hello everyone, during October I've been focusing on Cosmic Ray which is a supported package of our Python software stack.

The changes include

All of my work this month was around visit_mutation_site() being able to generate multiple mutations at a single site. For example the code

a < b

can be mutated into:

a <= b
a is not b
a > b
... etc

Previously this was done using different mutation operators but now it is done using a single class and an index to the desired operator replacement. As a follow up other mutation operators had to be updated as well. As a result the code base is cleaner and easier to understand.

I hope you like my work and please subscribe to Mr. Senko if you need faster response cycle for the open source libraries you use.

There are comments.

Status Report for September 2016

Hello everyone, during September I've been focusing on Cosmic Ray which is a supported package of our Python software stack.

The changes include better error checking when running the test suite in Travis CI, fixes for some code smells and style updates, some Python 3.3 compatibility fixes, traceback fix for Python 3.4, new and-or replacement operators and internal refactoring.

During my work on and-or replacement operators it turned out that Cosmic Ray didn't support the notion of one operator producing multiple code mutations. This required refactoring of project internals and is now currently supported. As a follow up there are a couple more issues opened to clean up the existing code, mainly the comparisons replacement operators.

NOTE Cosmic Ray is still not compatible with Python 3.3 and will probably never be, despite my work. In cosmic_ray/importing.py we make use of importlib.machinery.ModuleSpec which was introduced in 3.4 and at this moment we don't want to backport and support this for Python 3.3. The rest of the code is 3.3 compatible though.

During September I have also worked on django-chartit v0.2.7 to fix a nasty recursion loop bug. The follow up of this bug is pylint #1109, which is now merged into master!

I hope you like my work and please subscribe to Mr. Senko if you need faster response cycle for the open source libraries you use.

There are comments.