2014-10-24 23:09:17 -04:00
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
|
|
# not use this file except in compliance with the License. You may obtain
|
|
|
|
# a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
|
|
# License for the specific language governing permissions and limitations
|
|
|
|
# under the License.
|
2015-01-02 01:03:29 -08:00
|
|
|
from rally.verification.tempest import diff
|
2014-10-24 23:09:17 -04:00
|
|
|
from tests.unit import test
|
|
|
|
|
|
|
|
|
|
|
|
class DiffTestCase(test.TestCase):
|
|
|
|
|
|
|
|
def test_main(self):
|
|
|
|
results1 = {'test.NONE': {'name': 'test.NONE',
|
|
|
|
'output': 'test.NONE',
|
|
|
|
'status': 'SKIPPED',
|
|
|
|
'time': 0.000},
|
2014-11-20 16:04:15 -05:00
|
|
|
'test.zerofive': {'name': 'test.zerofive',
|
|
|
|
'output': 'test.zerofive',
|
|
|
|
'status': 'FAILED',
|
|
|
|
'time': 0.05},
|
2014-10-24 23:09:17 -04:00
|
|
|
'test.one': {'name': 'test.one',
|
|
|
|
'output': 'test.one',
|
|
|
|
'status': 'OK',
|
|
|
|
'time': 0.111},
|
|
|
|
'test.two': {'name': 'test.two',
|
|
|
|
'output': 'test.two',
|
|
|
|
'status': 'OK',
|
|
|
|
'time': 0.222},
|
|
|
|
'test.three': {'name': 'test.three',
|
|
|
|
'output': 'test.three',
|
|
|
|
'status': 'FAILED',
|
|
|
|
'time': 0.333},
|
|
|
|
'test.four': {'name': 'test.four',
|
|
|
|
'output': 'test.four',
|
|
|
|
'status': 'OK',
|
|
|
|
'time': 0.444},
|
|
|
|
'test.five': {'name': 'test.five',
|
|
|
|
'output': 'test.five',
|
|
|
|
'status': 'OK',
|
|
|
|
'time': 0.555}
|
|
|
|
}
|
|
|
|
|
|
|
|
results2 = {'test.one': {'name': 'test.one',
|
|
|
|
'output': 'test.one',
|
|
|
|
'status': 'FAIL',
|
|
|
|
'time': 0.1111},
|
|
|
|
'test.two': {'name': 'test.two',
|
|
|
|
'output': 'test.two',
|
|
|
|
'status': 'OK',
|
|
|
|
'time': 0.222},
|
|
|
|
'test.three': {'name': 'test.three',
|
|
|
|
'output': 'test.three',
|
|
|
|
'status': 'OK',
|
|
|
|
'time': 0.3333},
|
|
|
|
'test.four': {'name': 'test.four',
|
|
|
|
'output': 'test.four',
|
|
|
|
'status': 'FAIL',
|
|
|
|
'time': 0.4444},
|
|
|
|
'test.five': {'name': 'test.five',
|
|
|
|
'output': 'test.five',
|
|
|
|
'status': 'OK',
|
|
|
|
'time': 0.555},
|
|
|
|
'test.six': {'name': 'test.six',
|
|
|
|
'output': 'test.six',
|
|
|
|
'status': 'OK',
|
2014-11-20 16:04:15 -05:00
|
|
|
'time': 0.666},
|
|
|
|
'test.seven': {'name': 'test.seven',
|
|
|
|
'output': 'test.seven',
|
|
|
|
'status': 'OK',
|
|
|
|
'time': 0.777}
|
2014-10-24 23:09:17 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
diff_ = diff.Diff(results1, results2, 0)
|
2014-11-20 16:04:15 -05:00
|
|
|
assert len(diff_.diffs) == 10
|
|
|
|
assert len([test for test in diff_.diffs
|
|
|
|
if test['type'] == 'removed_test']) == 2
|
|
|
|
assert len([test for test in diff_.diffs
|
|
|
|
if test['type'] == 'new_test']) == 2
|
|
|
|
assert len([test for test in diff_.diffs
|
|
|
|
if test['type'] == 'value_changed']) == 6
|
2014-10-24 23:09:17 -04:00
|
|
|
assert diff_.to_csv() != ''
|
|
|
|
assert diff_.to_html() != ''
|
|
|
|
assert diff_.to_json() != ''
|