Bug #78962 unittest test_version_tokens fails on configuring server
Submitted: 26 Oct 2015 11:35 Modified: 3 Nov 2015 19:43
Reporter: Ingo Strüwing Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Fabric Severity:S3 (Non-critical)
Version:1.6.2 OS:Any
Assigned to: CPU Architecture:Any

[26 Oct 2015 11:35] Ingo Strüwing
Description:
======================================================================
FAIL: test_21_update_server_version_token (tests.test_version_tokens.Test01VersionTokens)
Test 21 update server version token.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/istruewi/git/fabric-master-bug22008092-r1/lib/tests/test_version_tokens.py", line 406, in test_21_update_server_version
    self.assertEqual(version_token_value, expect_vtoken_value)
AssertionError: None != 1

======================================================================
FAIL: test_22_set_server_version_token (tests.test_version_tokens.Test01VersionTokens)
Test 22 set server version token.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/istruewi/git/fabric-master-bug22008092-r1/lib/tests/test_version_tokens.py", line 435, in test_22_set_server_version_to
    _assert_vtoken_list(self, self.server1, ["test_22_vt=4711"])
  File "/home/istruewi/git/fabric-master-bug22008092-r1/lib/tests/test_version_tokens.py", line 59, in _assert_vtoken_list
    testcase.assertEqual(vtoken_list, expect_list)
AssertionError: Lists differ: ['test_22_vt=0'] != ['test_22_vt=4711']

First differing element 0:
test_22_vt=0
test_22_vt=4711

- ['test_22_vt=0']
?              ^

+ ['test_22_vt=4711']
?              ^^^^

The above failures happen, because the default status for a server is CONFIGURING, which does not count as an "active" status.

How to repeat:
Run unittests from current mysql-fabric master branch.

Suggested fix:
After instantiating a server, set its status to SPARE, SECONDARY, or PRIMARY, to make it an "active" server.
[3 Nov 2015 19:43] Philip Olson
Fixed as of the upcoming MySQL Fabric 1.6.3 release, and here's the changelog entry:

Some version token unit test values resulted in unexpected values. The
MySQLServer object is now instantiated with the default status of SPARE
instead of CONFIGURING, to account as an "active" status. 

In addition, setup_xmlrpc() was added to setUp() to initialize passwords,
thus allowing the tests to be run on their own.

Thank you for the bug report.