90 lines
4.2 KiB
Python
Raw Normal View History

# 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.
from rally.verification.tempest import diff
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},
'test.zerofive': {'name': 'test.zerofive',
'output': 'test.zerofive',
'status': 'FAILED',
'time': 0.05},
'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',
'time': 0.666},
'test.seven': {'name': 'test.seven',
'output': 'test.seven',
'status': 'OK',
'time': 0.777}
}
diff_ = diff.Diff(results1, results2, 0)
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
assert diff_.to_csv() != ''
assert diff_.to_html() != ''
assert diff_.to_json() != ''